Files
clide/app/assets/queries/sqlite.scm
T
jpmschweitzerandClaude ce8529e424 add tree-sitter syntax highlighting via dart:ffi
Vendor libtree-sitter.so (v0.26.8, wasmtime 44.0 statically linked)
and call its C API through dart:ffi. Grammar WASM files are loaded by
tree-sitter's embedded wasmtime engine via ts_wasm_store_load_language.

48 grammars compiled with tree-sitter build --wasm, 48 highlight
queries (42 from upstream repos, 6 written in-house for comment,
erlang, gdscript, gitignore, hcl, hlsl, swift). SQLite grammar
replaces full SQL (974K-line parser exhausted RAM at compile time).

Removes wasm_run and wasm_run_flutter — they downloaded a 22 MB
binary from GitHub at first launch, violating the no-network-on-
default-launch-path policy.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 22:08:00 +02:00

180 lines
3.1 KiB
Scheme

;;;
";" @punctuation.delimiter
"," @punctuation.delimiter
"." @punctuation.delimiter
"(" @punctuation.bracket
")" @punctuation.bracket
[
"||"
"~" "&" "|" "<<" ">>"
"+" "-" "*" "/" "%"
"=" "==" "!=" "<>" ">" ">=" "<" "<="
"->" "->>"
] @operator
;;;
(signed_number) @number
(numeric_literal) @number
(string_literal) @string
(blob_literal) @string.special
(identifier) @constant
(bind_parameter) @variable.parameter
(comment) @comment
;;;
(ABORT) @keyword
(ACTION) @keyword
(ADD) @keyword
(AFTER) @keyword
(ALL) @keyword
(ALTER) @keyword
(ALWAYS) @keyword
(ANALYZE) @keyword
(AND) @keyword
(AS) @keyword
(ASC) @keyword
(ATTACH) @keyword
(AUTOINCREMENT) @keyword
(BEFORE) @keyword
(BEGIN) @keyword
(BETWEEN) @keyword
(BY) @keyword
(CASCADE) @keyword
(CASE) @keyword
(CAST) @keyword
(CHECK) @keyword
(COLLATE) @keyword
(COLUMN) @keyword
(COMMIT) @keyword
(CONFLICT) @keyword
(CONSTRAINT) @keyword
(CREATE) @keyword
(CROSS) @keyword
(CURRENT) @keyword
(CURRENT_DATE) @keyword
(CURRENT_TIME) @keyword
(CURRENT_TIMESTAMP) @keyword
(DATABASE) @keyword
(DEFAULT) @keyword
(DEFERRABLE) @keyword
(DEFERRED) @keyword
(DELETE) @keyword
(DESC) @keyword
(DETACH) @keyword
(DISTINCT) @keyword
(DO) @keyword
(DROP) @keyword
(EACH) @keyword
(ELSE) @keyword
(END) @keyword
(ESCAPE) @keyword
(EXCEPT) @keyword
(EXCLUDE) @keyword
(EXCLUSIVE) @keyword
(EXISTS) @keyword
(EXPLAIN) @keyword
(FAIL) @keyword
(FALSE) @keyword
(FILTER) @keyword
(FIRST) @keyword
(FOLLOWING) @keyword
(FOR) @keyword
(FOREIGN) @keyword
(FROM) @keyword
(GENERATED) @keyword
(GLOB) @keyword
(GROUP) @keyword
(GROUPS) @keyword
(HAVING) @keyword
(IF) @keyword
(IGNORE) @keyword
(IMMEDIATE) @keyword
(IN) @keyword
(INDEX) @keyword
(INDEXED) @keyword
(INITIALLY) @keyword
(INNER) @keyword
(INSERT) @keyword
(INSTEAD) @keyword
(INTERSECT) @keyword
(INTO) @keyword
(IS) @keyword
(ISNULL) @keyword
(JOIN) @keyword
(KEY) @keyword
(LAST) @keyword
(LEFT) @keyword
(LIKE) @keyword
(LIMIT) @keyword
(MATCH) @keyword
(MATERIALIZED) @keyword
(NATURAL) @keyword
(NO) @keyword
(NOT) @keyword
(NOTHING) @keyword
(NOTNULL) @keyword
(NULL) @keyword
(NULLS) @keyword
(OF) @keyword
(OFFSET) @keyword
(ON) @keyword
(OR) @keyword
(ORDER) @keyword
(OTHERS) @keyword
(OUTER) @keyword
(OVER) @keyword
(PARTITION) @keyword
(PLAN) @keyword
(PRAGMA) @keyword
(PRECEDING) @keyword
(PRIMARY) @keyword
(QUERY) @keyword
(RAISE) @keyword
(RANGE) @keyword
(RECURSIVE) @keyword
(REFERENCES) @keyword
(REGEXP) @keyword
(REINDEX) @keyword
(RELEASE) @keyword
(RENAME) @keyword
(REPLACE) @keyword
(RESTRICT) @keyword
(RETURNING) @keyword
(ROLLBACK) @keyword
(ROW) @keyword
(ROWID) @keyword
(ROWS) @keyword
(SAVEPOINT) @keyword
(SELECT) @keyword
(SET) @keyword
(STORED) @keyword
(TABLE) @keyword
(TEMP) @keyword
(TEMPORARY) @keyword
(THEN) @keyword
(TIES) @keyword
(TO) @keyword
(TRANSACTION) @keyword
(TRIGGER) @keyword
(TRUE) @keyword
(UNBOUNDED) @keyword
(UNION) @keyword
(UNIQUE) @keyword
(UPDATE) @keyword
(USING) @keyword
(VACUUM) @keyword
(VALUES) @keyword
(VIEW) @keyword
(VIRTUAL) @keyword
(WHEN) @keyword
(WHERE) @keyword
(WINDOW) @keyword
(WITH) @keyword
(WITHOUT) @keyword