mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-25 02:46:17 +04:00
feat(prql): add prql support (#6126)
This commit is contained in:
parent
5c716af7a2
commit
2bd8bc8d84
@ -104,6 +104,7 @@
|
|||||||
| prisma | ✓ | | | `prisma-language-server` |
|
| prisma | ✓ | | | `prisma-language-server` |
|
||||||
| prolog | | | | `swipl` |
|
| prolog | | | | `swipl` |
|
||||||
| protobuf | ✓ | | ✓ | |
|
| protobuf | ✓ | | ✓ | |
|
||||||
|
| prql | ✓ | | | |
|
||||||
| purescript | ✓ | | | `purescript-language-server` |
|
| purescript | ✓ | | | `purescript-language-server` |
|
||||||
| python | ✓ | ✓ | ✓ | `pylsp` |
|
| python | ✓ | ✓ | ✓ | `pylsp` |
|
||||||
| qml | ✓ | | ✓ | `qmlls` |
|
| qml | ✓ | | ✓ | `qmlls` |
|
||||||
|
@ -2208,6 +2208,19 @@ indent = { tab-width = 2, unit = " " }
|
|||||||
name = "yuck"
|
name = "yuck"
|
||||||
source = { git = "https://github.com/Philipp-M/tree-sitter-yuck", rev = "9e97da5773f82123a8c8cccf8f7e795d140ed7d1" }
|
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]]
|
[[language]]
|
||||||
name = "po"
|
name = "po"
|
||||||
scope = "source.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