Files
clide/legacy/clide/models/workspace.py
T
jpmschweitzerandClaude Opus 4.7 a355751437 move python clide to legacy/
Clide is being rebuilt as a Flutter desktop app. The Python Textual
implementation moves wholesale into legacy/ rather than being deleted:
its pane model, panel set, git skills, and panel communication design
are real thought that should remain readable next to the new code
while the rebuild finds its shape. Git's rename tracking preserves
history, so `git log -- legacy/` still works.

The Flutter rebuild lives at the repo root alongside a Go sidecar
(the architecture claudian was heading toward, which folds into
clide as a core component rather than a separate plugin project).
Bootstrap of the new shape lands in subsequent commits.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:30:51 +02:00

36 lines
736 B
Python

"""Workspace tab models."""
from enum import Enum
from pathlib import Path
from pydantic import BaseModel, ConfigDict
class TabType(str, Enum):
"""Types of workspace tabs."""
EDITOR = "editor"
TERMINAL = "terminal"
DIFF = "diff"
# Nerd Font icons for each tab type
TAB_ICONS: dict[TabType, str] = {
TabType.EDITOR: "\uf15c", # nf-fa-file_text_o
TabType.TERMINAL: "\uf120", # nf-fa-terminal
TabType.DIFF: "\uf440", # nf-oct-diff
}
class TabInfo(BaseModel):
"""Metadata for a workspace tab."""
model_config = ConfigDict(strict=True)
tab_id: str
tab_type: TabType
label: str
file_path: Path | None = None
is_proposal: bool = False
diff_file_path: str | None = None