-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDate.ts
31 lines (28 loc) · 1.33 KB
/
Date.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { languages, CompletionItem, CompletionItemKind } from 'vscode';
import { createCompletionItemKindMethod } from '../misc/createCompletionItemKindFn';
export default languages.registerCompletionItemProvider('aiscript', {
provideCompletionItems(document, position) {
const linePrefix = document.lineAt(position).text.slice(0, position.character);
if (!(/Date:$/).test(linePrefix)) {
if (/(:|\.)[^)\s]*$/.test(linePrefix)) {
return undefined;
}
const DateRoot = new CompletionItem('Date:');
DateRoot.kind = CompletionItemKind.Class;
DateRoot.command = { command: 'editor.action.triggerSuggest', title: 'Re-trigger completions...' };
return [DateRoot];
}
return [
createCompletionItemKindMethod('now'),
createCompletionItemKindMethod('year'),
createCompletionItemKindMethod('month'),
createCompletionItemKindMethod('day'),
createCompletionItemKindMethod('hour'),
createCompletionItemKindMethod('minute'),
createCompletionItemKindMethod('second'),
createCompletionItemKindMethod('millisecond'),
createCompletionItemKindMethod('parse'),
createCompletionItemKindMethod('to_iso_str'),
];
}
}, ':');