import type { Command } from '../types'; import { lsCommand } from './ls'; import { cdCommand } from './cd'; import { pwdCommand } from './pwd'; import { catCommand } from './cat'; import { echoCommand } from './echo'; import { grepCommand } from './grep'; import { mkdirCommand } from './mkdir'; import { touchCommand } from './touch'; import { rmCommand } from './rm'; import { cpCommand } from './cp'; import { mvCommand } from './mv'; import { clearCommand } from './clear'; import { helpCommand } from './help'; import { execCommand } from './exec'; import { historyCommand } from './history'; import { wcCommand } from './wc'; import { headCommand } from './head'; import { tailCommand } from './tail'; import { envCommand } from './env'; import { findCommand } from './find'; import { aliasCommand } from './alias'; import { unaliasCommand } from './unalias'; /** * All built-in commands EXCEPT `view` (which pulls in Vue via ComponentLoader). * This is the Vue-free set the headless core exposes. */ export const headlessCommands: Command[] = [ lsCommand, cdCommand, pwdCommand, catCommand, echoCommand, grepCommand, mkdirCommand, touchCommand, rmCommand, cpCommand, mvCommand, clearCommand, helpCommand, execCommand, historyCommand, wcCommand, headCommand, tailCommand, envCommand, findCommand, aliasCommand, unaliasCommand, ]; export function registerHeadlessCommands(executor: { registerCommand(c: Command): void }): void { for (const command of headlessCommands) { executor.registerCommand(command); } }