|
32 | 32 | ;; terraform-lsp
|
33 | 33 |
|
34 | 34 | (defgroup lsp-terraform nil
|
35 |
| - "LSP support for Terraform, using terraform-lsp" |
| 35 | + "LSP support for Terraform, using terraform-lsp." |
36 | 36 | :group 'lsp-mode
|
37 | 37 | :link '(url-link "https://github.com/juliosueiras/terraform-lsp")
|
38 | 38 | :package-version `(lsp-mode . "6.2"))
|
@@ -96,6 +96,24 @@ language server."
|
96 | 96 | :type 'boolean
|
97 | 97 | :package-version '(lsp-mode . "8.0.1"))
|
98 | 98 |
|
| 99 | +(defcustom lsp-terraform-ls-validate-on-save nil |
| 100 | + "Enable validating the current open file on save. |
| 101 | +
|
| 102 | +This is an experimental feature provided by the language server." |
| 103 | + :group 'lsp-terraform-ls |
| 104 | + :type 'boolean |
| 105 | + :package-version '(lsp-mode . "8.0.1")) |
| 106 | + |
| 107 | +(defcustom lsp-terraform-ls-prefill-required-fields nil |
| 108 | + "Enable completion of required fields. |
| 109 | +
|
| 110 | +Enable autocompletion for required fields when completing |
| 111 | +Terraform blocks. This is an experimental feature provided by the |
| 112 | +language server." |
| 113 | + :group 'lsp-terraform-ls |
| 114 | + :type 'boolean |
| 115 | + :package-version '(lsp-mode . "8.0.1")) |
| 116 | + |
99 | 117 | (defcustom lsp-terraform-ls-providers-position-params nil
|
100 | 118 | "The optional providers tree position params.
|
101 | 119 | Defaults to side following treemacs default."
|
@@ -128,6 +146,11 @@ Defaults to side following treemacs default."
|
128 | 146 | (when lsp-terraform-ls-enable-show-reference
|
129 | 147 | '((experimental . ((showReferencesCommandId . "client.showReferences"))))))
|
130 | 148 |
|
| 149 | +(defun lsp-terraform-ls--init-options () |
| 150 | + "Construct initialization options for the lanague server." |
| 151 | + `((experimentalFeatures . ((validateOnSave . ,(lsp-json-bool lsp-terraform-ls-validate-on-save)) |
| 152 | + (prefillRequiredFields . ,(lsp-json-bool lsp-terraform-ls-prefill-required-fields)))))) |
| 153 | + |
131 | 154 | (defcustom lsp-terraform-semantic-token-faces
|
132 | 155 | '(("namespace" . lsp-face-semhl-namespace)
|
133 | 156 | ("type" . lsp-face-semhl-type)
|
@@ -209,6 +232,7 @@ Defaults to side following treemacs default."
|
209 | 232 | :discard-default-types t
|
210 | 233 | :modifiers ,lsp-terraform-semantic-token-modifier-faces
|
211 | 234 | :types ,lsp-terraform-semantic-token-faces)
|
| 235 | + :initialization-options (lsp-terraform-ls--init-options) |
212 | 236 | :custom-capabilities (lsp-terraform-ls--custom-capabilities)))
|
213 | 237 |
|
214 | 238 | (defun lsp-terraform-ls-validate ()
|
|
0 commit comments