summaryrefslogtreecommitdiff
path: root/vscode/packages/client/src/features/defaultSettings.ts
diff options
context:
space:
mode:
authorGravatar Nate Moore <natemoo-re@users.noreply.github.com> 2021-03-25 10:38:17 -0500
committerGravatar GitHub <noreply@github.com> 2021-03-25 10:38:17 -0500
commit18e7cc5af903543ac6f46780bfea67c13c6517df (patch)
treef61100a6adf3d4641cab89a23ac071268ed911e2 /vscode/packages/client/src/features/defaultSettings.ts
parent30cccdf7154b6470e876464da9e412af10894dd5 (diff)
downloadastro-18e7cc5af903543ac6f46780bfea67c13c6517df.tar.gz
astro-18e7cc5af903543ac6f46780bfea67c13c6517df.tar.zst
astro-18e7cc5af903543ac6f46780bfea67c13c6517df.zip
Scaffold language server (#25)
* wip: scaffold astro extension * wip: scaffold astro extension * WIP: vscode extension * fix: autoCloseBefore * chore: update package.json * fix: use tsx instead of plain ts * chore: remove dist files * chore: remove comments * chore: cleanup package build process, switch build to esbuild * refactor: use shared esbuild config Co-authored-by: Nate Moore <nate@skypack.dev>
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);
+ }
+}