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 | ✓ | ✓ | | |
|
| po | ✓ | ✓ | | |
|
||||||
| pod | ✓ | | | |
|
| pod | ✓ | | | |
|
||||||
| ponylang | ✓ | ✓ | ✓ | |
|
| ponylang | ✓ | ✓ | ✓ | |
|
||||||
|
| powershell | ✓ | | | |
|
||||||
| prisma | ✓ | | | `prisma-language-server` |
|
| prisma | ✓ | | | `prisma-language-server` |
|
||||||
| prolog | | | | `swipl` |
|
| prolog | | | | `swipl` |
|
||||||
| protobuf | ✓ | ✓ | ✓ | `bufls`, `pb` |
|
| protobuf | ✓ | ✓ | ✓ | `bufls`, `pb` |
|
||||||
|
|
|
@ -3259,3 +3259,17 @@ indent = { tab-width = 4, unit = " " }
|
||||||
[[grammar]]
|
[[grammar]]
|
||||||
name = "fidl"
|
name = "fidl"
|
||||||
source = { git = "https://github.com/google/tree-sitter-fidl", rev = "bdbb635a7f5035e424f6173f2f11b9cd79703f8d" }
|
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…
Add table
Reference in a new issue