intelligent-system-design-language 0.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/langium-language-designer.md +38 -0
- package/.claude/agents/typescript-vscode-expert.md +29 -0
- package/.claude/agents/ui-ux-designer.md +36 -0
- package/.claude/settings.local.json +33 -0
- package/.idea/inspectionProfiles/Project_Default.xml +7 -0
- package/.idea/isdl.iml +14 -0
- package/.idea/modules.xml +9 -0
- package/.idea/vcs.xml +7 -0
- package/.idea/watcherTasks.xml +4 -0
- package/.vscodeignore +18 -0
- package/LICENSE +674 -0
- package/README.md +86 -0
- package/bin/cli.js +4 -0
- package/bin/lsp.js +8 -0
- package/isdl.png +0 -0
- package/out/_backgrounds.scss +91 -0
- package/out/_handlebars.scss +505 -0
- package/out/_isdlStyles.scss +1357 -0
- package/out/_vuetifyOverrides.scss +425 -0
- package/out/_vuetifyStyles.scss +31957 -0
- package/out/cli/cli-util.js +39 -0
- package/out/cli/cli-util.js.map +1 -0
- package/out/cli/components/_backgrounds.scss +91 -0
- package/out/cli/components/_handlebars.scss +505 -0
- package/out/cli/components/_isdlStyles.scss +1357 -0
- package/out/cli/components/_vuetifyOverrides.scss +425 -0
- package/out/cli/components/_vuetifyStyles.scss +31957 -0
- package/out/cli/components/active-effect-sheet-generator.js +643 -0
- package/out/cli/components/active-effect-sheet-generator.js.map +1 -0
- package/out/cli/components/base-actor-sheet-generator.js +125 -0
- package/out/cli/components/base-actor-sheet-generator.js.map +1 -0
- package/out/cli/components/base-sheet-generator.js +525 -0
- package/out/cli/components/base-sheet-generator.js.map +1 -0
- package/out/cli/components/chat-card-generator.js +683 -0
- package/out/cli/components/chat-card-generator.js.map +1 -0
- package/out/cli/components/css-generator.js +58 -0
- package/out/cli/components/css-generator.js.map +1 -0
- package/out/cli/components/damage-roll-generator.js +173 -0
- package/out/cli/components/damage-roll-generator.js.map +1 -0
- package/out/cli/components/datamodel-generator.js +672 -0
- package/out/cli/components/datamodel-generator.js.map +1 -0
- package/out/cli/components/derived-data-generator.js +1340 -0
- package/out/cli/components/derived-data-generator.js.map +1 -0
- package/out/cli/components/hotbar-drop-hook-generator.js +95 -0
- package/out/cli/components/hotbar-drop-hook-generator.js.map +1 -0
- package/out/cli/components/init-hook-generator.js +597 -0
- package/out/cli/components/init-hook-generator.js.map +1 -0
- package/out/cli/components/keywords-generator.js +220 -0
- package/out/cli/components/keywords-generator.js.map +1 -0
- package/out/cli/components/language-generator.js +110 -0
- package/out/cli/components/language-generator.js.map +1 -0
- package/out/cli/components/measured-template-preview.js +234 -0
- package/out/cli/components/measured-template-preview.js.map +1 -0
- package/out/cli/components/method-generator.js +1812 -0
- package/out/cli/components/method-generator.js.map +1 -0
- package/out/cli/components/ready-hook-generator.js +448 -0
- package/out/cli/components/ready-hook-generator.js.map +1 -0
- package/out/cli/components/token-generator.js +138 -0
- package/out/cli/components/token-generator.js.map +1 -0
- package/out/cli/components/utils.js +176 -0
- package/out/cli/components/utils.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-attribute.js +148 -0
- package/out/cli/components/vue/base-components/vue-attribute.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-boolean.js +77 -0
- package/out/cli/components/vue/base-components/vue-boolean.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-calculator.js +106 -0
- package/out/cli/components/vue/base-components/vue-calculator.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-damage-application.js +369 -0
- package/out/cli/components/vue/base-components/vue-damage-application.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-damage-bonuses.js +225 -0
- package/out/cli/components/vue/base-components/vue-damage-bonuses.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-damage-resistances.js +256 -0
- package/out/cli/components/vue/base-components/vue-damage-resistances.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-damage-track.js +134 -0
- package/out/cli/components/vue/base-components/vue-damage-track.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-date-time.js +55 -0
- package/out/cli/components/vue/base-components/vue-date-time.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-dice.js +111 -0
- package/out/cli/components/vue/base-components/vue-dice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-die.js +86 -0
- package/out/cli/components/vue/base-components/vue-die.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-document-choice.js +172 -0
- package/out/cli/components/vue/base-components/vue-document-choice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-document-choices.js +203 -0
- package/out/cli/components/vue/base-components/vue-document-choices.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-document-link.js +73 -0
- package/out/cli/components/vue/base-components/vue-document-link.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-extended-choice.js +101 -0
- package/out/cli/components/vue/base-components/vue-extended-choice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-inventory.js +532 -0
- package/out/cli/components/vue/base-components/vue-inventory.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-macro-choice.js +150 -0
- package/out/cli/components/vue/base-components/vue-macro-choice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-measured-template.js +543 -0
- package/out/cli/components/vue/base-components/vue-measured-template.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-money.js +496 -0
- package/out/cli/components/vue/base-components/vue-money.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-number.js +184 -0
- package/out/cli/components/vue/base-components/vue-number.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-paperdoll.js +56 -0
- package/out/cli/components/vue/base-components/vue-paperdoll.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-parent-property-reference.js +89 -0
- package/out/cli/components/vue/base-components/vue-parent-property-reference.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-prosemirror.js +31 -0
- package/out/cli/components/vue/base-components/vue-prosemirror.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-resource.js +149 -0
- package/out/cli/components/vue/base-components/vue-resource.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-roll-visualizer.js +121 -0
- package/out/cli/components/vue/base-components/vue-roll-visualizer.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-self-property-reference.js +75 -0
- package/out/cli/components/vue/base-components/vue-self-property-reference.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-string-choice.js +111 -0
- package/out/cli/components/vue/base-components/vue-string-choice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-string-choices.js +216 -0
- package/out/cli/components/vue/base-components/vue-string-choices.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-string.js +73 -0
- package/out/cli/components/vue/base-components/vue-string.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-text-field.js +66 -0
- package/out/cli/components/vue/base-components/vue-text-field.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-tracker.js +444 -0
- package/out/cli/components/vue/base-components/vue-tracker.js.map +1 -0
- package/out/cli/components/vue/vue-action-component-generator.js +88 -0
- package/out/cli/components/vue/vue-action-component-generator.js.map +1 -0
- package/out/cli/components/vue/vue-active-effect-sheet-generator.js +1016 -0
- package/out/cli/components/vue/vue-active-effect-sheet-generator.js.map +1 -0
- package/out/cli/components/vue/vue-base-components-generator.js +59 -0
- package/out/cli/components/vue/vue-base-components-generator.js.map +1 -0
- package/out/cli/components/vue/vue-datatable-component-generator.js +307 -0
- package/out/cli/components/vue/vue-datatable-component-generator.js.map +1 -0
- package/out/cli/components/vue/vue-datatable-sheet-class-generator.js +342 -0
- package/out/cli/components/vue/vue-datatable-sheet-class-generator.js.map +1 -0
- package/out/cli/components/vue/vue-datatable2-component-generator.js +939 -0
- package/out/cli/components/vue/vue-datatable2-component-generator.js.map +1 -0
- package/out/cli/components/vue/vue-document-creation-app.js +140 -0
- package/out/cli/components/vue/vue-document-creation-app.js.map +1 -0
- package/out/cli/components/vue/vue-document-creation-sheet.js +105 -0
- package/out/cli/components/vue/vue-document-creation-sheet.js.map +1 -0
- package/out/cli/components/vue/vue-generator.js +240 -0
- package/out/cli/components/vue/vue-generator.js.map +1 -0
- package/out/cli/components/vue/vue-mixin.js +338 -0
- package/out/cli/components/vue/vue-mixin.js.map +1 -0
- package/out/cli/components/vue/vue-pinned-datatable-component-generator.js +306 -0
- package/out/cli/components/vue/vue-pinned-datatable-component-generator.js.map +1 -0
- package/out/cli/components/vue/vue-prompt-generator.js +201 -0
- package/out/cli/components/vue/vue-prompt-generator.js.map +1 -0
- package/out/cli/components/vue/vue-prompt-sheet-class-generator.js +252 -0
- package/out/cli/components/vue/vue-prompt-sheet-class-generator.js.map +1 -0
- package/out/cli/components/vue/vue-sheet-application-generator.js +2008 -0
- package/out/cli/components/vue/vue-sheet-application-generator.js.map +1 -0
- package/out/cli/components/vue/vue-sheet-class-generator.js +484 -0
- package/out/cli/components/vue/vue-sheet-class-generator.js.map +1 -0
- package/out/cli/generator.js +659 -0
- package/out/cli/generator.js.map +1 -0
- package/out/cli/main.js +43 -0
- package/out/cli/main.js.map +1 -0
- package/out/datatables.min.css +54 -0
- package/out/datatables.min.js +178 -0
- package/out/extension/github/githubAuthProvider.js +345 -0
- package/out/extension/github/githubAuthProvider.js.map +1 -0
- package/out/extension/github/githubConfig.js +132 -0
- package/out/extension/github/githubConfig.js.map +1 -0
- package/out/extension/github/githubGistActions.js +251 -0
- package/out/extension/github/githubGistActions.js.map +1 -0
- package/out/extension/github/githubGistManager.js +255 -0
- package/out/extension/github/githubGistManager.js.map +1 -0
- package/out/extension/github/githubManager.js +1735 -0
- package/out/extension/github/githubManager.js.map +1 -0
- package/out/extension/github/githubQuickActions.js +659 -0
- package/out/extension/github/githubQuickActions.js.map +1 -0
- package/out/extension/github/githubTreeProvider.js +181 -0
- package/out/extension/github/githubTreeProvider.js.map +1 -0
- package/out/extension/github/system-workflow.yml +48 -0
- package/out/extension/main.cjs +70315 -0
- package/out/extension/main.cjs.map +7 -0
- package/out/extension/main.js +237 -0
- package/out/extension/main.js.map +1 -0
- package/out/extension/package.json +426 -0
- package/out/isdl.png +0 -0
- package/out/language/generated/ast.js +2992 -0
- package/out/language/generated/ast.js.map +1 -0
- package/out/language/generated/grammar.js +13970 -0
- package/out/language/generated/grammar.js.map +1 -0
- package/out/language/generated/module.js +20 -0
- package/out/language/generated/module.js.map +1 -0
- package/out/language/intelligent-system-design-language-formatter.js +85 -0
- package/out/language/intelligent-system-design-language-formatter.js.map +1 -0
- package/out/language/intelligent-system-design-language-module.js +69 -0
- package/out/language/intelligent-system-design-language-module.js.map +1 -0
- package/out/language/intelligent-system-design-language-quickfixes.js +37 -0
- package/out/language/intelligent-system-design-language-quickfixes.js.map +1 -0
- package/out/language/intelligent-system-design-language-validator.js +515 -0
- package/out/language/intelligent-system-design-language-validator.js.map +1 -0
- package/out/language/isdl-hover-provider.js +77 -0
- package/out/language/isdl-hover-provider.js.map +1 -0
- package/out/language/isdl-scope-provider.js +149 -0
- package/out/language/isdl-scope-provider.js.map +1 -0
- package/out/language/main.cjs +47655 -0
- package/out/language/main.cjs.map +7 -0
- package/out/language/main.js +11 -0
- package/out/language/main.js.map +1 -0
- package/out/missing-character.png +0 -0
- package/out/package.json +426 -0
- package/out/paperdoll_default.png +0 -0
- package/out/progressbar.min.js +7 -0
- package/out/styles.scss +722 -0
- package/out/test/formatting/formatter.test.js +46 -0
- package/out/test/formatting/formatter.test.js.map +1 -0
- package/out/vuetify.esm.js +30279 -0
- package/package.json +426 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import * as vscode from 'vscode';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { spawn } from 'child_process';
|
|
4
|
+
import { LanguageClient, TransportKind } from 'vscode-languageclient/node.js';
|
|
5
|
+
import { IntelligentSystemDesignLanguageQuickfixes } from '../language/intelligent-system-design-language-quickfixes.js';
|
|
6
|
+
import { GitHubManager } from "./github/githubManager.js";
|
|
7
|
+
import { GitHubTreeProvider } from "./github/githubTreeProvider.js";
|
|
8
|
+
import { GitHubQuickActions } from "./github/githubQuickActions.js";
|
|
9
|
+
import { GitHubGistManager } from "./github/githubGistManager.js";
|
|
10
|
+
import { GitHubGistActions } from "./github/githubGistActions.js";
|
|
11
|
+
let client;
|
|
12
|
+
let outputChannel;
|
|
13
|
+
// This function is called when the extension is activated.
|
|
14
|
+
export function activate(context) {
|
|
15
|
+
outputChannel = vscode.window.createOutputChannel('ISDL');
|
|
16
|
+
context.subscriptions.push(outputChannel);
|
|
17
|
+
registerCommands(context);
|
|
18
|
+
registerCodeActions(context);
|
|
19
|
+
registerGithub(context);
|
|
20
|
+
client = startLanguageClient(context);
|
|
21
|
+
}
|
|
22
|
+
// This function is called when the extension is deactivated.
|
|
23
|
+
export function deactivate() {
|
|
24
|
+
if (client) {
|
|
25
|
+
return client.stop();
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
function registerCommands(context) {
|
|
30
|
+
function generate(sourceFilePath, destinationPath) {
|
|
31
|
+
const cliPath = path.resolve(context.extensionPath, 'bin', 'cli.js');
|
|
32
|
+
const fileName = path.basename(sourceFilePath);
|
|
33
|
+
outputChannel.clear();
|
|
34
|
+
outputChannel.appendLine(`Generating ${fileName} → ${destinationPath}`);
|
|
35
|
+
outputChannel.appendLine('');
|
|
36
|
+
vscode.window.withProgress({
|
|
37
|
+
location: vscode.ProgressLocation.Notification,
|
|
38
|
+
title: `Generating ${fileName}...`,
|
|
39
|
+
cancellable: false
|
|
40
|
+
}, () => new Promise((resolve, reject) => {
|
|
41
|
+
const cliProcess = spawn('node', [cliPath, 'generate', `"${sourceFilePath}"`, '--destination', `"${destinationPath}"`], {
|
|
42
|
+
cwd: context.extensionPath,
|
|
43
|
+
shell: true
|
|
44
|
+
});
|
|
45
|
+
let outputPath;
|
|
46
|
+
const errors = [];
|
|
47
|
+
cliProcess.stdout.on('data', (data) => {
|
|
48
|
+
const text = data.toString();
|
|
49
|
+
outputChannel.append(text);
|
|
50
|
+
const match = text.match(/generated successfully:\s*(.+)/i);
|
|
51
|
+
if (match) {
|
|
52
|
+
outputPath = match[1].trim();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
cliProcess.stderr.on('data', (data) => {
|
|
56
|
+
const text = data.toString().trim();
|
|
57
|
+
outputChannel.appendLine(`[error] ${text}`);
|
|
58
|
+
errors.push(text);
|
|
59
|
+
});
|
|
60
|
+
cliProcess.on('close', (code) => {
|
|
61
|
+
if (code === 0) {
|
|
62
|
+
const msg = outputPath
|
|
63
|
+
? `System generated successfully!\n${outputPath}`
|
|
64
|
+
: 'System generated successfully!';
|
|
65
|
+
vscode.window.showInformationMessage(msg);
|
|
66
|
+
resolve();
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
outputChannel.show();
|
|
70
|
+
const detail = errors.length > 0 ? errors.join('\n') : `Exit code ${code}`;
|
|
71
|
+
vscode.window.showErrorMessage(`Generation failed: ${detail}`);
|
|
72
|
+
reject();
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
context.subscriptions.push(vscode.commands.registerCommand('isdl.generate', async () => {
|
|
78
|
+
var _a, _b;
|
|
79
|
+
const files = await vscode.workspace.findFiles('**/*.isdl');
|
|
80
|
+
if (!files || files.length === 0) {
|
|
81
|
+
vscode.window.showErrorMessage('No .isdl files found in the workspace.');
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const lastSelectedFile = context.globalState.get('lastSelectedFile');
|
|
85
|
+
// Pre-select the currently open .isdl file, or fall back to last used
|
|
86
|
+
const activeFile = (_a = vscode.window.activeTextEditor) === null || _a === void 0 ? void 0 : _a.document.uri.fsPath;
|
|
87
|
+
const preferredFile = (_b = ((activeFile === null || activeFile === void 0 ? void 0 : activeFile.endsWith('.isdl')) ? activeFile : undefined)) !== null && _b !== void 0 ? _b : lastSelectedFile;
|
|
88
|
+
const fileItems = files.map(file => ({
|
|
89
|
+
label: path.basename(file.fsPath),
|
|
90
|
+
description: file.fsPath,
|
|
91
|
+
picked: file.fsPath === preferredFile
|
|
92
|
+
}));
|
|
93
|
+
const selectedFile = await vscode.window.showQuickPick(fileItems, {
|
|
94
|
+
placeHolder: 'Select an .isdl file to generate',
|
|
95
|
+
canPickMany: false,
|
|
96
|
+
});
|
|
97
|
+
if (!selectedFile) {
|
|
98
|
+
return; // user cancelled — not an error
|
|
99
|
+
}
|
|
100
|
+
await context.globalState.update('lastSelectedFile', selectedFile.description);
|
|
101
|
+
const sourceFilePath = selectedFile.description;
|
|
102
|
+
const lastSelectedFolder = context.globalState.get('lastSelectedFolder');
|
|
103
|
+
const destinationFolderUri = await vscode.window.showOpenDialog({
|
|
104
|
+
canSelectFiles: false,
|
|
105
|
+
canSelectFolders: true,
|
|
106
|
+
canSelectMany: false,
|
|
107
|
+
openLabel: 'Select Foundry Data/systems Folder',
|
|
108
|
+
title: 'Select your Foundry VTT Data/systems folder',
|
|
109
|
+
defaultUri: lastSelectedFolder ? vscode.Uri.file(lastSelectedFolder) : undefined
|
|
110
|
+
});
|
|
111
|
+
if (!destinationFolderUri || destinationFolderUri.length === 0) {
|
|
112
|
+
return; // user cancelled — not an error
|
|
113
|
+
}
|
|
114
|
+
const destinationPath = destinationFolderUri[0].fsPath;
|
|
115
|
+
await context.globalState.update('lastSelectedFolder', destinationPath);
|
|
116
|
+
generate(sourceFilePath, destinationPath);
|
|
117
|
+
}));
|
|
118
|
+
context.subscriptions.push(vscode.commands.registerCommand('isdl.regenerate', async () => {
|
|
119
|
+
const lastSelectedFile = context.globalState.get('lastSelectedFile');
|
|
120
|
+
const lastSelectedFolder = context.globalState.get('lastSelectedFolder');
|
|
121
|
+
if (!lastSelectedFile || !lastSelectedFolder) {
|
|
122
|
+
vscode.window.showErrorMessage('No previous generation found. Run Generate first.');
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
generate(lastSelectedFile, lastSelectedFolder);
|
|
126
|
+
}));
|
|
127
|
+
}
|
|
128
|
+
function startLanguageClient(context) {
|
|
129
|
+
const serverModule = context.asAbsolutePath(path.join('out', 'language', 'main.cjs'));
|
|
130
|
+
// The debug options for the server
|
|
131
|
+
// --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging.
|
|
132
|
+
// By setting `process.env.DEBUG_BREAK` to a truthy value, the language server will wait until a debugger is attached.
|
|
133
|
+
const debugOptions = { execArgv: ['--nolazy', `--inspect${process.env.DEBUG_BREAK ? '-brk' : ''}=${process.env.DEBUG_SOCKET || '6009'}`] };
|
|
134
|
+
// If the extension is launched in debug mode then the debug server options are used
|
|
135
|
+
// Otherwise the run options are used
|
|
136
|
+
const serverOptions = {
|
|
137
|
+
run: { module: serverModule, transport: TransportKind.ipc },
|
|
138
|
+
debug: { module: serverModule, transport: TransportKind.ipc, options: debugOptions }
|
|
139
|
+
};
|
|
140
|
+
// Options to control the language client
|
|
141
|
+
const clientOptions = {
|
|
142
|
+
documentSelector: [{ scheme: 'file', language: 'intelligent-system-design-language' }]
|
|
143
|
+
};
|
|
144
|
+
// Create the language client and start the client.
|
|
145
|
+
const client = new LanguageClient('intelligent-system-design-language', 'Intelligent System Design Language', serverOptions, clientOptions);
|
|
146
|
+
// Start the client. This will also launch the server
|
|
147
|
+
client.start();
|
|
148
|
+
return client;
|
|
149
|
+
}
|
|
150
|
+
function registerCodeActions(context) {
|
|
151
|
+
vscode.languages.registerCodeActionsProvider('intelligent-system-design-language', new IntelligentSystemDesignLanguageQuickfixes(), {
|
|
152
|
+
providedCodeActionKinds: [vscode.CodeActionKind.QuickFix]
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
function registerGithub(context) {
|
|
156
|
+
// Initialize GitHub components
|
|
157
|
+
const githubManager = new GitHubManager(context);
|
|
158
|
+
const gistManager = new GitHubGistManager(githubManager.getAuthProvider());
|
|
159
|
+
const treeProvider = new GitHubTreeProvider(githubManager, gistManager);
|
|
160
|
+
const quickActions = new GitHubQuickActions(githubManager);
|
|
161
|
+
const gistActions = new GitHubGistActions(gistManager);
|
|
162
|
+
// Register tree view
|
|
163
|
+
const treeView = vscode.window.createTreeView('isdl.github', {
|
|
164
|
+
treeDataProvider: treeProvider,
|
|
165
|
+
showCollapseAll: false
|
|
166
|
+
});
|
|
167
|
+
// Register simplified commands
|
|
168
|
+
const commands = [
|
|
169
|
+
vscode.commands.registerCommand('isdl.github.authenticate', async () => {
|
|
170
|
+
await githubManager.authenticate();
|
|
171
|
+
}),
|
|
172
|
+
vscode.commands.registerCommand('isdl.github.signOut', async () => {
|
|
173
|
+
await githubManager.signOut();
|
|
174
|
+
}),
|
|
175
|
+
vscode.commands.registerCommand('isdl.github.selectRepository', async () => {
|
|
176
|
+
await quickActions.selectRepository();
|
|
177
|
+
}),
|
|
178
|
+
vscode.commands.registerCommand('isdl.github.createRepository', async () => {
|
|
179
|
+
await quickActions.createRepository();
|
|
180
|
+
}),
|
|
181
|
+
vscode.commands.registerCommand('isdl.github.disconnectRepository', async () => {
|
|
182
|
+
await quickActions.disconnectRepository();
|
|
183
|
+
}),
|
|
184
|
+
vscode.commands.registerCommand('isdl.github.publish', async () => {
|
|
185
|
+
await quickActions.publishSystem();
|
|
186
|
+
}),
|
|
187
|
+
vscode.commands.registerCommand('isdl.github.update', async () => {
|
|
188
|
+
await quickActions.updateSystem();
|
|
189
|
+
}),
|
|
190
|
+
vscode.commands.registerCommand('isdl.github.selectGist', async () => {
|
|
191
|
+
await gistActions.selectGist();
|
|
192
|
+
}),
|
|
193
|
+
vscode.commands.registerCommand('isdl.github.createGist', async () => {
|
|
194
|
+
await gistActions.createGist();
|
|
195
|
+
}),
|
|
196
|
+
vscode.commands.registerCommand('isdl.github.syncToGist', async () => {
|
|
197
|
+
await gistActions.syncToGist();
|
|
198
|
+
}),
|
|
199
|
+
vscode.commands.registerCommand('isdl.github.downloadFromGist', async () => {
|
|
200
|
+
await gistActions.downloadFromGist();
|
|
201
|
+
}),
|
|
202
|
+
vscode.commands.registerCommand('isdl.github.disconnectGist', async () => {
|
|
203
|
+
await gistActions.disconnectGist();
|
|
204
|
+
}),
|
|
205
|
+
vscode.commands.registerCommand('isdl.github.refresh', () => {
|
|
206
|
+
treeProvider.refresh();
|
|
207
|
+
}),
|
|
208
|
+
vscode.commands.registerCommand('isdl.github.openProfile', (username) => {
|
|
209
|
+
if (username) {
|
|
210
|
+
vscode.env.openExternal(vscode.Uri.parse(`https://github.com/${username}`));
|
|
211
|
+
}
|
|
212
|
+
})
|
|
213
|
+
];
|
|
214
|
+
// Add to context subscriptions
|
|
215
|
+
context.subscriptions.push(treeView, ...commands);
|
|
216
|
+
updateWorkspaceContext();
|
|
217
|
+
// Watch for ISDL files to update context
|
|
218
|
+
const fileWatcher = vscode.workspace.createFileSystemWatcher('**/*.isdl');
|
|
219
|
+
fileWatcher.onDidCreate(updateWorkspaceContext);
|
|
220
|
+
fileWatcher.onDidDelete(updateWorkspaceContext);
|
|
221
|
+
context.subscriptions.push(fileWatcher);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Update workspace context for when clauses
|
|
225
|
+
*/
|
|
226
|
+
async function updateWorkspaceContext() {
|
|
227
|
+
const workspaceFolders = vscode.workspace.workspaceFolders;
|
|
228
|
+
if (!workspaceFolders) {
|
|
229
|
+
await vscode.commands.executeCommand('setContext', 'isdl.workspaceHasIsdlFiles', false);
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
// Check if workspace has ISDL files
|
|
233
|
+
const isdlFiles = await vscode.workspace.findFiles('**/*.isdl', null, 1);
|
|
234
|
+
const hasIsdlFiles = isdlFiles.length > 0;
|
|
235
|
+
await vscode.commands.executeCommand('setContext', 'isdl.workspaceHasIsdlFiles', hasIsdlFiles);
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/extension/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,yCAAyC,EAAE,MAAM,8DAA8D,CAAC;AACzH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,IAAI,MAAsB,CAAC;AAC3B,IAAI,aAAmC,CAAC;AAExC,2DAA2D;AAC3D,MAAM,UAAU,QAAQ,CAAC,OAAgC;IACrD,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1C,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,UAAU;IACtB,IAAI,MAAM,EAAE;QACR,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;KACxB;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgC;IAEtD,SAAS,QAAQ,CAAC,cAAsB,EAAE,eAAuB;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE/C,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,aAAa,CAAC,UAAU,CAAC,cAAc,QAAQ,MAAM,eAAe,EAAE,CAAC,CAAC;QACxE,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE7B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;YACvB,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,YAAY;YAC9C,KAAK,EAAE,cAAc,QAAQ,KAAK;YAClC,WAAW,EAAE,KAAK;SACrB,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,cAAc,GAAG,EAAE,eAAe,EAAE,IAAI,eAAe,GAAG,CAAC,EAAE;gBACpH,GAAG,EAAE,OAAO,CAAC,aAAa;gBAC1B,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,UAA8B,CAAC;YACnC,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAC5D,IAAI,KAAK,EAAE;oBACP,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAChC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBACpC,aAAa,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,IAAI,KAAK,CAAC,EAAE;oBACZ,MAAM,GAAG,GAAG,UAAU;wBAClB,CAAC,CAAC,mCAAmC,UAAU,EAAE;wBACjD,CAAC,CAAC,gCAAgC,CAAC;oBACvC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;oBAC1C,OAAO,EAAE,CAAC;iBACb;qBAAM;oBACH,aAAa,CAAC,IAAI,EAAE,CAAC;oBACrB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;oBAC3E,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;oBAC/D,MAAM,EAAE,CAAC;iBACZ;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;;QACnF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,wCAAwC,CAAC,CAAC;YACzE,OAAO;SACV;QAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAC;QAE7E,sEAAsE;QACtE,MAAM,UAAU,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,gBAAgB,0CAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QACvE,MAAM,aAAa,GAAG,MAAA,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,mCAAI,gBAAgB,CAAC;QAEnG,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YACjC,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,aAAa;SACxC,CAAC,CAAC,CAAC;QAEJ,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE;YAC9D,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,CAAC,gCAAgC;SAC3C;QAED,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QAE/E,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,CAAC;QAChD,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAS,oBAAoB,CAAC,CAAC;QAEjF,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;YAC5D,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,IAAI;YACtB,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,oCAAoC;YAC/C,KAAK,EAAE,6CAA6C;YACpD,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS;SACnF,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5D,OAAO,CAAC,gCAAgC;SAC3C;QAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACvD,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;QAExE,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAC;QAC7E,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAS,oBAAoB,CAAC,CAAC;QAEjF,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,EAAE;YAC1C,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,mDAAmD,CAAC,CAAC;YACpF,OAAO;SACV;QAED,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgC;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IACtF,mCAAmC;IACnC,8GAA8G;IAC9G,sHAAsH;IACtH,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC;IAE3I,oFAAoF;IACpF,qCAAqC;IACrC,MAAM,aAAa,GAAkB;QACjC,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,GAAG,EAAE;QAC3D,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE;KACvF,CAAC;IAEF,yCAAyC;IACzC,MAAM,aAAa,GAA0B;QACzC,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oCAAoC,EAAE,CAAC;KACzF,CAAC;IAEF,mDAAmD;IACnD,MAAM,MAAM,GAAG,IAAI,cAAc,CAC7B,oCAAoC,EACpC,oCAAoC,EACpC,aAAa,EACb,aAAa,CAChB,CAAC;IAEF,qDAAqD;IACrD,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgC;IACzD,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,oCAAoC,EAAE,IAAI,yCAAyC,EAAE,EAAE;QAChI,uBAAuB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;KAC5D,CAAC,CAAC;AACP,CAAC;AAED,SAAS,cAAc,CAAC,OAAgC;IACpD,+BAA+B;IAC/B,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEvD,qBAAqB;IACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE;QACzD,gBAAgB,EAAE,YAAY;QAC9B,eAAe,EAAE,KAAK;KACzB,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,QAAQ,GAAG;QACb,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;QACvC,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC1C,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC1C,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,YAAY,CAAC,oBAAoB,EAAE,CAAC;QAC9C,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,YAAY,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;QACtC,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACzC,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACxD,YAAY,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,EAAE,CAAC,QAAgB,EAAE,EAAE;YAC5E,IAAI,QAAQ,EAAE;gBACV,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC,CAAC;aAC/E;QACL,CAAC,CAAC;KACL,CAAC;IAEF,+BAA+B;IAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;IAElD,sBAAsB,EAAE,CAAC;IAEzB,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC1E,WAAW,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAChD,WAAW,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAChD,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB;IACjC,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAC3D,IAAI,CAAC,gBAAgB,EAAE;QACnB,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACxF,OAAO;KACV;IAED,oCAAoC;IACpC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1C,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,4BAA4B,EAAE,YAAY,CAAC,CAAC;AACnG,CAAC"}
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "isdl",
|
|
3
|
+
"displayName": "ISDL - Intelligent System Design Language",
|
|
4
|
+
"description": "Intelligent System Design Language support for Visual Studio Code",
|
|
5
|
+
"publisher": "IronMooseDevelopment",
|
|
6
|
+
"version": "0.3.13",
|
|
7
|
+
"author": "Iron Moose Development",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/cswendrowski/intelligent-system-design-language"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/cswendrowski/intelligent-system-design-language#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/cswendrowski/intelligent-system-design-language/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"isdl",
|
|
18
|
+
"foundry-vtt",
|
|
19
|
+
"tabletop-rpg",
|
|
20
|
+
"dsl",
|
|
21
|
+
"game-system",
|
|
22
|
+
"character-sheet"
|
|
23
|
+
],
|
|
24
|
+
"preview": true,
|
|
25
|
+
"license": "GPL-3.0",
|
|
26
|
+
"type": "module",
|
|
27
|
+
"icon": "isdl.png",
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc -b tsconfig.src.json && node esbuild.mjs",
|
|
30
|
+
"watch": "concurrently -n tsc,esbuild -c blue,yellow \"tsc -b tsconfig.src.json --watch\" \"node esbuild.mjs --watch\"",
|
|
31
|
+
"lint": "eslint src --ext ts",
|
|
32
|
+
"langium:generate": "langium generate",
|
|
33
|
+
"langium:watch": "langium generate --watch",
|
|
34
|
+
"vscode:prepublish": "",
|
|
35
|
+
"test": "vitest run",
|
|
36
|
+
"isdl:generate": "node ./bin/cli.js"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@mdi/font": "^7.4.47",
|
|
40
|
+
"@octokit/auth-app": "^6.0.0",
|
|
41
|
+
"@octokit/rest": "^19.0.13",
|
|
42
|
+
"@vitejs/plugin-vue": "^5.0.0",
|
|
43
|
+
"chalk": "~5.3.0",
|
|
44
|
+
"commander": "~11.0.0",
|
|
45
|
+
"datatables.net-buttons": "^3.2.2",
|
|
46
|
+
"datatables.net-buttons-dt": "^3.2.2",
|
|
47
|
+
"datatables.net-colreorder-dt": "^2.0.4",
|
|
48
|
+
"datatables.net-dt": "^2.2.2",
|
|
49
|
+
"datatables.net-responsive-dt": "^3.0.4",
|
|
50
|
+
"datatables.net-rowreorder-dt": "^1.5.0",
|
|
51
|
+
"datatables.net-vue3": "^3.0.4",
|
|
52
|
+
"inflection": "^3.0.0",
|
|
53
|
+
"langium": "~3.0.0",
|
|
54
|
+
"rpg-awesome": "^0.2.0",
|
|
55
|
+
"sass": "^1.77.4",
|
|
56
|
+
"vite": "^5.0.0",
|
|
57
|
+
"vite-plugin-vuetify": "^2.1.0",
|
|
58
|
+
"vscode-languageclient": "~9.0.1",
|
|
59
|
+
"vscode-languageserver": "~9.0.1",
|
|
60
|
+
"vue": "^3.4.0",
|
|
61
|
+
"vuetify": "^3.7.14"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@fortawesome/fontawesome-free": "^6.7.2",
|
|
65
|
+
"@types/node": "^18.19.34",
|
|
66
|
+
"@types/vscode": "~1.67.0",
|
|
67
|
+
"@typescript-eslint/eslint-plugin": "~6.4.1",
|
|
68
|
+
"@typescript-eslint/parser": "~6.4.1",
|
|
69
|
+
"concurrently": "~8.2.1",
|
|
70
|
+
"esbuild": "^0.19.12",
|
|
71
|
+
"eslint": "~8.47.0",
|
|
72
|
+
"langium-cli": "~3.0.0",
|
|
73
|
+
"typescript": "~5.1.6",
|
|
74
|
+
"vite-plugin-vue-devtools": "^7.7.2",
|
|
75
|
+
"vitest": "~1.4.0"
|
|
76
|
+
},
|
|
77
|
+
"engines": {
|
|
78
|
+
"vscode": "^1.67.0",
|
|
79
|
+
"node": ">=18.0.0"
|
|
80
|
+
},
|
|
81
|
+
"categories": [
|
|
82
|
+
"Programming Languages"
|
|
83
|
+
],
|
|
84
|
+
"contributes": {
|
|
85
|
+
"languages": [
|
|
86
|
+
{
|
|
87
|
+
"id": "intelligent-system-design-language",
|
|
88
|
+
"aliases": [
|
|
89
|
+
"Intelligent System Design Language",
|
|
90
|
+
"intelligent-system-design-language"
|
|
91
|
+
],
|
|
92
|
+
"extensions": [
|
|
93
|
+
".isdl"
|
|
94
|
+
],
|
|
95
|
+
"configuration": "./language-configuration.json"
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
"configurationDefaults": {
|
|
99
|
+
"[intelligent-system-design-language]": {
|
|
100
|
+
"editor.formatOnSave": true
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"grammars": [
|
|
104
|
+
{
|
|
105
|
+
"language": "intelligent-system-design-language",
|
|
106
|
+
"scopeName": "source.intelligent-system-design-language",
|
|
107
|
+
"path": "syntaxes/intelligent-system-design-language.tmLanguage.json"
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
"snippets": [
|
|
111
|
+
{
|
|
112
|
+
"language": "intelligent-system-design-language",
|
|
113
|
+
"path": "snippets/isdl.json"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"commands": [
|
|
117
|
+
{
|
|
118
|
+
"command": "isdl.generate",
|
|
119
|
+
"title": "Generate",
|
|
120
|
+
"category": "ISDL"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"command": "isdl.regenerate",
|
|
124
|
+
"title": "Regenerate",
|
|
125
|
+
"category": "ISDL"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"command": "isdl.github.authenticate",
|
|
129
|
+
"title": "Connect to GitHub",
|
|
130
|
+
"category": "ISDL - GitHub",
|
|
131
|
+
"icon": "$(github)"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"command": "isdl.github.signOut",
|
|
135
|
+
"title": "Sign Out from GitHub",
|
|
136
|
+
"category": "ISDL - GitHub",
|
|
137
|
+
"icon": "$(sign-out)"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"command": "isdl.github.selectRepository",
|
|
141
|
+
"title": "Select Repository",
|
|
142
|
+
"category": "ISDL - GitHub",
|
|
143
|
+
"icon": "$(repo)"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"command": "isdl.github.createRepository",
|
|
147
|
+
"title": "Create Repository",
|
|
148
|
+
"category": "ISDL - GitHub",
|
|
149
|
+
"icon": "$(repo-create)"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"command": "isdl.github.publish",
|
|
153
|
+
"title": "Publish System",
|
|
154
|
+
"category": "ISDL - GitHub",
|
|
155
|
+
"icon": "$(rocket)"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"command": "isdl.github.update",
|
|
159
|
+
"title": "Update Files",
|
|
160
|
+
"category": "ISDL - GitHub",
|
|
161
|
+
"icon": "$(cloud-upload)"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"command": "isdl.github.refresh",
|
|
165
|
+
"title": "Refresh",
|
|
166
|
+
"category": "ISDL - GitHub",
|
|
167
|
+
"icon": "$(refresh)"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"command": "isdl.github.selectGist",
|
|
171
|
+
"title": "Select Gist",
|
|
172
|
+
"category": "ISDL - GitHub",
|
|
173
|
+
"icon": "$(gist)"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"command": "isdl.github.createGist",
|
|
177
|
+
"title": "Create Gist",
|
|
178
|
+
"category": "ISDL - GitHub",
|
|
179
|
+
"icon": "$(gist-new)"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"command": "isdl.github.syncToGist",
|
|
183
|
+
"title": "Sync to Gist",
|
|
184
|
+
"category": "ISDL - GitHub",
|
|
185
|
+
"icon": "$(cloud-upload)"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"command": "isdl.github.downloadFromGist",
|
|
189
|
+
"title": "Download from Gist",
|
|
190
|
+
"category": "ISDL - GitHub",
|
|
191
|
+
"icon": "$(cloud-download)"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"command": "isdl.github.disconnectGist",
|
|
195
|
+
"title": "Disconnect Gist",
|
|
196
|
+
"category": "ISDL - GitHub",
|
|
197
|
+
"icon": "$(diff-removed)"
|
|
198
|
+
}
|
|
199
|
+
],
|
|
200
|
+
"views": {
|
|
201
|
+
"isdl-explorer": [
|
|
202
|
+
{
|
|
203
|
+
"id": "isdl.github",
|
|
204
|
+
"name": "GitHub Publishing",
|
|
205
|
+
"icon": "$(github)",
|
|
206
|
+
"visibility": "collapsed"
|
|
207
|
+
}
|
|
208
|
+
]
|
|
209
|
+
},
|
|
210
|
+
"viewsContainers": {
|
|
211
|
+
"activitybar": [
|
|
212
|
+
{
|
|
213
|
+
"id": "isdl-explorer",
|
|
214
|
+
"title": "Intelligent System Design Language",
|
|
215
|
+
"icon": "$(lightbulb-sparkle)"
|
|
216
|
+
}
|
|
217
|
+
]
|
|
218
|
+
},
|
|
219
|
+
"menus": {
|
|
220
|
+
"view/title": [
|
|
221
|
+
{
|
|
222
|
+
"command": "isdl.github.refresh",
|
|
223
|
+
"when": "view == isdl.github",
|
|
224
|
+
"group": "navigation@1"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"command": "isdl.github.authenticate",
|
|
228
|
+
"when": "view == isdl.github && !isdl.github.authenticated",
|
|
229
|
+
"group": "navigation@2"
|
|
230
|
+
}
|
|
231
|
+
],
|
|
232
|
+
"view/item/context": [
|
|
233
|
+
{
|
|
234
|
+
"command": "isdl.github.signOut",
|
|
235
|
+
"when": "view == isdl.github && viewItem == authenticated",
|
|
236
|
+
"group": "inline@1"
|
|
237
|
+
}
|
|
238
|
+
],
|
|
239
|
+
"commandPalette": [
|
|
240
|
+
{
|
|
241
|
+
"command": "isdl.github.authenticate",
|
|
242
|
+
"when": "isdl.workspaceHasIsdlFiles"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"command": "isdl.github.publish",
|
|
246
|
+
"when": "isdl.workspaceHasIsdlFiles && isdl.github.authenticated"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"command": "isdl.github.update",
|
|
250
|
+
"when": "isdl.workspaceHasIsdlFiles && isdl.github.authenticated"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"command": "isdl.github.createRepository",
|
|
254
|
+
"when": "isdl.workspaceHasIsdlFiles && isdl.github.authenticated"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"command": "isdl.github.selectRepository",
|
|
258
|
+
"when": "isdl.workspaceHasIsdlFiles && isdl.github.authenticated"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"command": "isdl.github.selectGist",
|
|
262
|
+
"when": "isdl.workspaceHasIsdlFiles && isdl.github.authenticated"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"command": "isdl.github.createGist",
|
|
266
|
+
"when": "isdl.workspaceHasIsdlFiles && isdl.github.authenticated"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"command": "isdl.github.syncToGist",
|
|
270
|
+
"when": "isdl.workspaceHasIsdlFiles && isdl.github.authenticated"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"command": "isdl.github.downloadFromGist",
|
|
274
|
+
"when": "isdl.workspaceHasIsdlFiles && isdl.github.authenticated"
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"editor/title": [
|
|
278
|
+
{
|
|
279
|
+
"command": "isdl.github.publish",
|
|
280
|
+
"when": "resourceExtname == .isdl && isdl.github.authenticated",
|
|
281
|
+
"group": "navigation@1"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"command": "isdl.github.update",
|
|
285
|
+
"when": "resourceExtname == .isdl && isdl.github.authenticated",
|
|
286
|
+
"group": "navigation@2"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"command": "isdl.github.syncToGist",
|
|
290
|
+
"when": "resourceExtname == .isdl && isdl.github.authenticated",
|
|
291
|
+
"group": "navigation@3"
|
|
292
|
+
}
|
|
293
|
+
],
|
|
294
|
+
"explorer/context": [
|
|
295
|
+
{
|
|
296
|
+
"command": "isdl.github.publish",
|
|
297
|
+
"when": "resourceExtname == .isdl && isdl.github.authenticated",
|
|
298
|
+
"group": "isdl@1"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"command": "isdl.github.update",
|
|
302
|
+
"when": "resourceExtname == .isdl && isdl.github.authenticated",
|
|
303
|
+
"group": "isdl@2"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"command": "isdl.github.syncToGist",
|
|
307
|
+
"when": "resourceExtname == .isdl && isdl.github.authenticated",
|
|
308
|
+
"group": "isdl@3"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"command": "isdl.github.createGist",
|
|
312
|
+
"when": "resourceExtname == .isdl && isdl.github.authenticated",
|
|
313
|
+
"group": "isdl@4"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"command": "isdl.github.createRepository",
|
|
317
|
+
"when": "explorerResourceIsFolder && isdl.workspaceHasIsdlFiles && isdl.github.authenticated",
|
|
318
|
+
"group": "isdl@5"
|
|
319
|
+
}
|
|
320
|
+
]
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
"configuration": {
|
|
324
|
+
"type": "object",
|
|
325
|
+
"title": "Intelligent System Design Language Configuration",
|
|
326
|
+
"properties": {
|
|
327
|
+
"isdl.lastSelectedFolder": {
|
|
328
|
+
"type": "string",
|
|
329
|
+
"default": "",
|
|
330
|
+
"description": "The last selected folder path"
|
|
331
|
+
},
|
|
332
|
+
"isdl.lastSelectedFile": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"default": "",
|
|
335
|
+
"description": "The last selected file"
|
|
336
|
+
},
|
|
337
|
+
"isdl.github.defaultBranch": {
|
|
338
|
+
"type": "string",
|
|
339
|
+
"default": "main",
|
|
340
|
+
"description": "Default branch name for new repositories",
|
|
341
|
+
"enum": [
|
|
342
|
+
"main",
|
|
343
|
+
"master",
|
|
344
|
+
"develop"
|
|
345
|
+
],
|
|
346
|
+
"enumDescriptions": [
|
|
347
|
+
"Use 'main' as the default branch (recommended)",
|
|
348
|
+
"Use 'master' as the default branch",
|
|
349
|
+
"Use 'develop' as the default branch"
|
|
350
|
+
]
|
|
351
|
+
},
|
|
352
|
+
"isdl.github.includeDocumentation": {
|
|
353
|
+
"type": "boolean",
|
|
354
|
+
"default": true,
|
|
355
|
+
"description": "Automatically generate README and documentation files when publishing"
|
|
356
|
+
},
|
|
357
|
+
"isdl.github.includeBuildScripts": {
|
|
358
|
+
"type": "boolean",
|
|
359
|
+
"default": true,
|
|
360
|
+
"description": "Include GitHub Actions workflows and build configuration"
|
|
361
|
+
},
|
|
362
|
+
"isdl.github.templateRepository": {
|
|
363
|
+
"type": "string",
|
|
364
|
+
"description": "GitHub repository to use as a template (format: owner/repo)",
|
|
365
|
+
"pattern": "^[a-zA-Z0-9._-]+/[a-zA-Z0-9._-]+$"
|
|
366
|
+
},
|
|
367
|
+
"isdl.github.commitMessage": {
|
|
368
|
+
"type": "string",
|
|
369
|
+
"default": "Update system files",
|
|
370
|
+
"description": "Default commit message for automated updates"
|
|
371
|
+
},
|
|
372
|
+
"isdl.github.tagReleases": {
|
|
373
|
+
"type": "boolean",
|
|
374
|
+
"default": true,
|
|
375
|
+
"description": "Automatically create Git tags when publishing releases"
|
|
376
|
+
},
|
|
377
|
+
"isdl.github.generateChangelog": {
|
|
378
|
+
"type": "boolean",
|
|
379
|
+
"default": true,
|
|
380
|
+
"description": "Generate CHANGELOG.md from commit history"
|
|
381
|
+
},
|
|
382
|
+
"isdl.github.autoPublish": {
|
|
383
|
+
"type": "boolean",
|
|
384
|
+
"default": false,
|
|
385
|
+
"description": "Automatically publish to GitHub when system files are generated"
|
|
386
|
+
},
|
|
387
|
+
"isdl.github.repositoryVisibility": {
|
|
388
|
+
"type": "string",
|
|
389
|
+
"default": "public",
|
|
390
|
+
"enum": [
|
|
391
|
+
"public",
|
|
392
|
+
"private"
|
|
393
|
+
],
|
|
394
|
+
"enumDescriptions": [
|
|
395
|
+
"Create public repositories (visible to everyone, required for people to be able to install the system)",
|
|
396
|
+
"Create private repositories (visible only to you and collaborators)"
|
|
397
|
+
],
|
|
398
|
+
"description": "Default visibility for new repositories"
|
|
399
|
+
},
|
|
400
|
+
"isdl.github.licenseTemplate": {
|
|
401
|
+
"type": "string",
|
|
402
|
+
"description": "License template to include in new repositories. See https://choosealicense.com/licenses/ for more details",
|
|
403
|
+
"enum": [
|
|
404
|
+
"unlicense",
|
|
405
|
+
"mit",
|
|
406
|
+
"lgpl-3.0"
|
|
407
|
+
],
|
|
408
|
+
"enumDescriptions": [
|
|
409
|
+
"The Unlicense - Public domain dedication, anyone can do what they want",
|
|
410
|
+
"MIT License - Permissive license with basic protections and attribution",
|
|
411
|
+
"GNU LGPL v3.0 - Copyleft license that prevents someone from making your system closed source but allows modules to do what they want"
|
|
412
|
+
]
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
"activationEvents": [
|
|
417
|
+
"onLanguage:intelligent-system-design-language",
|
|
418
|
+
"onView:isdl.github"
|
|
419
|
+
],
|
|
420
|
+
"main": "./out/extension/main.cjs",
|
|
421
|
+
"bin": {
|
|
422
|
+
"isdl": "./bin/cli.js",
|
|
423
|
+
"isdl-lsp": "./bin/lsp.js",
|
|
424
|
+
"intelligent-system-design-language-cli": "./bin/cli.js"
|
|
425
|
+
}
|
|
426
|
+
}
|
package/out/isdl.png
ADDED
|
Binary file
|