aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries
diff options
context:
space:
mode:
authorChris2024-03-07 22:39:00 +0000
committerGitHub2024-03-07 22:39:00 +0000
commit301dfb07ccf3df41c381300dddb760bf76745cf5 (patch)
tree10376017a87731dfd3cb2f159de446be65bdef72 /runtime/queries
parente27b04735c630140b45ac9fab1b3087ae831f34a (diff)
Add PowerShell highlighting (#9827)
Diffstat (limited to 'runtime/queries')
-rw-r--r--runtime/queries/powershell/highlights.scm174
-rw-r--r--runtime/queries/powershell/injections.scm2
2 files changed, 176 insertions, 0 deletions
diff --git a/runtime/queries/powershell/highlights.scm b/runtime/queries/powershell/highlights.scm
new file mode 100644
index 00000000..c62c7281
--- /dev/null
+++ b/runtime/queries/powershell/highlights.scm
@@ -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
diff --git a/runtime/queries/powershell/injections.scm b/runtime/queries/powershell/injections.scm
new file mode 100644
index 00000000..321c90ad
--- /dev/null
+++ b/runtime/queries/powershell/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))