Add language support for persistent library syntax (#7261)
This commit is contained in:
parent
c33795e770
commit
7c338429f8
6 changed files with 62 additions and 0 deletions
|
@ -59,6 +59,7 @@
|
|||
| graphql | ✓ | | | |
|
||||
| hare | ✓ | | | |
|
||||
| haskell | ✓ | ✓ | | `haskell-language-server-wrapper` |
|
||||
| haskell-persistent | ✓ | | | |
|
||||
| hcl | ✓ | | ✓ | `terraform-ls` |
|
||||
| heex | ✓ | ✓ | | `elixir-ls` |
|
||||
| hosts | ✓ | | | |
|
||||
|
|
|
@ -955,6 +955,18 @@ indent = { tab-width = 2, unit = " " }
|
|||
name = "haskell"
|
||||
source = { git = "https://github.com/tree-sitter/tree-sitter-haskell", rev = "98fc7f59049aeb713ab9b72a8ff25dcaaef81087" }
|
||||
|
||||
[[language]]
|
||||
name = "haskell-persistent"
|
||||
scope = "source.persistentmodels"
|
||||
file-types = ["persistentmodels"]
|
||||
roots = []
|
||||
comment-token = "--"
|
||||
indent = { tab-width = 2, unit = " " }
|
||||
|
||||
[[grammar]]
|
||||
name = "haskell-persistent"
|
||||
source = { git = "https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent", rev = "58a6ccfd56d9f1de8fb9f77e6c42151f8f0d0f3d" }
|
||||
|
||||
[[language]]
|
||||
name = "purescript"
|
||||
scope = "source.purescript"
|
||||
|
|
3
runtime/queries/haskell-persistent/folds.scm
Normal file
3
runtime/queries/haskell-persistent/folds.scm
Normal file
|
@ -0,0 +1,3 @@
|
|||
[
|
||||
(entity_definition)
|
||||
] @fold
|
37
runtime/queries/haskell-persistent/highlights.scm
Normal file
37
runtime/queries/haskell-persistent/highlights.scm
Normal file
|
@ -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
|
1
runtime/queries/haskell-persistent/locals.scm
Normal file
1
runtime/queries/haskell-persistent/locals.scm
Normal file
|
@ -0,0 +1 @@
|
|||
(fields (variable)) @local.definition
|
|
@ -1,6 +1,14 @@
|
|||
((comment) @injection.content
|
||||
(#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)
|
||||
|
|
Loading…
Add table
Reference in a new issue