summaryrefslogtreecommitdiff
path: root/vscode/packages/client/src/features/defaultSettings.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vscode/packages/client/src/features/defaultSettings.ts')
-rw-r--r--vscode/packages/client/src/features/defaultSettings.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/vscode/packages/client/src/features/defaultSettings.ts b/vscode/packages/client/src/features/defaultSettings.ts
new file mode 100644
index 000000000..ec3de70a1
--- /dev/null
+++ b/vscode/packages/client/src/features/defaultSettings.ts
@@ -0,0 +1,30 @@
+import * as vscode from 'vscode';
+
+export async function activate() {
+ onConfigUpdated();
+
+ vscode.workspace.onDidChangeConfiguration(onConfigUpdated);
+
+ function onConfigUpdated() {
+ const astro = vscode.extensions.getExtension('skypack.astro');
+ if (!astro) {
+ return;
+ }
+ const emmet = vscode.extensions.getExtension('vscode.emmet');
+ if (!emmet) {
+ return;
+ }
+
+ const emmetIncludeLanguages = getEmmetIncludeLanguages();
+ if (emmetIncludeLanguages && emmetIncludeLanguages['astro']) {
+ return;
+ }
+ setEmmetIncludeLanguages({ ...emmetIncludeLanguages, astro: 'html' });
+ }
+ function getEmmetIncludeLanguages() {
+ return vscode.workspace.getConfiguration('emmet').get<Record<string, string>>('includeLanguages');
+ }
+ function setEmmetIncludeLanguages(value: Record<string, string>) {
+ return vscode.workspace.getConfiguration('emmet').set('includeLanguages', value);
+ }
+}