diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..e7aaf011 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,26 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node +{ + "name": "17-313 opencode", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/typescript-node:5-24-trixie", + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "curl -fsSL https://bun.sh/install | bash", + + // Configure tool-specific properties. + // "customizations": {}, + + "remoteEnv": { + "PATH": "${containerEnv:PATH}:/home/node/.bun/bin" + }, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + "remoteUser": "node" +} diff --git a/packages/tui/src/app.tsx b/packages/tui/src/app.tsx index 57f372ef..ebf1c95b 100644 --- a/packages/tui/src/app.tsx +++ b/packages/tui/src/app.tsx @@ -58,6 +58,7 @@ import { FrecencyProvider } from "./component/prompt/frecency" import { PromptStashProvider } from "./component/prompt/stash" import { DialogAlert } from "./ui/dialog-alert" import { DialogConfirm } from "./ui/dialog-confirm" +import { DialogScotty } from "./component/dialog-scotty" import { ToastProvider, useToast } from "./ui/toast" import { isDefaultTitle } from "./util/session" import { KVProvider, useKV } from "./context/kv" @@ -815,6 +816,15 @@ function App(props: { onSnapshot?: () => Promise; pluginHost: TuiPlugi }, category: "System", }, + { + name: "scotty.show", + title: "Show Scotty #2", + slashName: "scotty", + run: () => { + dialog.replace(() => ) + }, + category: "System", + }, { name: "docs.open", title: "Open docs", diff --git a/packages/tui/src/component/dialog-scotty.tsx b/packages/tui/src/component/dialog-scotty.tsx new file mode 100644 index 00000000..0158f475 --- /dev/null +++ b/packages/tui/src/component/dialog-scotty.tsx @@ -0,0 +1,26 @@ +import { TextAttributes } from "@opentui/core" +import { useTheme } from "../context/theme" + +const SCOTTY = [ + " / \\__", + " ( @\\___", + " / O", + " / (_____/", + " /_____/ U", +].join("\n") + +export function DialogScotty() { + const { theme } = useTheme() + + return ( + + + + Scotty #2 + + esc + + {SCOTTY} + + ) +} \ No newline at end of file