Round 326: Mount ext, Umount ext, Findmnt ext, Lsblk ext, Losetup ext (20 commands)
ober
305e674ce0c66ec73106affc5402ac163c05ec29
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 326 — Mount ext, Umount ext, Findmnt ext, Lsblk ext, Losetup ext + +| Feature | Status | Notes | +|---------|--------|-------| +| `mount-device` | :orange_circle: | Mount device | +| `mount-bind` | :orange_circle: | Bind mount | +| `mount-tmpfs` | :orange_circle: | Mount tmpfs | +| `mount-overlay` | :orange_circle: | Mount overlay | +| `umount-device` | :orange_circle: | Unmount device | +| `umount-lazy` | :orange_circle: | Lazy unmount | +| `umount-force` | :orange_circle: | Force unmount | +| `umount-all` | :orange_circle: | Unmount all | +| `findmnt-show` | :orange_circle: | Show mount table | +| `findmnt-source` | :orange_circle: | Find by source | +| `findmnt-target` | :orange_circle: | Find by target | +| `findmnt-type` | :orange_circle: | Find by type | +| `lsblk-show` | :orange_circle: | Show block devices | +| `lsblk-json` | :orange_circle: | Show as JSON | +| `lsblk-paths` | :orange_circle: | Show full paths | +| `lsblk-discard` | :orange_circle: | Show discard info | +| `losetup-list` | :orange_circle: | List loop devices | +| `losetup-attach` | :orange_circle: | Attach loop device | +| `losetup-detach` | :orange_circle: | Detach loop device | +| `losetup-info` | :orange_circle: | Show loop device info | + ### Round 325 — Mkfs ext, Fsck ext, Tune2fs ext, Xfs-admin ext, Resize2fs ext | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -24331,4 +24331,56 @@ (let* ((echo (app-state-echo app))) (echo-read-string echo "Device: " (lambda (dev) - (echo-message! echo (str "Resize2fs: checking " dev)))))) \ No newline at end of file + (echo-message! echo (str "Resize2fs: checking " dev)))))) + +;;; Round 326 — Findmnt ext, Lsblk ext, Losetup ext (batch 2) + +(def (cmd-findmnt-target app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Target path: " + (lambda (path) + (echo-message! echo (str "Findmnt: finding mount at " path)))))) + +(def (cmd-findmnt-type app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Filesystem type: " + (lambda (fstype) + (echo-message! echo (str "Findmnt: finding " fstype " mounts")))))) + +(def (cmd-lsblk-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Lsblk: showing block devices"))) + +(def (cmd-lsblk-json app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Lsblk: showing block devices (JSON)"))) + +(def (cmd-lsblk-paths app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Lsblk: showing full device paths"))) + +(def (cmd-lsblk-discard app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Lsblk: showing discard capabilities"))) + +(def (cmd-losetup-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Losetup: listing loop devices"))) + +(def (cmd-losetup-attach app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Image file: " + (lambda (img) + (echo-message! echo (str "Losetup: attaching " img)))))) + +(def (cmd-losetup-detach app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Loop device: " + (lambda (dev) + (echo-message! echo (str "Losetup: detaching " dev)))))) + +(def (cmd-losetup-info app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Loop device: " + (lambda (dev) + (echo-message! echo (str "Losetup: info for " dev)))))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -25032,3 +25032,61 @@ (lambda (spec) (echo-message! echo (str "Tune2fs: setting " spec)))))) +;;; Round 326 — Mount ext, Umount ext, Findmnt ext, Lsblk ext, Losetup ext (batch 1) + +(def (cmd-mount-device app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device and mountpoint: " + (lambda (spec) + (echo-message! echo (str "Mount: mounting " spec)))))) + +(def (cmd-mount-bind app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Source and target: " + (lambda (spec) + (echo-message! echo (str "Mount: bind mounting " spec)))))) + +(def (cmd-mount-tmpfs app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Mountpoint: " + (lambda (mnt) + (echo-message! echo (str "Mount: tmpfs at " mnt)))))) + +(def (cmd-mount-overlay app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Lower:upper:work:target: " + (lambda (spec) + (echo-message! echo (str "Mount: overlay " spec)))))) + +(def (cmd-umount-device app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Mountpoint: " + (lambda (mnt) + (echo-message! echo (str "Umount: unmounting " mnt)))))) + +(def (cmd-umount-lazy app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Mountpoint: " + (lambda (mnt) + (echo-message! echo (str "Umount: lazy unmounting " mnt)))))) + +(def (cmd-umount-force app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Mountpoint: " + (lambda (mnt) + (echo-message! echo (str "Umount: force unmounting " mnt)))))) + +(def (cmd-umount-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Umount: unmounting all filesystems"))) + +(def (cmd-findmnt-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Findmnt: showing mount table"))) + +(def (cmd-findmnt-source app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Source device: " + (lambda (dev) + (echo-message! echo (str "Findmnt: finding mounts from " dev)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -8263,4 +8263,25 @@ (register-command! 'resize2fs-shrink cmd-resize2fs-shrink) (register-command! 'resize2fs-info cmd-resize2fs-info) (register-command! 'resize2fs-check cmd-resize2fs-check) + ;; Round 326 + (register-command! 'mount-device cmd-mount-device) + (register-command! 'mount-bind cmd-mount-bind) + (register-command! 'mount-tmpfs cmd-mount-tmpfs) + (register-command! 'mount-overlay cmd-mount-overlay) + (register-command! 'umount-device cmd-umount-device) + (register-command! 'umount-lazy cmd-umount-lazy) + (register-command! 'umount-force cmd-umount-force) + (register-command! 'umount-all cmd-umount-all) + (register-command! 'findmnt-show cmd-findmnt-show) + (register-command! 'findmnt-source cmd-findmnt-source) + (register-command! 'findmnt-target cmd-findmnt-target) + (register-command! 'findmnt-type cmd-findmnt-type) + (register-command! 'lsblk-show cmd-lsblk-show) + (register-command! 'lsblk-json cmd-lsblk-json) + (register-command! 'lsblk-paths cmd-lsblk-paths) + (register-command! 'lsblk-discard cmd-lsblk-discard) + (register-command! 'losetup-list cmd-losetup-list) + (register-command! 'losetup-attach cmd-losetup-attach) + (register-command! 'losetup-detach cmd-losetup-detach) + (register-command! 'losetup-info cmd-losetup-info) )