diff options
author | Borys Lykah | 2023-07-09 17:17:01 +0000 |
---|---|---|
committer | GitHub | 2023-07-09 17:17:01 +0000 |
commit | 7c338429f845315fb276ff482f91b94b3102dbd8 (patch) | |
tree | 0b18cb105e4552c0594dc206e275335e3c482440 /runtime | |
parent | c33795e770808f11c975f30848067ce1c7ee85be (diff) |
Add language support for persistent library syntax (#7261)
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/queries/haskell-persistent/folds.scm | 3 | ||||
-rw-r--r-- | runtime/queries/haskell-persistent/highlights.scm | 37 | ||||
-rw-r--r-- | runtime/queries/haskell-persistent/locals.scm | 1 | ||||
-rw-r--r-- | runtime/queries/haskell/injections.scm | 8 |
4 files changed, 49 insertions, 0 deletions
diff --git a/runtime/queries/haskell-persistent/folds.scm b/runtime/queries/haskell-persistent/folds.scm new file mode 100644 index 00000000..ac04ad4a --- /dev/null +++ b/runtime/queries/haskell-persistent/folds.scm @@ -0,0 +1,3 @@ +[ + (entity_definition) +] @fold diff --git a/runtime/queries/haskell-persistent/highlights.scm b/runtime/queries/haskell-persistent/highlights.scm new file mode 100644 index 00000000..d6358578 --- /dev/null +++ b/runtime/queries/haskell-persistent/highlights.scm @@ -0,0 +1,37 @@ +;; ---------------------------------------------------------------------------- +;; Literals and comments + +(integer) @constant.numeric.integer +(float) @constant.numeric.float +(char) @constant.character +(string) @string +(attribute_name) @attribute +(attribute_exclamation_mark) @attribute + +(con_unit) @constant.builtin ; unit, as in () + +(comment) @comment + +;; ---------------------------------------------------------------------------- +;; Keywords, operators, includes + +[ + "Id" + "Primary" + "Foreign" + "deriving" +] @keyword + +"=" @operator + +;; ---------------------------------------------------------------------------- +;; Functions and variables + +(variable) @variable + +;; ---------------------------------------------------------------------------- +;; Types + +(type) @type + +(constructor) @constructor diff --git a/runtime/queries/haskell-persistent/locals.scm b/runtime/queries/haskell-persistent/locals.scm new file mode 100644 index 00000000..3ffb01a1 --- /dev/null +++ b/runtime/queries/haskell-persistent/locals.scm @@ -0,0 +1 @@ +(fields (variable)) @local.definition diff --git a/runtime/queries/haskell/injections.scm b/runtime/queries/haskell/injections.scm index 788b8b8c..5ee3478b 100644 --- a/runtime/queries/haskell/injections.scm +++ b/runtime/queries/haskell/injections.scm @@ -2,5 +2,13 @@ (#set! injection.language "comment")) (quasiquote + (quoter) @_quoter + ((quasiquote_body) @injection.content + (#match? @_quoter "(persistWith|persistLowerCase|persistUpperCase)") + (#set! injection.language "haskell-persistent") + ) +) + +(quasiquote (quoter) @injection.language (quasiquote_body) @injection.content) |