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
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
(number) @constant.numeric
(character) @constant.character
(boolean) @constant.builtin.boolean

[(string)
 (character)] @string

(escape_sequence) @constant.character.escape

[(comment)
 (block_comment)
 (directive)] @comment

[(boolean)
 (character)] @constant

((symbol) @function.builtin
 (#match? @function.builtin "^(eqv\\?|eq\\?|equal\\?)")) ; TODO

; keywords

((symbol) @keyword.conditional
 (#match? @keyword.conditional "^(if|cond|case|when|unless)$"))
 
((symbol) @keyword
 (#match? @keyword
  "^(define|lambda|begin|do|define-syntax|and|or|if|cond|case|when|unless|else|=>|let|let*|let-syntax|let-values|let*-values|letrec|letrec*|letrec-syntax|set!|syntax-rules|identifier-syntax|quote|unquote|quote-splicing|quasiquote|unquote-splicing|delay|assert|library|export|import|rename|only|except|prefix)$"))

; special forms

(list
 "["
 (symbol)+ @variable
 "]")

(list
 .
 (symbol) @_f
 .
 (list
   (symbol) @variable)
 (#eq? @_f "lambda"))

(list
 .
 (symbol) @_f
 .
 (list
   (list
     (symbol) @variable))
 (#match? @_f
  "^(let|let\\*|let-syntax|let-values|let\\*-values|letrec|letrec\\*|letrec-syntax)$"))

; operators

(list
  .
  (symbol) @operator
  (#match? @operator "^([+*/<>=-]|(<=)|(>=))$"))
  
; quote

(abbreviation
  "'" (symbol)) @constant

(list
 .
 (symbol) @_f
 (#eq? @_f "quote")) @symbol

; library

(list
 .
 (symbol) @_lib
 .
 (symbol) @namespace

 (#eq? @_lib "library"))

; procedure

(list
  .
  (symbol) @function)

;; variables

((symbol) @variable.builtin
 (#eq? @variable.builtin "..."))

(symbol) @variable
((symbol) @variable.builtin
 (#eq? @variable.builtin "."))

(symbol) @variable


["(" ")" "[" "]" "{" "}"] @punctuation.bracket

quot;green" "tag" = "orange" "namespace" = { fg = "yellow", modifiers = ["italic"] } "attribute" = { fg = "purple", modifiers = ["italic"] } "constructor" = "green" "module" = "yellow" "special" = "blue" "markup.heading.marker" = "grey1" "markup.heading.1" = { fg = "red", modifiers = ["bold"] } "markup.heading.2" = { fg = "orange", modifiers = ["bold"] } "markup.heading.3" = { fg = "yellow", modifiers = ["bold"] } "markup.heading.4" = { fg = "green", modifiers = ["bold"] } "markup.heading.5" = { fg = "blue", modifiers = ["bold"] } "markup.heading.6" = { fg = "purple", modifiers = ["bold"] } "markup.list" = "red" "markup.bold" = { modifiers = ["bold"] } "markup.italic" = { modifiers = ["italic"] } "markup.strikethrough" = { modifiers = ["crossed_out"] } "markup.link.url" = { fg = "blue", underline = { style = "line" } } "markup.link.label" = "orange" "markup.link.text" = "purple" "markup.quote" = "grey1" "markup.raw.inline" = "green" "markup.raw.block" = "aqua" "diff.plus" = "green" "diff.delta" = "blue" "diff.minus" = "red" "ui.background" = { bg = "bg0" } "ui.background.separator" = "bg_visual" "ui.cursor" = { fg = "bg1", bg = "grey2" } "ui.cursor.insert" = { fg = "bg0", bg = "grey1" } "ui.cursor.select" = { fg = "bg0", bg = "blue" } "ui.cursor.match" = { bg = "bg4", modifiers = ["bold"] } "ui.cursor.primary" = { fg = "bg0", bg = "fg" } "ui.cursorline.primary" = { bg = "bg1" } "ui.cursorline.secondary" = { bg = "bg2" } "ui.selection" = { bg = "bg3" } "ui.linenr" = "grey0" "ui.linenr.selected" = "grey2" "ui.statusline" = { fg = "grey2", bg = "bg3" } "ui.statusline.inactive" = { fg = "grey0", bg = "bg1" } "ui.statusline.normal" = { fg = "bg0", bg = "statusline1", modifiers = [ "bold", ] } "ui.statusline.insert" = { fg = "bg0", bg = "statusline2", modifiers = [ "bold", ] } "ui.statusline.select" = { fg = "bg0", bg = "blue", modifiers = ["bold"] } "ui.bufferline" = { fg = "grey2", bg = "bg3" } "ui.bufferline.active" = { fg = "bg0", bg = "statusline1", modifiers = [ "bold", ] } "ui.popup" = { fg = "grey2", bg = "bg2" } "ui.window" = { fg = "bg4", bg = "bg_dim" } "ui.help" = { fg = "fg", bg = "bg2" } "ui.text" = "fg" "ui.text.focus" = "fg" "ui.menu" = { fg = "fg", bg = "bg3" } "ui.menu.selected" = { fg = "bg0", bg = "green" } "ui.virtual.ruler" = { bg = "bg3" } "ui.virtual.whitespace" = { fg = "bg4" } "ui.virtual.indent-guide" = { fg = "bg4" } "ui.virtual.inlay-hint" = { fg = "grey0" } "ui.virtual.wrap" = { fg = "grey0" } "hint" = "green" "info" = "blue" "warning" = "yellow" "error" = "red" "diagnostic.hint" = { underline = { color = "green", style = "curl" } } "diagnostic.info" = { underline = { color = "blue", style = "curl" } } "diagnostic.warning" = { underline = { color = "yellow", style = "curl" } } "diagnostic.error" = { underline = { color = "red", style = "curl" } } "diagnostic.unnecessary" = { modifiers = ["dim"] } "diagnostic.deprecated" = { modifiers = ["crossed_out"] } [palette] bg_dim = "#efebd4" bg0 = "#fdf6e3" bg1 = "#f4f0d9" bg2 = "#efebd4" bg3 = "#e6e2cc" bg4 = "#e0dcc7" bg5 = "#bdc3af" bg_red = "#fbe3da" bg_visual = "#eaedc8" bg_yellow = "#faedcd" bg_green = "#f0f1d2" bg_blue = "#e9f0e9" fg = "#5c6a72" red = "#f85552" orange = "#f57d26" yellow = "#dfa000" green = "#8da101" blue = "#3a94c5" aqua = "#35a77c" purple = "#df69ba" grey0 = "#a6b0a0" grey1 = "#939f91" grey2 = "#829181" statusline1 = "#93b259" statusline2 = "#708089" statusline3 = "#e66868"