aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/supercollider/highlights.scm
blob: c56bce69a3de80e52b99ac5a4bf12539d6050899 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
; highlights.scm
; See this for full list: https://github.com/nvim-treesitter/nvim-treesitter/blob/master/CONTRIBUTING.md
; comments
(line_comment) @comment @spell

(block_comment) @comment @spell

; Argument definition
(argument
  name: (identifier) @variable.parameter)

; Variables
(local_var
  name: (identifier) @variable)

(environment_var
  name: (identifier) @variable.builtin)

(builtin_var) @constant.builtin

; (variable) @variable
; Functions
(function_definition
  name: (variable) @function)

; For function calls
(named_argument
  name: (identifier) @function.call)

; Methods
(method_call
  name: (method_name) @function.method.call)

; Classes
(class) @type

; Literals
(number) @number

(float) @number.float

(string) @string

(symbol) @string.special.symbol

; Operators
[
  "&&"
  "||"
  "&"
  "|"
  "^"
  "=="
  "!="
  "<"
  "<="
  ">"
  ">="
  "<<"
  ">>"
  "+"
  "-"
  "*"
  "/"
  "%"
  "="
] @operator

; Keywords
[
  "arg"
  "classvar"
  "const"
  ; "super"
  ; "this"
  "var"
] @keyword

; Brackets
[
  "("
  ")"
  "["
  "]"
  "{"
  "}"
  "|"
] @punctuation.bracket

; Delimiters
[
  ";"
  "."
  ","
] @punctuation.delimiter

; control structure
(control_structure) @keyword.conditional

(escape_sequence) @string.escape

; SinOsc.ar()!2
(duplicated_statement) @keyword.repeat