diff --git a/packages/web/src/commands/stdCommands.ts b/packages/web/src/commands/stdCommands.ts index 282bccc3b..1797888b0 100644 --- a/packages/web/src/commands/stdCommands.ts +++ b/packages/web/src/commands/stdCommands.ts @@ -6,6 +6,7 @@ import ConnectionModal from '../modals/ConnectionModal.svelte'; import { showModal } from '../modals/modalTools'; import newQuery from '../query/newQuery'; import saveTabFile, { saveTabEnabledStore } from '../utility/saveTabFile'; +import openNewTab from '../utility/openNewTab'; function themeCommand(theme: ThemeDefinition) { return { @@ -66,11 +67,39 @@ registerCommand({ onClick: () => newQuery(), }); +registerCommand({ + id: 'new.shell', + category: 'New', + icon: 'img shell', + name: 'JavaScript Shell', + onClick: () => { + openNewTab({ + title: 'Shell #', + icon: 'img shell', + tabComponent: 'ShellTab', + }); + }, +}); + +registerCommand({ + id: 'new.markdown', + category: 'New', + icon: 'img markdown', + name: 'Markdown page', + onClick: () => { + openNewTab({ + title: 'Page #', + icon: 'img markdown', + tabComponent: 'MarkdownEditorTab', + }); + }, +}); + export function registerFileCommands({ idPrefix, category, editorStore, - editorStatusStore, + editorStatusStore = undefined, folder, format, fileExtension, diff --git a/packages/web/src/tabs/MarkdownEditorTab.svelte b/packages/web/src/tabs/MarkdownEditorTab.svelte new file mode 100644 index 000000000..7286def25 --- /dev/null +++ b/packages/web/src/tabs/MarkdownEditorTab.svelte @@ -0,0 +1,108 @@ + + + + + setEditorData(e.detail)} + on:focus={() => lastFocusedEditor.set(instance)} + bind:this={domEditor} + mode="markdown" +/> diff --git a/packages/web/src/tabs/QueryTab.svelte b/packages/web/src/tabs/QueryTab.svelte index 6fbededab..9e935307b 100644 --- a/packages/web/src/tabs/QueryTab.svelte +++ b/packages/web/src/tabs/QueryTab.svelte @@ -1,22 +1,22 @@