From 904cec3c4a329cf89fc3219d359239910d61f3f6 Mon Sep 17 00:00:00 2001 From: thing1 Date: Tue, 28 Jan 2025 09:14:32 +0000 Subject: init commit --- autoload/filetype/terraform.kak | 120 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 autoload/filetype/terraform.kak (limited to 'autoload/filetype/terraform.kak') diff --git a/autoload/filetype/terraform.kak b/autoload/filetype/terraform.kak new file mode 100644 index 0000000..3ad975a --- /dev/null +++ b/autoload/filetype/terraform.kak @@ -0,0 +1,120 @@ +# Terraform configuration language +# https://www.terraform.io/docs/configuration/ + +# Detection +# ‾‾‾‾‾‾‾‾‾ + +hook global BufCreate .*[.](tf|tfvars) %{ + set-option buffer filetype terraform +} + + +# Initialization +# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾ + +hook global WinSetOption filetype=terraform %{ + require-module terraform + + set-option window static_words %opt{terraform_static_words} + + hook -once -always window WinSetOption filetype=.* %{ remove-hooks window terraform-.+ } +} + + +hook -group terraform-highlight global WinSetOption filetype=terraform %{ + add-highlighter window/terraform ref terraform + hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/terraform } +} + + +provide-module terraform %§ + +# Highlighters +# ‾‾‾‾‾‾‾‾‾‾‾‾ + +add-highlighter shared/terraform regions +add-highlighter shared/terraform/code default-region group + +add-highlighter shared/terraform/comment1 region '#' '$' fill comment +add-highlighter shared/terraform/comment2 region '\\' '$' fill comment +add-highlighter shared/terraform/comment3 region /\* \*/ fill comment + +# Strings can contain interpolated terraform expressions, which can contain +# strings. Currently, we cannot support nesting of the same type of delimiter, +# so instead we render the full interpolation as a value (otherwise, it +# looks bad). +# See https://github.com/mawww/kakoune/issues/1670 +add-highlighter shared/terraform/string region '"' '(?