mirror of
https://github.com/helix-editor/helix
synced 2024-11-10 10:34:45 +01:00
feat(prql): add prql support (#6126)
This commit is contained in:
parent
5c716af7a2
commit
2bd8bc8d84
@ -104,6 +104,7 @@
|
||||
| prisma | ✓ | | | `prisma-language-server` |
|
||||
| prolog | | | | `swipl` |
|
||||
| protobuf | ✓ | | ✓ | |
|
||||
| prql | ✓ | | | |
|
||||
| purescript | ✓ | | | `purescript-language-server` |
|
||||
| python | ✓ | ✓ | ✓ | `pylsp` |
|
||||
| qml | ✓ | | ✓ | `qmlls` |
|
||||
|
@ -2208,6 +2208,19 @@ indent = { tab-width = 2, unit = " " }
|
||||
name = "yuck"
|
||||
source = { git = "https://github.com/Philipp-M/tree-sitter-yuck", rev = "9e97da5773f82123a8c8cccf8f7e795d140ed7d1" }
|
||||
|
||||
[[language]]
|
||||
name = "prql"
|
||||
scope = "source.prql"
|
||||
injection-regex = "prql"
|
||||
file-types = ["prql"]
|
||||
roots = []
|
||||
comment-token = "#"
|
||||
indent = { tab-width = 4, unit = " " }
|
||||
|
||||
[[grammar]]
|
||||
name = "prql"
|
||||
source = { git = "https://github.com/PRQL/tree-sitter-prql", rev = "3f27cac466f030ee7d985d91eba5470e01dd21ea" }
|
||||
|
||||
[[language]]
|
||||
name = "po"
|
||||
scope = "source.po"
|
||||
|
136
runtime/queries/prql/highlights.scm
Normal file
136
runtime/queries/prql/highlights.scm
Normal file
@ -0,0 +1,136 @@
|
||||
[
|
||||
(keyword_from)
|
||||
(keyword_filter)
|
||||
(keyword_derive)
|
||||
(keyword_group)
|
||||
(keyword_aggregate)
|
||||
(keyword_sort)
|
||||
(keyword_take)
|
||||
(keyword_window)
|
||||
(keyword_join)
|
||||
(keyword_select)
|
||||
(keyword_switch)
|
||||
(keyword_append)
|
||||
(keyword_remove)
|
||||
(keyword_intersect)
|
||||
(keyword_rolling)
|
||||
(keyword_rows)
|
||||
(keyword_expanding)
|
||||
(keyword_let)
|
||||
(keyword_prql)
|
||||
(keyword_from_text)
|
||||
] @keyword
|
||||
|
||||
(literal) @string
|
||||
|
||||
(assignment
|
||||
alias: (field) @variable.other.member)
|
||||
|
||||
alias: (identifier) @variable.other.member
|
||||
|
||||
(f_string) @string.special
|
||||
(s_string) @string.special
|
||||
|
||||
(comment) @comment
|
||||
|
||||
(keyword_func) @keyword.function
|
||||
|
||||
(function_call
|
||||
(identifier) @function)
|
||||
|
||||
[
|
||||
"+"
|
||||
"-"
|
||||
"*"
|
||||
"/"
|
||||
"="
|
||||
"=="
|
||||
"<"
|
||||
"<="
|
||||
"!="
|
||||
">="
|
||||
">"
|
||||
"->"
|
||||
(bang)
|
||||
] @operator
|
||||
|
||||
[
|
||||
"("
|
||||
")"
|
||||
"["
|
||||
"]"
|
||||
] @punctuation.bracket
|
||||
|
||||
[
|
||||
","
|
||||
"."
|
||||
(pipe)
|
||||
] @punctuation.delimiter
|
||||
|
||||
(literal
|
||||
(integer) @constant.numeric.integer)
|
||||
|
||||
(integer) @constant.numeric.integer
|
||||
|
||||
(literal
|
||||
(decimal_number) @constant.numeric.float)
|
||||
|
||||
(decimal_number) @constant.numeric.float
|
||||
|
||||
[
|
||||
(keyword_min)
|
||||
(keyword_max)
|
||||
(keyword_count)
|
||||
(keyword_count_distinct)
|
||||
(keyword_average)
|
||||
(keyword_avg)
|
||||
(keyword_sum)
|
||||
(keyword_stddev)
|
||||
(keyword_count)
|
||||
] @function
|
||||
|
||||
[
|
||||
(keyword_side)
|
||||
(keyword_version)
|
||||
(keyword_target)
|
||||
(keyword_null)
|
||||
(keyword_format)
|
||||
] @attribute
|
||||
|
||||
(target) @function.builtin
|
||||
|
||||
[
|
||||
(date)
|
||||
(time)
|
||||
(timestamp)
|
||||
] @string.special
|
||||
|
||||
[
|
||||
(keyword_left)
|
||||
(keyword_inner)
|
||||
(keyword_right)
|
||||
(keyword_full)
|
||||
(keyword_csv)
|
||||
(keyword_json)
|
||||
] @function.method
|
||||
|
||||
[
|
||||
(keyword_true)
|
||||
(keyword_false)
|
||||
] @constant.builtin.boolean
|
||||
|
||||
[
|
||||
(keyword_and)
|
||||
(keyword_or)
|
||||
] @keyword.operator
|
||||
|
||||
(function_definition
|
||||
(keyword_func)
|
||||
name: (identifier) @function)
|
||||
|
||||
(parameter
|
||||
(identifier) @variable.parameter)
|
||||
|
||||
(variable
|
||||
(keyword_let)
|
||||
name: (identifier) @constant)
|
8
runtime/queries/prql/injections.scm
Normal file
8
runtime/queries/prql/injections.scm
Normal file
@ -0,0 +1,8 @@
|
||||
((s_string) @injection.content
|
||||
(#set! injection.language "sql"))
|
||||
|
||||
(from_text
|
||||
(keyword_from_text)
|
||||
(keyword_json)
|
||||
(literal) @injection.content
|
||||
(#set! injection.language "json"))
|
Loading…
Reference in New Issue
Block a user