diff options
| author | Jonas Cosandey <jonas.cosandey@adfinis.com> | 2023-07-20 13:39:32 +0200 |
|---|---|---|
| committer | Jonas Cosandey <jonas.cosandey@adfinis.com> | 2024-11-13 15:27:06 +0100 |
| commit | b3de01ddd753b24efc6131b72da860483bd9b2e5 (patch) | |
| tree | 8dd4b125f254c7f2cd52922ee9fabc51139b6bd5 | |
| parent | d86e505fad397251a8a618c545a7d78f43a70a34 (diff) | |
Add filetype for ember js .gjs and .gts files
| -rw-r--r-- | rc/filetype/gjs.kak | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/rc/filetype/gjs.kak b/rc/filetype/gjs.kak new file mode 100644 index 00000000..40cdab00 --- /dev/null +++ b/rc/filetype/gjs.kak @@ -0,0 +1,65 @@ +# https://github.com/ember-template-imports/ember-template-imports +# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ + +# Detection +# ‾‾‾‾‾‾‾‾‾ + +hook global BufCreate .*[.](gjs) %{ + set-option buffer filetype gjs +} + +hook global BufCreate .*[.](gts) %{ + set-option buffer filetype gts +} + +# Initialization +# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾ + +hook global WinSetOption filetype=(gjs|gts) %{ + require-module javascript + + hook window ModeChange pop:insert:.* -group "%val{hook_param_capture_1}-trim-indent" javascript-trim-indent + hook window InsertChar .* -group "%val{hook_param_capture_1}-indent" javascript-indent-on-char + hook window InsertChar \n -group "%val{hook_param_capture_1}-insert" javascript-insert-on-new-line + hook window InsertChar \n -group "%val{hook_param_capture_1}-indent" javascript-indent-on-new-line + + hook -once -always window WinSetOption filetype=.* " + remove-hooks window %val{hook_param_capture_1}-.+ + " +} + +hook -group gjs-highlight global WinSetOption filetype=gjs %{ + require-module gjs + add-highlighter window/gjs ref gjs + hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/gjs } +} + +hook -group gts-highlight global WinSetOption filetype=gts %{ + require-module gts + add-highlighter window/gts ref gts + hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/gts } +} + +# Modules + +provide-module gjs %{ + require-module javascript + require-module hbs + require-module html + maybe-add-hbs-to-html + + add-highlighter "shared/gjs" regions + add-highlighter "shared/gjs/" default-region ref javascript + add-highlighter "shared/gjs/hbs" region '<template>' '</template>' ref html +} + +provide-module gts %{ + require-module javascript + require-module hbs + require-module html + maybe-add-hbs-to-html + + add-highlighter "shared/gts" regions + add-highlighter "shared/gts/" default-region ref typescript + add-highlighter "shared/gts/hbs" region '<template>' '</template>' ref html +} |
