|
67 | 67 | "Enables debugging messages, shows current node in mode-line.
|
68 | 68 | Only intended for use at development time.")
|
69 | 69 |
|
| 70 | +(defvar clojure-ts-mode-syntax-table |
| 71 | + (let ((table (make-syntax-table))) |
| 72 | + ;; Initialize ASCII charset as symbol syntax |
| 73 | + (modify-syntax-entry '(0 . 127) "_" table) |
| 74 | + |
| 75 | + ;; Word syntax |
| 76 | + (modify-syntax-entry '(?0 . ?9) "w" table) |
| 77 | + (modify-syntax-entry '(?a . ?z) "w" table) |
| 78 | + (modify-syntax-entry '(?A . ?Z) "w" table) |
| 79 | + |
| 80 | + ;; Whitespace |
| 81 | + (modify-syntax-entry ?\s " " table) |
| 82 | + (modify-syntax-entry ?\xa0 " " table) ; non-breaking space |
| 83 | + (modify-syntax-entry ?\t " " table) |
| 84 | + (modify-syntax-entry ?\f " " table) |
| 85 | + ;; Setting commas as whitespace makes functions like `delete-trailing-whitespace' behave unexpectedly (#561) |
| 86 | + (modify-syntax-entry ?, "." table) |
| 87 | + |
| 88 | + ;; Delimiters |
| 89 | + (modify-syntax-entry ?\( "()" table) |
| 90 | + (modify-syntax-entry ?\) ")(" table) |
| 91 | + (modify-syntax-entry ?\[ "(]" table) |
| 92 | + (modify-syntax-entry ?\] ")[" table) |
| 93 | + (modify-syntax-entry ?\{ "(}" table) |
| 94 | + (modify-syntax-entry ?\} "){" table) |
| 95 | + |
| 96 | + ;; Prefix chars |
| 97 | + (modify-syntax-entry ?` "'" table) |
| 98 | + (modify-syntax-entry ?~ "'" table) |
| 99 | + (modify-syntax-entry ?^ "'" table) |
| 100 | + (modify-syntax-entry ?@ "'" table) |
| 101 | + (modify-syntax-entry ?? "_ p" table) ; ? is a prefix outside symbols |
| 102 | + (modify-syntax-entry ?# "_ p" table) ; # is allowed inside keywords (#399) |
| 103 | + (modify-syntax-entry ?' "_ p" table) ; ' is allowed anywhere but the start of symbols |
| 104 | + |
| 105 | + ;; Others |
| 106 | + (modify-syntax-entry ?\; "<" table) ; comment start |
| 107 | + (modify-syntax-entry ?\n ">" table) ; comment end |
| 108 | + (modify-syntax-entry ?\" "\"" table) ; string |
| 109 | + (modify-syntax-entry ?\\ "\\" table) ; escape |
| 110 | + |
| 111 | + table) |
| 112 | + "Syntax table for clojure-ts-mode.") |
| 113 | + |
| 114 | + |
70 | 115 | (defconst clojure-ts--builtin-dynamic-var-regexp
|
71 | 116 | (eval-and-compile
|
72 | 117 | (concat "^"
|
|
0 commit comments