You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current version of the Terraform language grammar contains a list of built-in functions. However, as we don't know which version of Terraform a user uses, it is highly possible that the list is either incomplete or contains removed functions.
To improve the syntax highlighting of built-in functions, we should remove the static list from the grammar file and use semantic token highlighting via the LS. The language server has a better understanding of which Terraform version is used and which functions are available in this version.
The text was updated successfully, but these errors were encountered:
Just wanted to add (as @jpogran proposed) that in addition to semantic token highlighting in LS we could also consider generating the grammar from a list of functions which would provide convenient way of highlighting correct function names.
This means however that we'd need to - (1) have the list of functions accessible somewhere (see hashicorp/terraform-ls#37 and/or TF-418), and (2) always reflect only the latest version of Terraform language in the grammar.
We could do something similar for variable types - with the same caveats as above.
That is not to propose this needs to be addressed together but just to add some context for posterity.
The current version of the Terraform language grammar contains a list of built-in functions. However, as we don't know which version of Terraform a user uses, it is highly possible that the list is either incomplete or contains removed functions.
https://github.com/hashicorp/vscode-terraform/blob/562c7cd7b27b5599b4fb1d4ae21b4fc63639dd91/syntaxes/terraform.tmGrammar.json#L750
To improve the syntax highlighting of built-in functions, we should remove the static list from the grammar file and use semantic token highlighting via the LS. The language server has a better understanding of which Terraform version is used and which functions are available in this version.
The text was updated successfully, but these errors were encountered: