feat: disable bracket colorizing according to textmate scopes (#81)

* feat: disable bracket colorizing according to textmate scopes

* feat: use typc as highlighting language
This commit is contained in:
Myriad-Dreamin 2024-03-22 21:23:26 +08:00 committed by GitHub
parent 14ef2e78e2
commit 10c3e0134a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 51 additions and 12 deletions

View file

@ -65,8 +65,8 @@ fn def_tooltip(
| crate::syntax::LexicalKind::Heading(..) => None, | crate::syntax::LexicalKind::Heading(..) => None,
crate::syntax::LexicalKind::Var(LexicalVarKind::Function) => Some( crate::syntax::LexicalKind::Var(LexicalVarKind::Function) => Some(
LspHoverContents::Scalar(lsp_types::MarkedString::String(format!( LspHoverContents::Scalar(lsp_types::MarkedString::String(format!(
r#"```typst-grammar r#"```typc
#let {name}({params}); let {name}({params});
```{doc}"#, ```{doc}"#,
name = lnk.name, name = lnk.name,
params = ParamTooltip(&lnk), params = ParamTooltip(&lnk),
@ -84,9 +84,9 @@ fn def_tooltip(
.unwrap_or_default(); .unwrap_or_default();
Some(LspHoverContents::Scalar(lsp_types::MarkedString::String( Some(LspHoverContents::Scalar(lsp_types::MarkedString::String(
format!( format!(
r#"```typst-grammar r#"```typc
{values} {values}
#let {name}; let {name};
```{doc}"#, ```{doc}"#,
name = lnk.name, name = lnk.name,
doc = DocTooltip::get(ctx, &lnk).unwrap_or_default(), doc = DocTooltip::get(ctx, &lnk).unwrap_or_default(),

View file

@ -151,7 +151,9 @@
".typ" ".typ"
], ],
"aliases": [ "aliases": [
"Typst" "Typst",
"typst",
"typ"
], ],
"icon": { "icon": {
"light": "./icons/typst-small.png", "light": "./icons/typst-small.png",
@ -159,11 +161,15 @@
} }
}, },
{ {
"id": "typst-grammar", "id": "typst-code",
"aliases": [
"Typst with Syntax Support"
],
"configuration": "./language-configuration.json", "configuration": "./language-configuration.json",
"extensions": [
".typc"
],
"aliases": [
"Typst (Code Mode)",
"typc"
],
"icon": { "icon": {
"light": "./icons/typst-small.png", "light": "./icons/typst-small.png",
"dark": "./icons/typst-small.png" "dark": "./icons/typst-small.png"
@ -172,9 +178,42 @@
], ],
"grammars": [ "grammars": [
{ {
"language": "typst-grammar", "language": "typst",
"scopeName": "source.typst-grammar", "scopeName": "source.typst",
"path": "./out/typst.tmLanguage.json" "path": "./out/typst.tmLanguage.json",
"balancedBracketScopes": [
"*",
"meta.expr",
"meta.brace"
],
"unbalancedBracketScopes": [
"markup.raw.block.typst",
"markup.raw.inline.typst",
"string.other.label.typst",
"string.quoted.double.typst",
"constant.character.escape",
"comment.block.typst",
"comment.line.double-slash.typst"
]
},
{
"language": "typst-code",
"scopeName": "source.typst-code",
"path": "./out/typst-code.tmLanguage.json",
"balancedBracketScopes": [
"*",
"meta.expr",
"meta.brace"
],
"unbalancedBracketScopes": [
"markup.raw.block.typst",
"markup.raw.inline.typst",
"string.other.label.typst",
"string.quoted.double.typst",
"constant.character.escape",
"comment.block.typst",
"comment.line.double-slash.typst"
]
} }
], ],
"semanticTokenTypes": [ "semanticTokenTypes": [