[x] Ensure you have latest version of plugin installed
[x] Search for possible issue duplicates
Installation details
(all irrelevant but for completeness' sake)
IDE version: 2021.3.2
- [x] Something something can't do a collapsible element that's a checkbox apparently, but here's the info
```
IntelliJ IDEA 2021.3.2 (Ultimate Edition)
Build #IU-213.6777.52, built on January 28, 2022
Licensed to [REDACTED]
You have a perpetual fallback license for this version.
Subscription is active until January 3, 2023.
Runtime version: 11.0.13+7-b1751.25 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11 10.0
GC: Shenandoah Pauses, Shenandoah Cycles
Memory: 16384M
Cores: 32
Registry:
ide.balloon.shadow.size=0
ide.images.show.chessboard=true
Non-Bundled Plugins:
some.awesome (1.14)
ski.chrzanow.foldableprojectview (1.1.1)
rocks.blackcat.vcl (0.7.2)
org.toml.lang (213.5744.224)
org.jetbrains.plugins.go-template (213.6777.8)
org.jetbrains.plugins.go (213.6777.52)
org.intellij.plugins.hcl (0.7.15)
net.vektah.codeglance (1.5.4)
name.kropp.intellij.makefile (213.5744.224)
dev.meanmail.plugin.nginx-intellij-plugin-pro (2021.4.2.213)
com.jetbrains.plugins.ini4idea (213.5744.190)
com.taff.plugin.orchide (2021.1.3.0-2020.1)
com.intellij.nativeDebug (213.6461.6)
org.openpolicyagent.opa-idea-plugin (v0.7.0-212)
org.jetbrains.idea.grammar (2021.1.2)
org.intellij.plugins.postcss (213.5744.190)
com.databricks (1.1)
mobi.hsz.idea.gitignore (4.3.0)
com.intellij.kubernetes (213.6777.8)
CheckStyle-IDEA (5.61.1)
org.jetbrains.plugins.vue (213.6777.8)
org.rust.lang (0.4.165.4438-213)
deno (213.6461.6)
com.jetbrains.lang.ejs (213.5744.190)
com.intellij.plugins.html.instantEditing (213.5744.122)
com.jetbrains.php (213.6777.58)
org.jetbrains.plugins.phpstorm-remote-interpreter (213.5744.125)
org.jetbrains.plugins.phpstorm-docker (213.5744.125)
de.timo_reymann.intellij-mjml-support (2.0.0)
com.jetbrains.twig (213.5744.224)
Pythonid (213.6777.52)
ru.meanmail.plugin.requirements (2022.3-2021.3)
Kotlin: 213-1.6.10-release-961-IJ6777.52
```
[x] intellij-hcl plugin version: 0.7.15
[x] Terraform version: v1.1.6
Terraform Configuration Files
None. In this case, I am working through using HCL2 syntax for Packer.
You can find more about the block types etc at https://www.packer.io/docs/templates/hcl_templates but it's pretty much still just HCL. Block names are obviously different (ie terraform {} -> packer {}) but it's the same design overall.
Exception
None
Expected Behavior
I would expect this plugin to have similar syntax highlighting and autocompletion for non-Packer-specific HCL.
That is, I understand that Packer isn't nearly as ubiquitous as Terraform (easy to see when this is seemingly the first issue here mentioning it 😅), so it's understandable that this plugin doesn't offer first class support for it and niceties like plugin types inference etc unless it was trivial to do (ie literally drop-in compatible with the terraform plugins).
However, assuming worst-case scenario, it'd be great to have the following features
Currently easy to replicate with file type overrides and similar:
*.pkr.hcl files are treated as *.tf
*.pkrvars.hcl files are treated as *.tfvars
Packer-specific blocks recognized (ie without necessarily adding in typing, but just to get rid of the unknown block type warning)
(If possible/easy/worth it) Packer support:
Vanilla Packer syntax checks on the fields as per Hashicorp's doc
Packer plugin types detection and syntax checks
Actual Behavior
A file type override to "Terraform Config" is more or less mandatory for comfortable editing, and generally works surprisingly well.
e.g. see the following (first is as "bare" HCL file, second is as Terraform config):
Prerequisites
Installation details
(all irrelevant but for completeness' sake)
IDE version: 2021.3.2
- [x] Something something can't do a collapsible element that's a checkbox apparently, but here's the info ``` IntelliJ IDEA 2021.3.2 (Ultimate Edition) Build #IU-213.6777.52, built on January 28, 2022 Licensed to [REDACTED] You have a perpetual fallback license for this version. Subscription is active until January 3, 2023. Runtime version: 11.0.13+7-b1751.25 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11 10.0 GC: Shenandoah Pauses, Shenandoah Cycles Memory: 16384M Cores: 32 Registry: ide.balloon.shadow.size=0 ide.images.show.chessboard=true Non-Bundled Plugins: some.awesome (1.14) ski.chrzanow.foldableprojectview (1.1.1) rocks.blackcat.vcl (0.7.2) org.toml.lang (213.5744.224) org.jetbrains.plugins.go-template (213.6777.8) org.jetbrains.plugins.go (213.6777.52) org.intellij.plugins.hcl (0.7.15) net.vektah.codeglance (1.5.4) name.kropp.intellij.makefile (213.5744.224) dev.meanmail.plugin.nginx-intellij-plugin-pro (2021.4.2.213) com.jetbrains.plugins.ini4idea (213.5744.190) com.taff.plugin.orchide (2021.1.3.0-2020.1) com.intellij.nativeDebug (213.6461.6) org.openpolicyagent.opa-idea-plugin (v0.7.0-212) org.jetbrains.idea.grammar (2021.1.2) org.intellij.plugins.postcss (213.5744.190) com.databricks (1.1) mobi.hsz.idea.gitignore (4.3.0) com.intellij.kubernetes (213.6777.8) CheckStyle-IDEA (5.61.1) org.jetbrains.plugins.vue (213.6777.8) org.rust.lang (0.4.165.4438-213) deno (213.6461.6) com.jetbrains.lang.ejs (213.5744.190) com.intellij.plugins.html.instantEditing (213.5744.122) com.jetbrains.php (213.6777.58) org.jetbrains.plugins.phpstorm-remote-interpreter (213.5744.125) org.jetbrains.plugins.phpstorm-docker (213.5744.125) de.timo_reymann.intellij-mjml-support (2.0.0) com.jetbrains.twig (213.5744.224) Pythonid (213.6777.52) ru.meanmail.plugin.requirements (2022.3-2021.3) Kotlin: 213-1.6.10-release-961-IJ6777.52 ```0.7.15
v1.1.6
Terraform Configuration Files
None. In this case, I am working through using HCL2 syntax for Packer.
You can find more about the block types etc at https://www.packer.io/docs/templates/hcl_templates but it's pretty much still just HCL. Block names are obviously different (ie
terraform {}
->packer {}
) but it's the same design overall.Exception
None
Expected Behavior
I would expect this plugin to have similar syntax highlighting and autocompletion for non-Packer-specific HCL.
That is, I understand that Packer isn't nearly as ubiquitous as Terraform (easy to see when this is seemingly the first issue here mentioning it 😅), so it's understandable that this plugin doesn't offer first class support for it and niceties like plugin types inference etc unless it was trivial to do (ie literally drop-in compatible with the terraform plugins).
However, assuming worst-case scenario, it'd be great to have the following features
Currently easy to replicate with file type overrides and similar:
*.pkr.hcl
files are treated as*.tf
*.pkrvars.hcl
files are treated as*.tfvars
unknown block type
warning)(If possible/easy/worth it) Packer support:
Actual Behavior
A file type override to "Terraform Config" is more or less mandatory for comfortable editing, and generally works surprisingly well.
e.g. see the following (first is as "bare" HCL file, second is as Terraform config):
Steps to Reproduce
Write any Packer manifest.