Unnamed repository; edit this file 'description' to name the repository.
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
;; Keywords (commands)
;; Core commands
"plot" @keyword.control
"splot" @keyword.control
"fit" @keyword.control
"set" @keyword.control
"unset" @keyword.control
"load" @keyword.control
"pause" @keyword.control
(reset_command) @keyword.control
"do" @keyword.control.repeat
"for" @keyword.control.repeat

;; array definition
"array" @type

;; Plot / fit modifiers
"using" @keyword.operator
"with" @keyword.operator
"title" @keyword.operator
"notitle" @keyword.operator
"via" @keyword.operator

;; Identifiers (variables)
(identifier) @variable

;; Function calls
(function_call
  (expression_list
    (expression
      (identifier) @variable.parameter)))

(function_call
  name: (_) @function)

(builtin_function) @function.builtin

;; Function definitions
(function_definition
  name: (identifier) @function)

(function_definition
  (parameter_list
    (_) @variable.parameter))

;; Numbers (distinct integer/float if desired):
(number) @constant.numeric.float

;; Strings
(string) @string

;; Comments
(comment) @comment

;; Operators
(operator) @keyword.operator

;; Range literal
(range) @constant

;; Punctuation
["(" ")" "[" "]" "," ":" "="] @punctuation.bracket