Skip to content

Commit 93d0717

Browse files
committed
offer an option to close Hover
1 parent d487b1e commit 93d0717

File tree

6 files changed

+30
-18
lines changed

6 files changed

+30
-18
lines changed

i18n/chs/package.i18n.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@
2121
"dosasm.config.boxconsole.normal": "显示控制台窗口,使用命令如`dosbox`",
2222
"dosasm.config.boxconsole.noconsole": "不显示控制台窗口,而是重定向到文件,使用命令如`dosbox -noconsole`",
2323
"dosasm.config.dosbox.resolution": "自定义dosbox窗口大小,格式如1024x640,不设置则为DOSBox默认大小",
24-
"dosasm.command.dosboxhere": "打开DOSBox将当前文件所在目录挂载到E盘,并配置相关环境"
24+
"dosasm.command.dosboxhere": "打开DOSBox将当前文件所在目录挂载到E盘,并配置相关环境",
25+
"dosasm.config.hover": "是否显示悬浮提示(hover),可能需要重启vscode来应用变更"
2526
}

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,12 @@
148148
"masmtasm.language.programmaticFeatures": {
149149
"type": "boolean",
150150
"default": true,
151-
"description": "Experimental programmatic features like hover,outline,jump to definition/reference. Restart needed"
151+
"description": "Experimental programmatic features like outline,jump to definition/reference. Restart needed"
152+
},
153+
"masmtasm.language.Hover": {
154+
"type": "boolean",
155+
"default": true,
156+
"description": "%dosasm.config.hover%"
152157
},
153158
"masmtasm.dosbox.run": {
154159
"type": "string",

package.nls.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@
2121
"dosasm.config.boxconsole.normal": "Show the console window, via command like `dosbox`",
2222
"dosasm.config.boxconsole.noconsole": "Redirect the console stdout and stderr to files, via command like `dosbox -noconsole`",
2323
"dosasm.config.dosbox.resolution": "Set dosbox resolution like '1024x640'.If left empty, it means use the default resolution of DOSBox",
24-
"dosasm.command.dosboxhere": "Dosbox here: Open DosBox, Mount the path of the editor files's folder as E:\\ and set the needed environment"
24+
"dosasm.command.dosboxhere": "Dosbox here: Open DosBox, Mount the path of the editor files's folder as E:\\ and set the needed environment",
25+
"dosasm.config.hover": "Display Hover information or not, restart VSCode to apply"
2526
}

src/extension.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ import { provider } from "./language/provider";
77
let asm: AsmAction;
88
export function activate(context: vscode.ExtensionContext) {
99
console.log(localize("activate.hello", 'Congratulations, your extension "masm-tasm" is now active!'));
10-
//provide programmaic language features like hover,references,outline(symbol)
11-
let programmaticFeatures = vscode.workspace.getConfiguration("masmtasm.language").get("programmaticFeatures");
12-
if (programmaticFeatures) { provider(context); }
10+
//provide programmaic language features like hover,references,outline(symbol)masmtasm.language.Hover
11+
provider(context);
1312
//run and debug the code in dosbox or msdos-player by TASM ot MASM
1413
asm = new AsmAction(context);
1514
let opendosbox = vscode.commands.registerTextEditorCommand('masm-tasm.opendosbox', () => {

src/language/provider.ts

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,22 @@ class AsmDocFormat implements vscode.DocumentFormattingEditProvider {
6666
}
6767
}
6868
export function provider(context: vscode.ExtensionContext) {
69-
let uri = vscode.Uri.joinPath(context.extensionUri, "./scripts/keyword.json");
70-
vscode.workspace.fs.readFile(uri).then(
71-
(text) => {
72-
key.Dictionary(text.toString());
73-
}
74-
);
75-
context.subscriptions.push(vscode.languages.registerHoverProvider('assembly', new AsmHoverProvider()));
76-
context.subscriptions.push(vscode.languages.registerDefinitionProvider("assembly", new AsmDefProvider()));
77-
context.subscriptions.push(vscode.languages.registerDocumentSymbolProvider("assembly", new Asmsymbolprovider()));
78-
context.subscriptions.push(vscode.languages.registerReferenceProvider("assembly", new AsmReferenceProvider()));
79-
context.subscriptions.push(vscode.languages.registerDocumentFormattingEditProvider("assembly", new AsmDocFormat()));
69+
let programmaticFeatures = vscode.workspace.getConfiguration("masmtasm.language");
70+
if (programmaticFeatures.get("Hover")) {
71+
let uri = vscode.Uri.joinPath(context.extensionUri, "./scripts/keyword.json");
72+
vscode.workspace.fs.readFile(uri).then(
73+
(text) => {
74+
key.Dictionary(text.toString());
75+
}
76+
);
77+
context.subscriptions.push(vscode.languages.registerHoverProvider('assembly', new AsmHoverProvider()));
78+
}
79+
if (programmaticFeatures.get("programmaticFeatures")) {
80+
context.subscriptions.push(vscode.languages.registerDocumentSymbolProvider("assembly", new Asmsymbolprovider()));
81+
context.subscriptions.push(vscode.languages.registerDefinitionProvider("assembly", new AsmDefProvider()));
82+
context.subscriptions.push(vscode.languages.registerReferenceProvider("assembly", new AsmReferenceProvider()));
83+
context.subscriptions.push(vscode.languages.registerDocumentFormattingEditProvider("assembly", new AsmDocFormat()));
84+
}
85+
8086
}
8187

src/language/wordinfo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ export function scanDocumnt(doc?: vscode.TextDocument): vscode.DocumentSymbol[]
440440
// part two offer imformation for keyword and number(char)
441441

442442
export function isNumberStr(str: string): boolean {
443-
let a = str.match(/([01]+B|[0-7]+[Qq]|[0-9][0-9A-Fa-f]*[Hh]|[0-9]+[Dd]?)/);
443+
let a = str.match(/([01]+[Bb]|[0-7]+[Qq]|[0-9][0-9A-Fa-f]*[Hh]|[0-9]+[Dd]?)/);
444444
if (a && a[0] === str) { return true; }
445445
return false;
446446
}

0 commit comments

Comments
 (0)