for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root });
+ const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length);
if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" });
await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true });
− return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab);
comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null);
+ tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension";
+ fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break;
let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) {
import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent });
+ if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width;
export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged });
review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main");
− used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) {
await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree);
+ const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session);
+ for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root });
const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length);
if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" });
+ await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true });
return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab);
comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null);
− tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension";
fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break;
+ let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) {
+ import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent });
if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width;
export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged });
+ review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main");
used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) {
await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree);
− const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session);
for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root });
+ const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length);
+ if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" });
await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true });
return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab);
+ comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null);
tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension";
fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent }); await lsp.start(language, { root }); if (used > width) break;
− let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width; return tabs.slice(visible.length); export function hiddenTabs(tabs: Tab[], width: number) {
import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged }); comments.push({ line, body, author: "you" }); review.send(comments, { to: session.agent });
+ if (used > width) break; const session = await agents.start(worktree); let selection = $state<Range | null>(null); const diff = await worktree.diff("main"); tree.open(path, { preview: true }); used += tab.width;
+ export function hiddenTabs(tabs: Tab[], width: number) { if (session.state === "waiting") notify(session); import { definePlugin } from "@grove/extension"; for (const tab of tabs) { fitting.push(tab); await git.commit({ message, files: staged });