diff options
Diffstat (limited to 'helix-22.03-x86_64-windows/runtime/queries/rescript')
3 files changed, 202 insertions, 0 deletions
diff --git a/helix-22.03-x86_64-windows/runtime/queries/rescript/highlights.scm b/helix-22.03-x86_64-windows/runtime/queries/rescript/highlights.scm new file mode 100644 index 0000000..a9cbeb5 --- /dev/null +++ b/helix-22.03-x86_64-windows/runtime/queries/rescript/highlights.scm @@ -0,0 +1,178 @@ +(comment) @comment + +; Identifiers +;------------ + +; Escaped identifiers like \"+." +((value_identifier) @function.macro + (#match? @function.macro "^\\.*$")) + +[ +  (type_identifier) +  (unit_type) +  "list" +] @type + +[ +  (variant_identifier) +  (polyvar_identifier) +] @constant + +(property_identifier) @variable.other.member +(module_identifier) @namespace + +(jsx_identifier) @tag +(jsx_attribute (property_identifier) @variable.parameter) + +; Parameters +;---------------- + +(list_pattern (value_identifier) @variable.parameter) +(spread_pattern (value_identifier) @variable.parameter) + +; String literals +;---------------- + +[ +  (string) +  (template_string) +] @string + +(template_substitution +  "${" @punctuation.bracket +  "}" @punctuation.bracket) @embedded + +(character) @constant.character +(escape_sequence) @constant.character.escape + +; Other literals +;--------------- + +[ +  (true) +  (false) +] @constant.builtin + +(number) @constant.numeric +(polyvar) @constant +(polyvar_string) @constant + +; Functions +;---------- + +[ + (formal_parameters (value_identifier)) + (labeled_parameter (value_identifier)) +] @variable.parameter + +(function parameter: (value_identifier) @variable.parameter) + +; Meta +;----- + +[ + "@" + "@@" + (decorator_identifier) +] @label + +(extension_identifier) @keyword +("%") @keyword + +; Misc +;----- + +(subscript_expression index: (string) @variable.other.member) +(polyvar_type_pattern "#" @constant) + +[ +  ("include") +  ("open") +] @keyword + +[ +  "as" +  "export" +  "external" +  "let" +  "module" +  "mutable" +  "private" +  "rec" +  "type" +  "and" +] @keyword + +[ +  "if" +  "else" +  "switch" +] @keyword + +[ +  "exception" +  "try" +  "catch" +  "raise" +] @keyword + +[ +  "." +  "," +  "|" +] @punctuation.delimiter + +[ +  "++" +  "+" +  "+." +  "-" +  "-." +  "*" +  "*." +  "/" +  "/." +  "<" +  "<=" +  "==" +  "===" +  "!" +  "!=" +  "!==" +  ">" +  ">=" +  "&&" +  "||" +  "=" +  ":=" +  "->" +  "|>" +  ":>" +  (uncurry) +] @operator + +[ +  "(" +  ")" +  "{" +  "}" +  "[" +  "]" +] @punctuation.bracket + +(polyvar_type +  [ +   "[" +   "[>" +   "[<" +   "]" +  ] @punctuation.bracket) + +[ +  "~" +  "?" +  "=>" +  "..." +] @punctuation + +(ternary_expression ["?" ":"] @operator) diff --git a/helix-22.03-x86_64-windows/runtime/queries/rescript/injections.scm b/helix-22.03-x86_64-windows/runtime/queries/rescript/injections.scm new file mode 100644 index 0000000..201cce7 --- /dev/null +++ b/helix-22.03-x86_64-windows/runtime/queries/rescript/injections.scm @@ -0,0 +1,8 @@ +((comment) @injection.content + (#set! injection.language "comment")) + +((raw_js) @injection.content + (#set! injection.language "javascript")) + +((raw_gql) @injection.content + (#set! injection.language "graphql")) diff --git a/helix-22.03-x86_64-windows/runtime/queries/rescript/textobjects.scm b/helix-22.03-x86_64-windows/runtime/queries/rescript/textobjects.scm new file mode 100644 index 0000000..fa1c4ff --- /dev/null +++ b/helix-22.03-x86_64-windows/runtime/queries/rescript/textobjects.scm @@ -0,0 +1,16 @@ +; Classes (modules) +;------------------ + +(module_declaration definition: ((_) @class.inside)) @class.around + +; Functions +;---------- + +(function body: (_) @function.inside) @function.around + +; Comments +;--------- + +(comment) @comment.inside + +(comment)+ @comment.around  | 
