From 1e240b4bef1fa18c13f8d44cc52d4450e567088a Mon Sep 17 00:00:00 2001
From: esthedebeste <57283066+esthedebeste@users.noreply.github.com>
Date: Sat, 20 May 2023 14:57:57 +0200
Subject: [PATCH 1/2] Add basic support for civet (without diagnostics)
---
.../src/plugins/typescript/features/DiagnosticsProvider.ts | 2 +-
packages/svelte-vscode/package.json | 3 ++-
packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml | 7 ++++++-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/packages/language-server/src/plugins/typescript/features/DiagnosticsProvider.ts b/packages/language-server/src/plugins/typescript/features/DiagnosticsProvider.ts
index b69864983..62a5fb702 100644
--- a/packages/language-server/src/plugins/typescript/features/DiagnosticsProvider.ts
+++ b/packages/language-server/src/plugins/typescript/features/DiagnosticsProvider.ts
@@ -57,7 +57,7 @@ export class DiagnosticsProviderImpl implements DiagnosticsProvider {
const { lang, tsDoc } = await this.getLSAndTSDoc(document);
if (
- ['coffee', 'coffeescript'].includes(document.getLanguageAttribute('script')) ||
+ ['coffee', 'coffeescript', 'civet'].includes(document.getLanguageAttribute('script')) ||
cancellationToken?.isCancellationRequested
) {
return [];
diff --git a/packages/svelte-vscode/package.json b/packages/svelte-vscode/package.json
index 43059467e..f41cb5fbb 100644
--- a/packages/svelte-vscode/package.json
+++ b/packages/svelte-vscode/package.json
@@ -438,7 +438,8 @@
"source.stylus": "stylus",
"source.js": "javascript",
"source.ts": "typescript",
- "source.coffee": "coffeescript"
+ "source.coffee": "coffeescript",
+ "source.civet": "civet"
},
"unbalancedBracketScopes": [
"keyword.operator.relational",
diff --git a/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml b/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml
index f2a5951a2..41e2e7517 100644
--- a/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml
+++ b/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml
@@ -29,6 +29,11 @@ injections:
patterns: [{begin: '(?<=>)(?!)', end: '(?=)', name: meta.embedded.block.svelte,
contentName: source.coffee, patterns: [{ include: source.coffee }]}]
+ # Civet | 'civet' | 'source.civet'
+ 'L:(meta.script.svelte | meta.style.svelte) meta.lang.civet - (meta source)':
+ patterns: [{begin: '(?<=>)(?!)', end: '(?=)', name: meta.embedded.block.svelte,
+ contentName: source.civet, patterns: [{ include: source.civet }]}]
+
# Script Languages
# Default (JavaScript)
'L:meta.script.svelte - meta.lang - (meta source)':
@@ -89,7 +94,7 @@ injections:
# - TS / JS / CS -
- 'L:(source.ts, source.js, source.coffee)':
+ 'L:(source.ts, source.js, source.coffee, source.civet)':
patterns:
# Matches the store accessor symbol.
# i.e. the `$` in `$myStore`.
From b2d18db568e80f2263780ce50d5507fce72d025e Mon Sep 17 00:00:00 2001
From: esthedebeste <57283066+esthedebeste@users.noreply.github.com>
Date: Sat, 20 May 2023 15:31:12 +0200
Subject: [PATCH 2/2] Added a basic civet grammar test
---
.../grammar/dummy/civet.tmLanguage-dummy.json | 4 ++++
.../grammar/samples/script-civet/input.svelte | 3 +++
.../samples/script-civet/input.svelte.snap | 17 +++++++++++++++++
3 files changed, 24 insertions(+)
create mode 100644 packages/svelte-vscode/test/grammar/dummy/civet.tmLanguage-dummy.json
create mode 100644 packages/svelte-vscode/test/grammar/samples/script-civet/input.svelte
create mode 100644 packages/svelte-vscode/test/grammar/samples/script-civet/input.svelte.snap
diff --git a/packages/svelte-vscode/test/grammar/dummy/civet.tmLanguage-dummy.json b/packages/svelte-vscode/test/grammar/dummy/civet.tmLanguage-dummy.json
new file mode 100644
index 000000000..fd980370b
--- /dev/null
+++ b/packages/svelte-vscode/test/grammar/dummy/civet.tmLanguage-dummy.json
@@ -0,0 +1,4 @@
+{
+ "comment": "Dummy Civet TextMate grammar for use in testing",
+ "scopeName": "source.civet"
+}
diff --git a/packages/svelte-vscode/test/grammar/samples/script-civet/input.svelte b/packages/svelte-vscode/test/grammar/samples/script-civet/input.svelte
new file mode 100644
index 000000000..664e87c26
--- /dev/null
+++ b/packages/svelte-vscode/test/grammar/samples/script-civet/input.svelte
@@ -0,0 +1,3 @@
+
diff --git a/packages/svelte-vscode/test/grammar/samples/script-civet/input.svelte.snap b/packages/svelte-vscode/test/grammar/samples/script-civet/input.svelte.snap
new file mode 100644
index 000000000..0b62533cb
--- /dev/null
+++ b/packages/svelte-vscode/test/grammar/samples/script-civet/input.svelte.snap
@@ -0,0 +1,17 @@
+>
+#^^ source.svelte meta.script.svelte meta.tag.end.svelte punctuation.definition.tag.begin.svelte
+# ^^^^^^ source.svelte meta.script.svelte meta.tag.end.svelte entity.name.tag.svelte
+# ^ source.svelte meta.script.svelte meta.tag.end.svelte punctuation.definition.tag.end.svelte
+>
\ No newline at end of file