feat: v0.11.0 VS Code-like explorer, markdown preview, search in files
- Explorer: context menus, multi-select, inline rename/new, drag to move or copy, desktop drag-and-drop uploads (folders too), cut/copy/paste, duplicate, download, delete to a 7-day trash with Undo. Server side in libexec/devdesk-fsops.sh with bats tests. Closes #54 - Markdown preview in a shadow root: headings with anchors and outline, highlighted code with copy, callouts, task lists, front matter, links that open files, live split view. Editor status bar, multi-cursor, closeBrackets, Ctrl+G, tab menus and reordering. Closes #55 - Search in files (Ctrl+Shift+F) via git grep / grep. Closes #56 - Fix: nested $(...) path checks now fail hard (set -e does not reach them; an escape created /x in testing); newest folder listing wins; sessionAction returns the reply JSON. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WHRLCCdXYm41Qx5kNhehaP
This commit is contained in:
+6
-3
@@ -15,7 +15,7 @@
|
||||
#
|
||||
# The web UI calls `devdesk attach --list | --repo NAME | --alerts | --investigate SESSION UID |
|
||||
# --upload SESSION FILE BYTES | --new NAME [PROJECT] [--worktree] | --rename OLD NEW | --end NAME |
|
||||
# --last-reply NAME | --unsplit NAME | --existing NAME`
|
||||
# --last-reply NAME | --unsplit NAME | --fs-* SESSION … | --existing NAME`
|
||||
# through ttyd; those print JSON.
|
||||
set -euo pipefail
|
||||
|
||||
@@ -29,6 +29,8 @@ set -euo pipefail
|
||||
. "$DEVDESK_LIBEXEC/devdesk-history.sh"
|
||||
# shellcheck source=libexec/devdesk-ops.sh
|
||||
. "$DEVDESK_LIBEXEC/devdesk-ops.sh"
|
||||
# shellcheck source=libexec/devdesk-fsops.sh
|
||||
. "$DEVDESK_LIBEXEC/devdesk-fsops.sh"
|
||||
|
||||
usage() {
|
||||
sed -n '2,13s/^# \{0,1\}//p' "$0"
|
||||
@@ -164,7 +166,7 @@ dd_worktree_add() {
|
||||
else
|
||||
"${g[@]}" worktree add -q -b "$branch" "$wt" HEAD >&2 || dd_die "git worktree add failed"
|
||||
fi
|
||||
wt=$(realpath -e -- "$wt")
|
||||
wt=$(realpath -e -- "$wt") || dd_die "git worktree add failed"
|
||||
# shellcheck disable=SC2016 # jq variables
|
||||
dd_registry_update '.sessions[$n] = ((.sessions[$n] // {}) + {worktree: {path: $w, repo: $r, branch: $b}})' \
|
||||
--arg n "$name" --arg w "$wt" --arg r "$top" --arg b "$branch"
|
||||
@@ -378,7 +380,8 @@ cmd_attach() {
|
||||
dd_linger
|
||||
return
|
||||
;;
|
||||
--fs-list | --fs-find | --fs-read | --fs-write | --git-status | --git-show | --asset)
|
||||
--fs-list | --fs-find | --fs-read | --fs-write | --git-status | --git-show | --asset | \
|
||||
--fs-mkdir | --fs-move | --fs-copy | --fs-delete | --fs-restore | --fs-put | --fs-download | --fs-grep)
|
||||
local action=${1#--}
|
||||
shift
|
||||
"cmd_${action//-/_}" "$@"
|
||||
|
||||
Reference in New Issue
Block a user