This is an old revision of the document!
Table of Contents
HCL Filetype (Terraform / openTofu)
HCL is a file format used to by Terraform and OpenTofu.
This page describe how to add HCL file syntax highlighting to Geany.
Step 1)
Add the following lines to ~/.config/geany/filetype_extensions.conf under the respective sections [Extensions] and [Groups]
[Extensions] HCL=*.tf;*.tfvars;*.hcl;
Step 2)
Save the configuration file below in your Geany filetype definition files config directory, e.g. ~/.config/geany/filedefs/filetypes.HCL.conf
- filetypes.HCL.conf
# For complete documentation of this file, please see Geany's main documentation [styling=C] preprocessor=comment [keywords] # all items must be in one line primary=data local locals module provider resource terraform var [lexer_properties=C] styling.within.preprocessor=0 [settings] # default extension used when saving files extension=tf lexer_filetype=C tag_parser=Terraform # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# #comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) #context_action_cmd= [indentation] width=2 # 0 is spaces, 1 is tabs, 2 is tab & spaces type=0 [build-menu] FT_00_LB=Plan FT_00_CM=terraform plan -no-color FT_00_WD=%d EX_00_LB=Apply EX_00_CM=terraform apply EX_00_WD=%d EX_01_LB=Destroy EX_01_CM=terraform destroy EX_01_WD=%d FT_01_LB=Init FT_01_CM=terraform init -no-color FT_01_WD=%d
Step 3)
If you are using the Geany-LSP plugin (https://plugins.geany.org/lsp.html) for additional editing assistance, you can also use the Terraform language server. The Geany-LSP plugin already includes the corresponding configuration for the filetype HCL.
You only need to install the language server from https://github.com/hashicorp/terraform-ls or https://github.com/opentofu/opentofu-ls.