Add recent-projects picker (Ctrl+Shift+O) #43
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/043-add-recent-projects-picker-ctrl-shift-o"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Add recent-projects picker (Ctrl+Shift+O)
Along the way:
Touches 45 files:
CLAUDE.md,Cargo.lock,ck-editor/Cargo.toml,ck-editor/src/view/image.rs,ck-editor/src/view/mod.rs,ck-editor/src/view/render.rsand 39 more.Mostly there, but the question on
ckeditor/src/buffer.rsneeds an answer before this lands.@ -193,0 +179,4 @@// import a single helper across a crate boundary for one predicate,// and delegates the actual check so the supported-format list stays// defined in exactly one place.fn is_image_path(path: &Path) -> bool {is_image_pathreads, decides and writes in one function. The deciding part is the piece I would want to test on its own. Worth splitting?@ -83,0 +133,4 @@git(dir, GIT_CONFIG_EMAIL_ARGS);git(dir, GIT_CONFIG_NAME_ARGS);git(dir, GIT_CONFIG_NO_GPGSIGN_ARGS);ck_files::write_atomic(&dir.join(SEED_FILE), SEED_CONTENT).unwrap();ck_filesunwraps here. If this is reachable from user input it is a panic in front of a person rather than an error they can read. Is it provably there at this point, or should it carry a??@ -313,0 +464,4 @@) -> Vec<ProjectTreeEntry> {let mut walker = WalkDir::new(root).follow_links(false);if let Some(d) = max_depth {walker = walker.max_depth(d as usize);The
ascast truncates silently ifwalkeris ever wider than the target. Is the bound guaranteed, or should this betry_from?Split. The decision in
is_image_pathis a pure function now, with its own tests inckeditor/src/buffer.rs.It is reachable. The function in
ckeditor/src/git/diff.rsreturns a Result now and the caller reports it, so the unwrap onck_filesis gone.Not guaranteed.
walkergoes through try_from now and the overflow is a typed error inckeditor/src/mcp_host.rs.Pushed a fix for both. The second pass on
ckeditor/src/buffer.rsis much smaller than the first.Read it too. No objection to
ckeditor/src/buffer.rs.Good. The second pass on
ckeditor/src/buffer.rsis what I hoped for.