Skip to content

Commit 8d32fe2

Browse files
committed
suggest macros name without $$$ prefix
1 parent 24f51fc commit 8d32fe2

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/providers/ObjectScriptCompletionItemProvider.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,14 @@ export class ObjectScriptCompletionItemProvider implements vscode.CompletionItem
9090
public macrolist(
9191
document: vscode.TextDocument,
9292
position: vscode.Position,
93-
token: vscode.CancellationToken,
94-
context: vscode.CompletionContext
93+
_token: vscode.CancellationToken,
94+
_context: vscode.CompletionContext
9595
): vscode.ProviderResult<vscode.CompletionItem[] | vscode.CompletionList> {
96-
const range = document.getWordRangeAtPosition(position, /\${3}(\b\w[\w\d]*\b)?/);
96+
const pattern = /(\${3}|\s)(\b\w[\w\d]*\b)?/;
97+
const range = document.getWordRangeAtPosition(position, pattern);
9798
const text = range ? document.getText(range) : "";
9899
if (range) {
99-
const macro = text.toLowerCase().slice(3);
100+
const [, prefix, macro = ""] = text.toLowerCase().match(pattern);
100101
const file = currentFile();
101102
const api = new AtelierAPI();
102103
return api
@@ -107,9 +108,9 @@ export class ObjectScriptCompletionItemProvider implements vscode.CompletionItem
107108
.then((list) =>
108109
list.map((el) => ({
109110
label: el,
110-
// kind: vscode.CompletionItemKind.Constant,
111-
// insertText: el,
112-
range,
111+
range: range.with(
112+
new vscode.Position(range.start.line, range.start.character + prefix.replace(/\$/g, "").length)
113+
),
113114
}))
114115
);
115116
}

0 commit comments

Comments
 (0)