chore: Extract languages from zed
crate (#8270)
- Moves languages module from `zed` into a separate crate. That way we have less of a long pole at the end of compilation. - Removes moot dependencies on editor/picker. This is totally harmless and might help in the future if we decide to decouple picker from editor. Before: ``` Number of crates that depend on 'picker' but not on 'editor': 1 Total number of crates that depend on 'picker': 13 Total number of crates that depend on 'editor': 30 ``` After: ``` Number of crates that depend on 'picker' but not on 'editor': 5 Total number of crates that depend on 'picker': 12 Total number of crates that depend on 'editor': 26 ``` The more crates depend on just picker but not editor, the better in that case. Release Notes: - N/A
This commit is contained in:
parent
7cf0696c89
commit
0f584cb353
309 changed files with 221 additions and 154 deletions
3
crates/languages/src/scheme/brackets.scm
Normal file
3
crates/languages/src/scheme/brackets.scm
Normal file
|
@ -0,0 +1,3 @@
|
|||
("(" @open ")" @close)
|
||||
("[" @open "]" @close)
|
||||
("{" @open "}" @close)
|
10
crates/languages/src/scheme/config.toml
Normal file
10
crates/languages/src/scheme/config.toml
Normal file
|
@ -0,0 +1,10 @@
|
|||
name = "Scheme"
|
||||
grammar = "scheme"
|
||||
path_suffixes = ["scm", "ss"]
|
||||
line_comments = ["; "]
|
||||
autoclose_before = "])"
|
||||
brackets = [
|
||||
{ start = "[", end = "]", close = true, newline = false },
|
||||
{ start = "(", end = ")", close = true, newline = false },
|
||||
{ start = "\"", end = "\"", close = true, newline = false, not_in = ["comment", "string"] },
|
||||
]
|
28
crates/languages/src/scheme/highlights.scm
Normal file
28
crates/languages/src/scheme/highlights.scm
Normal file
|
@ -0,0 +1,28 @@
|
|||
["(" ")" "[" "]" "{" "}"] @punctuation.bracket
|
||||
|
||||
(number) @number
|
||||
(character) @constant.builtin
|
||||
(boolean) @constant.builtin
|
||||
|
||||
(symbol) @variable
|
||||
(string) @string
|
||||
|
||||
(escape_sequence) @escape
|
||||
|
||||
[(comment)
|
||||
(block_comment)
|
||||
(directive)] @comment
|
||||
|
||||
((symbol) @operator
|
||||
(#match? @operator "^(\\+|-|\\*|/|=|>|<|>=|<=)$"))
|
||||
|
||||
(list
|
||||
.
|
||||
(symbol) @function)
|
||||
|
||||
(list
|
||||
.
|
||||
(symbol) @keyword
|
||||
(#match? @keyword
|
||||
"^(define-syntax|let\\*|lambda|λ|case|=>|quote-splicing|unquote-splicing|set!|let|letrec|letrec-syntax|let-values|let\\*-values|do|else|define|cond|syntax-rules|unquote|begin|quote|let-syntax|and|if|quasiquote|letrec|delay|or|when|unless|identifier-syntax|assert|library|export|import|rename|only|except|prefix)$"
|
||||
))
|
3
crates/languages/src/scheme/indents.scm
Normal file
3
crates/languages/src/scheme/indents.scm
Normal file
|
@ -0,0 +1,3 @@
|
|||
(_ "[" "]") @indent
|
||||
(_ "{" "}") @indent
|
||||
(_ "(" ")") @indent
|
10
crates/languages/src/scheme/outline.scm
Normal file
10
crates/languages/src/scheme/outline.scm
Normal file
|
@ -0,0 +1,10 @@
|
|||
(list
|
||||
.
|
||||
(symbol) @start-symbol @context
|
||||
.
|
||||
[
|
||||
(symbol) @name
|
||||
(list . (symbol) @name)
|
||||
]
|
||||
(#match? @start-symbol "^define")
|
||||
) @item
|
6
crates/languages/src/scheme/overrides.scm
Normal file
6
crates/languages/src/scheme/overrides.scm
Normal file
|
@ -0,0 +1,6 @@
|
|||
[
|
||||
(comment)
|
||||
(block_comment)
|
||||
(directive)
|
||||
] @comment
|
||||
(string) @string
|
Loading…
Add table
Add a link
Reference in a new issue