Skip to content

Commit 4ea2b23

Browse files
wetnebWilfred
authored andcommitted
Unvendor tree-sitter-elisp
1 parent 5b28c34 commit 4ea2b23

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+90
-9906
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
### Parsing
44

55
Added support for protocol buffer files. Updated Ada, Clojure, CMake, Dart,
6-
Devicetree, Elm, Gleam, HCL, Newick, QML, R, Racket, SQL, Scheme, and
6+
Devicetree, Elisp, Elm, Gleam, HCL, Newick, QML, R, Racket, SQL, Scheme, and
77
Solidity parsers.
88

99
Improved handling of variable names `$foo` in shell scripts.

Cargo.lock

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ tree-sitter-cpp = "0.23.4"
8686
tree-sitter-css = "0.23.1"
8787
tree-sitter-dart-orchard = "0.2.1"
8888
tree-sitter-devicetree = "0.14.1"
89+
tree-sitter-elisp = "1.6.1"
8990
tree-sitter-elixir = "0.3.4"
9091
tree-sitter-elm = "5.8.0"
9192
tree-sitter-erlang = "0.13.0"

build.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,6 @@ fn main() {
7272
src_dir: "vendored_parsers/tree-sitter-commonlisp-src",
7373
extra_files: vec![],
7474
},
75-
TreeSitterParser {
76-
name: "tree-sitter-elisp",
77-
src_dir: "vendored_parsers/tree-sitter-elisp-src",
78-
extra_files: vec![],
79-
},
8075
TreeSitterParser {
8176
name: "tree-sitter-elvish",
8277
src_dir: "vendored_parsers/tree-sitter-elvish-src",

src/parse/tree_sitter_parser.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ pub(crate) struct TreeSitterConfig {
7070

7171
extern "C" {
7272
fn tree_sitter_commonlisp() -> ts::Language;
73-
fn tree_sitter_elisp() -> ts::Language;
7473
fn tree_sitter_elvish() -> ts::Language;
7574
fn tree_sitter_hare() -> ts::Language;
7675
fn tree_sitter_hack() -> ts::Language;
@@ -343,7 +342,9 @@ pub(crate) fn from_language(language: guess::Language) -> TreeSitterConfig {
343342
}
344343
}
345344
EmacsLisp => {
346-
let language = unsafe { tree_sitter_elisp() };
345+
let language_fn = tree_sitter_elisp::LANGUAGE;
346+
let language = tree_sitter::Language::new(language_fn);
347+
347348
TreeSitterConfig {
348349
language: language.clone(),
349350
atom_nodes: [].into_iter().collect(),

vendored_parsers/highlights/elisp.scm

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
;; Source: https://github.com/Wilfred/tree-sitter-elisp/blob/main/queries/highlights.scm
2+
3+
;; Special forms
4+
[
5+
"and"
6+
"catch"
7+
"cond"
8+
"condition-case"
9+
"defconst"
10+
"defvar"
11+
"function"
12+
"if"
13+
"interactive"
14+
"lambda"
15+
"let"
16+
"let*"
17+
"or"
18+
"prog1"
19+
"prog2"
20+
"progn"
21+
"quote"
22+
"save-current-buffer"
23+
"save-excursion"
24+
"save-restriction"
25+
"setq"
26+
"setq-default"
27+
"unwind-protect"
28+
"while"
29+
] @keyword
30+
31+
;; Function definitions
32+
[
33+
"defun"
34+
"defsubst"
35+
] @keyword
36+
(function_definition name: (symbol) @function)
37+
(function_definition parameters: (list (symbol) @variable.parameter))
38+
(function_definition docstring: (string) @comment)
39+
40+
;; Highlight macro definitions the same way as function definitions.
41+
"defmacro" @keyword
42+
(macro_definition name: (symbol) @function)
43+
(macro_definition parameters: (list (symbol) @variable.parameter))
44+
(macro_definition docstring: (string) @comment)
45+
46+
(comment) @comment
47+
48+
(integer) @number
49+
(float) @number
50+
(char) @number
51+
52+
(string) @string
53+
54+
[
55+
"("
56+
")"
57+
"#["
58+
"["
59+
"]"
60+
] @punctuation.bracket
61+
62+
[
63+
"`"
64+
"#'"
65+
"'"
66+
","
67+
",@"
68+
] @operator
69+
70+
;; Highlight nil and t as constants, unlike other symbols
71+
[
72+
"nil"
73+
"t"
74+
] @constant.builtin

vendored_parsers/tree-sitter-elisp-src

Lines changed: 0 additions & 1 deletion
This file was deleted.

vendored_parsers/tree-sitter-elisp/.github/workflows/main.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

vendored_parsers/tree-sitter-elisp/.gitignore

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)