azapi-lsp

command module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2022 License: MPL-2.0 Imports: 5 Imported by: 0

README

Terraform AzApi Provider Language Server

Experimental version of terraform-provider-azapi language server.

What is LSP

Read more about the Language Server Protocol at https://microsoft.github.io/language-server-protocol/

Introduction

This project only supports completion/hover/diagnostics for terraform-provider-azapi, not targeting support all language features for HCL or Terraform. To get the best user experience, it's recommended to use it with language server for Terraform.

Features

  • Completion of azapi resources
  • Completion of allowed azure resource types when input type in azapi resources
  • Completion of allowed azure resource properties when input body in azapi resources, limitation: it only works when use jsonencode function to build the JSON
  • Better completion for discriminated object
  • Completion for all required properties
  • Show hint when hover on azapi resources
  • Show diagnostics for properties defined inside body

Installation

  1. Clone this project to local
  2. Run go install under the project folder.

Usage

The most reasonable way you will interact with the language server is through a client represented by an IDE, or a plugin of an IDE.

VSCode extension: azapi-vscode

Credits

We wish to thank HashiCorp for the use of some MPLv2-licensed code from their open source project terraform-ls.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
cmd
filesystem
Package filesystem implements a virtual filesystem which reflects the needs of both the language server and the HCL parser.
Package filesystem implements a virtual filesystem which reflects the needs of both the language server and the HCL parser.
lsp
protocol
Package protocol contains data types and code for LSP jsonrpcs generated automatically from vscode-languageserver-node commit: 2645fb54ea1e764aff71dee0ecc8aceff3aabf56 last fetched Tue May 18 2021 08:24:56 GMT-0400 (Eastern Daylight Time)
Package protocol contains data types and code for LSP jsonrpcs generated automatically from vscode-languageserver-node commit: 2645fb54ea1e764aff71dee0ecc8aceff3aabf56 last fetched Tue May 18 2021 08:24:56 GMT-0400 (Eastern Daylight Time)
uri

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL