Add PowerShell highlighting (#9827)
This commit is contained in:
parent
e27b04735c
commit
301dfb07cc
4 changed files with 191 additions and 0 deletions
|
@ -132,6 +132,7 @@
|
|||
| po | ✓ | ✓ | | |
|
||||
| pod | ✓ | | | |
|
||||
| ponylang | ✓ | ✓ | ✓ | |
|
||||
| powershell | ✓ | | | |
|
||||
| prisma | ✓ | | | `prisma-language-server` |
|
||||
| prolog | | | | `swipl` |
|
||||
| protobuf | ✓ | ✓ | ✓ | `bufls`, `pb` |
|
||||
|
|
|
@ -3259,3 +3259,17 @@ indent = { tab-width = 4, unit = " " }
|
|||
[[grammar]]
|
||||
name = "fidl"
|
||||
source = { git = "https://github.com/google/tree-sitter-fidl", rev = "bdbb635a7f5035e424f6173f2f11b9cd79703f8d" }
|
||||
|
||||
[[language]]
|
||||
name = "powershell"
|
||||
scope = "source.powershell"
|
||||
injection-regex = "(pwsh|powershell)"
|
||||
file-types = [ "ps1", "psm1", "psd1", "pscc", "psrc" ]
|
||||
shebangs = [ "pwsh", "powershell" ]
|
||||
comment-token = '#'
|
||||
block-comment-tokens = { start = "<#", end = "#>" }
|
||||
indent = { tab-width = 4, unit = " " }
|
||||
|
||||
[[grammar]]
|
||||
name = "powershell"
|
||||
source = { git = "https://github.com/airbus-cert/tree-sitter-powershell", rev = "c9316be0faca5d5b9fd3b57350de650755f42dc0" }
|
||||
|
|
174
runtime/queries/powershell/highlights.scm
Normal file
174
runtime/queries/powershell/highlights.scm
Normal file
|
@ -0,0 +1,174 @@
|
|||
[
|
||||
"if"
|
||||
"elseif"
|
||||
"else"
|
||||
"switch"
|
||||
] @keyword.control.conditional
|
||||
|
||||
[
|
||||
"foreach"
|
||||
"for"
|
||||
"while"
|
||||
"do"
|
||||
"until"
|
||||
] @keyword.control.repeat
|
||||
|
||||
[
|
||||
"break"
|
||||
"continue"
|
||||
"return"
|
||||
] @keyword.control.return
|
||||
|
||||
"in" @keyword.operator
|
||||
|
||||
"function" @keyword.function
|
||||
|
||||
[
|
||||
"class"
|
||||
"enum"
|
||||
] @keyword.storage.type
|
||||
|
||||
[
|
||||
"param"
|
||||
"dynamicparam"
|
||||
"begin"
|
||||
"process"
|
||||
"end"
|
||||
"filter"
|
||||
"workflow"
|
||||
"throw"
|
||||
"exit"
|
||||
"trap"
|
||||
"try"
|
||||
"catch"
|
||||
"finally"
|
||||
"data"
|
||||
"inlinescript"
|
||||
"parallel"
|
||||
"sequence"
|
||||
] @keyword
|
||||
|
||||
[
|
||||
"-as"
|
||||
"-ccontains"
|
||||
"-ceq"
|
||||
"-cge"
|
||||
"-cgt"
|
||||
"-cle"
|
||||
"-clike"
|
||||
"-clt"
|
||||
"-cmatch"
|
||||
"-cne"
|
||||
"-cnotcontains"
|
||||
"-cnotlike"
|
||||
"-cnotmatch"
|
||||
"-contains"
|
||||
"-creplace"
|
||||
"-csplit"
|
||||
"-eq"
|
||||
"-ge"
|
||||
"-gt"
|
||||
"-icontains"
|
||||
"-ieq"
|
||||
"-ige"
|
||||
"-igt"
|
||||
"-ile"
|
||||
"-ilike"
|
||||
"-ilt"
|
||||
"-imatch"
|
||||
"-in"
|
||||
"-ine"
|
||||
"-inotcontains"
|
||||
"-inotlike"
|
||||
"-inotmatch"
|
||||
"-ireplace"
|
||||
"-is"
|
||||
"-isnot"
|
||||
"-isplit"
|
||||
"-join"
|
||||
"-le"
|
||||
"-like"
|
||||
"-lt"
|
||||
"-match"
|
||||
"-ne"
|
||||
"-not"
|
||||
"-notcontains"
|
||||
"-notin"
|
||||
"-notlike"
|
||||
"-notmatch"
|
||||
"-replace"
|
||||
"-shl"
|
||||
"-shr"
|
||||
"-split"
|
||||
"-and"
|
||||
"-or"
|
||||
"-xor"
|
||||
"-band"
|
||||
"-bor"
|
||||
"-bxor"
|
||||
"+"
|
||||
"-"
|
||||
"*"
|
||||
"/"
|
||||
"%"
|
||||
"++"
|
||||
"--"
|
||||
"!"
|
||||
"\\"
|
||||
".."
|
||||
"|"
|
||||
] @operator
|
||||
|
||||
(assignement_operator) @operator
|
||||
|
||||
[
|
||||
"("
|
||||
")"
|
||||
"{"
|
||||
"}"
|
||||
"["
|
||||
"]"
|
||||
] @punctuation.bracket
|
||||
|
||||
[
|
||||
";"
|
||||
","
|
||||
"::"
|
||||
] @punctuation.delimiter
|
||||
|
||||
(string_literal) @string
|
||||
|
||||
(integer_literal) @constant.numeric
|
||||
(real_literal) @constant.numeric
|
||||
|
||||
(command
|
||||
command_name: (command_name) @function)
|
||||
|
||||
(function_name) @function
|
||||
|
||||
(invokation_expression
|
||||
(member_name) @function)
|
||||
|
||||
(member_access
|
||||
(member_name) @variable.other.member)
|
||||
|
||||
(command_invokation_operator) @operator
|
||||
|
||||
(type_spec) @type
|
||||
|
||||
(variable) @variable
|
||||
|
||||
(comment) @comment
|
||||
|
||||
(array_expression) @punctuation.bracket
|
||||
|
||||
(assignment_expression
|
||||
value: (pipeline) @variable)
|
||||
|
||||
(format_operator) @operator
|
||||
|
||||
(command_parameter) @variable.parameter
|
||||
|
||||
(command_elements) @variable.builtin
|
||||
|
||||
(generic_token) @variable
|
2
runtime/queries/powershell/injections.scm
Normal file
2
runtime/queries/powershell/injections.scm
Normal file
|
@ -0,0 +1,2 @@
|
|||
((comment) @injection.content
|
||||
(#set! injection.language "comment"))
|
Loading…
Reference in a new issue