feat(presets): Implement NamedViewPresets for per-file view settings

This commit is contained in:
2026-05-11 18:31:56 -04:00
parent 6e53906715
commit cb0fa89730
4 changed files with 213 additions and 0 deletions
+24
View File
@@ -939,6 +939,30 @@ class FileViewPreset:
view_mode=data.get("view_mode", "summary")
)
@dataclass
class NamedViewPreset:
name: str
view_mode: str
ast_mask: dict = field(default_factory=dict)
custom_slices: list = field(default_factory=list)
def to_dict(self) -> dict[str, Any]:
return {
"name": self.name,
"view_mode": self.view_mode,
"ast_mask": self.ast_mask,
"custom_slices": self.custom_slices
}
@classmethod
def from_dict(cls, data: dict[str, Any]) -> "NamedViewPreset":
return cls(
name=data.get("name", ""),
view_mode=data.get("view_mode", "summary"),
ast_mask=data.get("ast_mask", {}),
custom_slices=data.get("custom_slices", [])
)
@dataclass
class ContextPreset:
name: str