Add PowerShell highlighting (#9827)

This commit is contained in:
Chris 2024-03-07 22:39:00 +00:00 committed by GitHub
parent e27b04735c
commit 301dfb07cc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 191 additions and 0 deletions

View file

@ -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` |

View file

@ -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" }

View 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

View file

@ -0,0 +1,2 @@
((comment) @injection.content
(#set! injection.language "comment"))