diff --git a/packages/svelte-vscode/package.json b/packages/svelte-vscode/package.json index 1025a4566..199272e33 100644 --- a/packages/svelte-vscode/package.json +++ b/packages/svelte-vscode/package.json @@ -541,39 +541,39 @@ }, { "command": "svelte.kit.generateMultipleFiles", - "title": "SvelteKit: Generate files" + "title": "SvelteKit: Create route" }, { "command": "svelte.kit.generatePage", - "title": "SvelteKit: Generate Page" + "title": "SvelteKit: Create +page.svelte" }, { "command": "svelte.kit.generatePageLoad", - "title": "SvelteKit: Generate Page load" + "title": "SvelteKit: Create +page.js/ts" }, { "command": "svelte.kit.generatePageServerLoad", - "title": "SvelteKit: Generate Page server load" + "title": "SvelteKit: Create +page.server.js/ts" }, { "command": "svelte.kit.generateLayout", - "title": "SvelteKit: Generate Layout" + "title": "SvelteKit: Create +layout.svelte" }, { "command": "svelte.kit.generateLayoutLoad", - "title": "SvelteKit: Generate Layout load" + "title": "SvelteKit: Create +layout.js/ts" }, { "command": "svelte.kit.generateLayoutServerLoad", - "title": "SvelteKit: Generate Layout server load" + "title": "SvelteKit: Create +layout.server.js/ts" }, { "command": "svelte.kit.generateServer", - "title": "SvelteKit: Generate Endpoint" + "title": "SvelteKit: Create +server.js/ts" }, { "command": "svelte.kit.generateError", - "title": "SvelteKit: Generate Error" + "title": "SvelteKit: Create +error.svelte" } ], "menus": { diff --git a/packages/svelte-vscode/src/sveltekit/generateFiles/index.ts b/packages/svelte-vscode/src/sveltekit/generateFiles/index.ts index ba8a3e55d..ebd8d0343 100644 --- a/packages/svelte-vscode/src/sveltekit/generateFiles/index.ts +++ b/packages/svelte-vscode/src/sveltekit/generateFiles/index.ts @@ -57,6 +57,11 @@ async function handleSingle(uri: Uri | undefined, resourceType: ResourceType) { async function handleMultiple(uri: Uri | undefined) { const { isTs, rootPath, scriptExtension } = await getCommonConfig(uri); + const itemPath = await promptResourcePath(); + + if (!itemPath) { + return; + } // Add multiple files const opts = [ @@ -73,22 +78,15 @@ async function handleMultiple(uri: Uri | undefined) { // const iconName = resource.type === FileType.PAGE ? 'svelte' : isTs ? 'typescript' : 'javascript'; const extension = resource.type === FileType.PAGE ? 'svelte' : scriptExtension; return { - label: resource.title, // TODO: maybe add icons (ts,js,svelte - but it doesn´t work like this) // description: `$(${iconName}) ${resource.filename}.${extension}`, - description: `${resource.filename}.${extension}`, + label: `${resource.filename}.${extension}`, value: resource }; }); const result = await window.showQuickPick(opts, { canPickMany: true }); - if (!result) { - return; - } - const resources = result.map((res) => res.value); - - const itemPath = await promptResourcePath(); - if (!itemPath) { + if (!result) { return; } @@ -97,7 +95,7 @@ async function handleMultiple(uri: Uri | undefined) { typescript: isTs, pageExtension: 'svelte', scriptExtension, - resources + resources: result.map((res) => res.value) }); } diff --git a/packages/svelte-vscode/src/sveltekit/generateFiles/resources.ts b/packages/svelte-vscode/src/sveltekit/generateFiles/resources.ts index eb312f37c..0aad50c0c 100644 --- a/packages/svelte-vscode/src/sveltekit/generateFiles/resources.ts +++ b/packages/svelte-vscode/src/sveltekit/generateFiles/resources.ts @@ -10,43 +10,29 @@ import error from './templates/error'; import server from './templates/server'; export const resourcesMap = new Map([ - [ResourceType.PAGE, { type: FileType.PAGE, filename: '+page', title: 'Page', generate: page }], - [ - ResourceType.PAGE_LOAD, - { type: FileType.SCRIPT, filename: '+page', title: 'Page load', generate: pageLoad } - ], + [ResourceType.PAGE, { type: FileType.PAGE, filename: '+page', generate: page }], + [ResourceType.PAGE_LOAD, { type: FileType.SCRIPT, filename: '+page', generate: pageLoad }], [ ResourceType.PAGE_SERVER, { type: FileType.SCRIPT, filename: '+page.server', - title: 'Page server load', generate: pageServer } ], - [ - ResourceType.LAYOUT, - { type: FileType.PAGE, filename: '+layout', title: 'Layout', generate: layout } - ], + [ResourceType.LAYOUT, { type: FileType.PAGE, filename: '+layout', generate: layout }], [ ResourceType.LAYOUT_LOAD, - { type: FileType.SCRIPT, filename: '+layout', title: 'Layout load', generate: layoutLoad } + { type: FileType.SCRIPT, filename: '+layout', generate: layoutLoad } ], [ ResourceType.LAYOUT_SERVER, { type: FileType.SCRIPT, filename: '+layout.server', - title: 'Layout server load', generate: layoutServer } ], - [ - ResourceType.SERVER, - { type: FileType.SCRIPT, filename: '+server', title: 'Server', generate: server } - ], - [ - ResourceType.ERROR, - { type: FileType.PAGE, filename: '+error', title: 'Error', generate: error } - ] + [ResourceType.SERVER, { type: FileType.SCRIPT, filename: '+server', generate: server }], + [ResourceType.ERROR, { type: FileType.PAGE, filename: '+error', generate: error }] ]); diff --git a/packages/svelte-vscode/src/sveltekit/generateFiles/templates/error.ts b/packages/svelte-vscode/src/sveltekit/generateFiles/templates/error.ts index 70eff270e..faad0f285 100644 --- a/packages/svelte-vscode/src/sveltekit/generateFiles/templates/error.ts +++ b/packages/svelte-vscode/src/sveltekit/generateFiles/templates/error.ts @@ -6,7 +6,7 @@ export default async function (config: GenerateConfig) { import { page } from '$app/stores'; -

{$page.status}: {$page.error.message}

+

{$page.status}: {$page.error?.message}

`.trim(); const js = ` diff --git a/packages/svelte-vscode/src/sveltekit/generateFiles/types.ts b/packages/svelte-vscode/src/sveltekit/generateFiles/types.ts index c61ec54b6..060cd69a8 100644 --- a/packages/svelte-vscode/src/sveltekit/generateFiles/types.ts +++ b/packages/svelte-vscode/src/sveltekit/generateFiles/types.ts @@ -29,7 +29,6 @@ export enum ResourceType { export type Resource = { type: FileType; filename: string; - title: string; generate: (config: GenerateConfig) => Promise; };