diff --git a/rc/filetype/graphql.kak b/rc/filetype/graphql.kak index 5cb52464..7ac16c07 100644 --- a/rc/filetype/graphql.kak +++ b/rc/filetype/graphql.kak @@ -4,7 +4,7 @@ # Detection # ‾‾‾‾‾‾‾‾‾ -hook global BufCreate .*[.](graphql) %{ +hook global BufCreate .*[.](graphqls?) %{ set-option buffer filetype graphql } @@ -27,22 +27,47 @@ hook -group graphql-highlight global WinSetOption filetype=graphql %{ } -provide-module graphql %( +provide-module graphql %§ # Highlighters # ‾‾‾‾‾‾‾‾‾‾‾‾ add-highlighter shared/graphql regions add-highlighter shared/graphql/code default-region group -add-highlighter shared/graphql/string region '"' (?!)' bang:operator +add-highlighter shared/graphql/object/field/assignment regex '=' 0:operator + +# Keywords +add-highlighter shared/graphql/code/top-level regex '\bschema\b' 0:keyword +add-highlighter shared/graphql/code/keywords regex '\b(?enum|fragment|input|implements|interface|mutation|on|query|scalar|subscription|type|union)\h+(?:[A-Za-z]\w*)' name:keyword + +# Types +add-highlighter shared/graphql/object/field/scalars regex \b(Boolean|Float|ID|Int|String)\b 0:type + +# Operators +add-highlighter shared/graphql/object/field/expand-fragment regex '\.\.\.(?=\w)' 0:operator # Commands # ‾‾‾‾‾‾‾‾ @@ -72,4 +97,4 @@ define-command -hidden graphql-indent-on-new-line %< > > -) +§