Skip to content

Commit

Permalink
feat(vscode-avalonia): inform redhat.vscode-xml AXAML extends XML; ac…
Browse files Browse the repository at this point in the history
…tivate if available

- contributes.xmlLanguageParticipants[
 { languageId: "AXAML"}
]
- when VSCode extensions change, try activating redhat.vscode-xml if it is installed, enabled, and inactive.

This commit does/allows two things.
1. Registers AXAML with redhat.vscode-xml as an XML-derived language.
2. Ensures the XML formatter is active for formatting AXAML files.
  • Loading branch information
BinToss committed Mar 19, 2024
1 parent c06b9ac commit 8176e35
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
5 changes: 5 additions & 0 deletions src/vscode-avalonia/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,11 @@
"path": "./AXAML.tmLanguage.json"
}
],
"xmlLanguageParticipants": [
{
"languageId": "AXAML"
}
],
"commands": [
{
"command": "avalonia.createPreviewerAssets",
Expand Down
12 changes: 11 additions & 1 deletion src/vscode-avalonia/src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,17 @@ export async function activate(context: vscode.ExtensionContext) {
console.log('Congratulations, your extension "Avalonia UI" is now active!');

const commandManager = new CommandManager();
context.subscriptions.push(registerAvaloniaCommands(commandManager, context));
context.subscriptions.push(
registerAvaloniaCommands(commandManager, context),
vscode.extensions.onDidChange(() => {
/* When AXAML is activated (that's us), try activating redhat.vscode-xml so its formatter is available.
We inform redhat.vscode-xml of our XML-based language via contributes.xmlLanguageParticipants in our package.json. See https://github.com/redhat-developer/vscode-xml/blob/main/docs/Extensions.md#contribution-in-packagejson
*/
const xml = vscode.extensions.getExtension("redhat.vscode-xml");
if (xml && !xml.isActive) {
xml.activate();
}
}));

if (!vscode.workspace.workspaceFolders) {
return;
Expand Down

0 comments on commit 8176e35

Please sign in to comment.