Compare commits

...

2 Commits

Author SHA1 Message Date
Chris Wanstrath
bc62e1a0ad update build.js 2025-10-02 14:45:21 -07:00
Chris Wanstrath
66c75ff87f update cwd when project changes 2025-10-02 14:45:20 -07:00
2 changed files with 38 additions and 4 deletions

View File

@ -1,5 +1,5 @@
//// ////
// version: d95d2ec // version: 66c75ff
// src/js/dom.ts // src/js/dom.ts
var content2 = $("content"); var content2 = $("content");
@ -168,6 +168,37 @@ function handleOutput(msg) {
// src/js/session.ts // src/js/session.ts
var sessionId = randomId(); var sessionId = randomId();
var projectName = $("project-name");
var projectCwd = $("project-cwd");
var sessionStore = new Map;
function handleSessionStart(msg) {
sessionStore.set("NOSE_DIR", msg.data.NOSE_DIR);
updateProjectName(msg.data.project);
updateCwd(msg.data.cwd);
browserCommands.mode?.(msg.data.mode);
}
function handleSessionUpdate(msg) {
const data = msg.data;
if (data.project)
updateProjectName(data.project);
if (data.cwd)
updateCwd(data.cwd);
}
function updateProjectName(project) {
sessionStore.set("project", project);
projectName.textContent = project;
updateCwd("/");
}
function updateCwd(cwd) {
cwd = displayProjectPath(cwd);
sessionStore.set("cwd", cwd);
projectCwd.textContent = cwd;
}
function displayProjectPath(path) {
let prefix = sessionStore.get("NOSE_DIR") || "";
prefix += "/" + sessionStore.get("project");
return path.replace(prefix, "") || "/";
}
// src/js/stream.ts // src/js/stream.ts
function handleStreamStart(msg) { function handleStreamStart(msg) {
@ -534,8 +565,11 @@ async function dispatchMessage(msg) {
case "game:start": case "game:start":
await handleGameStart(msg); await handleGameStart(msg);
break; break;
case "ui:mode": case "session:start":
browserCommands.mode?.(msg.data); handleSessionStart(msg);
break;
case "session:update":
handleSessionUpdate(msg);
break; break;
default: default:
console.error("unknown message type", msg); console.error("unknown message type", msg);
@ -617,7 +651,6 @@ function cacheCommands(cmds) {
commands.push(...cmds); commands.push(...cmds);
commands.push(...Object.keys(browserCommands)); commands.push(...Object.keys(browserCommands));
commands.sort(); commands.sort();
console.log("CMDS", commands);
} }
// src/js/completion.ts // src/js/completion.ts

View File

@ -32,6 +32,7 @@ export function handleSessionUpdate(msg: SessionUpdateMessage) {
function updateProjectName(project: string) { function updateProjectName(project: string) {
sessionStore.set("project", project) sessionStore.set("project", project)
projectName.textContent = project projectName.textContent = project
updateCwd("/")
} }
function updateCwd(cwd: string) { function updateCwd(cwd: string) {