Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit e256b1e

Browse files
committedSep 19, 2024·
fix: recover vueBase, not following file configuration
1 parent bf60b86 commit e256b1e

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed
 

‎src/snippets/index.ts

+32-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { CompletionItem, CompletionItemKind, MarkdownString, extensions, languages } from 'vscode';
2-
import { resolve } from 'pathe';
3-
import { readPackageJSON, writePackageJSON } from 'pkg-types'
41
import { homedir } from 'node:os';
5-
import { generateVueFileBasicTemplate } from '../utils';
2+
import { resolve } from 'pathe';
3+
import { readPackageJSON, writePackageJSON } from 'pkg-types';
4+
import { CompletionItem, CompletionItemKind, MarkdownString, extensions, languages } from 'vscode';
5+
import { generateVueFileTemplate } from '../utils';
66

77
interface Snippet {
88
language: string;
@@ -17,7 +17,9 @@ export async function toggleSnippets(source: 'Nuxt' | 'Nitro', moveToDisabled: b
1717

1818
const extensionDir = resolve(homeDir, '.vscode', 'extensions', `${extensionName}-${nuxtrVersion}`);
1919
const pkgJsonPath = resolve(extensionDir, 'package.json');
20+
2021
const pkgJSON = await readPackageJSON(extensionDir);
22+
2123
let snippets: Snippet[] = pkgJSON?.contributes?.snippets || [];
2224
let disabledSnippets: Snippet[] = pkgJSON?.contributes?.disabled_snippets || [];
2325

@@ -48,15 +50,37 @@ languages.registerCompletionItemProvider(
4850
{ language: 'vue' },
4951
{
5052
provideCompletionItems() {
51-
const completionItem = new CompletionItem('vueBaseLayout', CompletionItemKind.Snippet);
53+
const completionItem = new CompletionItem('nuxtBaseLayout', CompletionItemKind.Snippet);
54+
completionItem.detail = 'Generate a Nuxt Layout template';
55+
56+
const template = generateVueFileTemplate('layout');
57+
58+
const documentation = new MarkdownString();
59+
documentation.appendMarkdown(`Generate a Nuxt layout template according to your Nuxtr configuration.\n\n`);
60+
documentation.appendCodeblock(template, 'vue');
61+
62+
completionItem.documentation = documentation;
63+
completionItem.kind = CompletionItemKind.Snippet;
64+
completionItem.insertText = template;
65+
66+
return [completionItem];
67+
}
68+
}
69+
);
70+
71+
72+
languages.registerCompletionItemProvider(
73+
{ language: 'vue' },
74+
{
75+
provideCompletionItems() {
76+
const completionItem = new CompletionItem('vueBase', CompletionItemKind.Snippet);
5277
completionItem.detail = 'Generate a Vue file template';
5378

54-
const template = generateVueFileBasicTemplate('layout');
79+
const template = generateVueFileTemplate('page');
5580

56-
// Create a MarkdownString for documentation with code highlighting
5781
const documentation = new MarkdownString();
5882
documentation.appendMarkdown(`Generate a Vue file template according to your Nuxtr configuration.\n\n`);
59-
documentation.appendCodeblock(template, 'vue'); // Specify 'vue' as the language for code block highlighting
83+
documentation.appendCodeblock(template, 'vue');
6084

6185
completionItem.documentation = documentation;
6286
completionItem.kind = CompletionItemKind.Snippet;

0 commit comments

Comments
 (0)
Please sign in to comment.