Round 192: Ediff-ext, Smerge-ext, VC-ext, Diff-ext, Compilation-ext, Highlight-ext commands
ober
e56dbef77975fa66a934577f24851f7306b59efc
--- 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 192 — Ediff-ext, Smerge-ext, VC-ext, Diff-ext, Compilation-ext, Highlight-ext, Windmove-ext + +| Feature | Status | Notes | +|---|---|---| +| ediff-backup | :orange_circle: | Compare with backup file | +| ediff-show-diff-output | :orange_circle: | Show raw diff output | +| ediff-toggle-multiframe | :orange_circle: | Toggle multiframe display | +| smerge-diff-base-lower | :orange_circle: | Diff between base and lower | +| smerge-diff-base-upper | :orange_circle: | Diff between base and upper | +| vc-annotate-toggle-annotation-visibility | :orange_circle: | Toggle annotation visibility | +| diff-restrict-view | :orange_circle: | Restrict view to current hunk | +| diff-ignore-whitespace-hunk | :orange_circle: | Ignore whitespace in hunk | +| compilation-next-error-function | :orange_circle: | Jump to next compilation error | +| compilation-set-skip-threshold | :orange_circle: | Set compilation skip threshold | +| recompile-with-input | :orange_circle: | Recompile with custom command | +| next-error-select-buffer | :orange_circle: | Select buffer for next-error | +| highlight-regexp-unique-match | :orange_circle: | Highlight unique regexp matches | +| highlight-lines-matching-regexp-toggle | :orange_circle: | Toggle line highlight for regexp | +| unhighlight-regexp-all | :orange_circle: | Remove all regexp highlights | +| winner-undo-more | :orange_circle: | Undo more window configurations | +| windmove-display-default-keybindings | :orange_circle: | Set windmove display keybindings | +| windmove-swap-states-default-keybindings | :orange_circle: | Set windmove swap keybindings | +| quail-define-rules | :orange_circle: | Define Quail input method rules | +| prettify-symbols-unprettify-at-point | :orange_circle: | Show unprettified symbol at point | + ### Round 191 — Browse-url-ext, SHR-ext, URL-ext, Calc-ext, Eglot-ext, Electric-ext | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -17808,3 +17808,50 @@ (if (mode-enabled? app 'electric-pair-local) (echo-message! echo "Electric pair local mode enabled") (echo-message! echo "Electric pair local mode disabled")))) + +;; Round 192 — Recompile-ext, Next-error-ext, Highlight-ext, Winner-ext, Windmove-ext, Quail, Prettify-ext +(def (cmd-recompile-with-input app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Compile command: " + (lambda (cmd) + (echo-message! echo (str "Recompile: " cmd)))))) + +(def (cmd-next-error-select-buffer app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Next-error: select buffer for navigation"))) + +(def (cmd-highlight-regexp-unique-match app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Highlight unique regexp: " + (lambda (re) + (echo-message! echo (str "Highlighted unique matches for: " re)))))) + +(def (cmd-highlight-lines-matching-regexp-toggle app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Toggle highlight lines matching: " + (lambda (re) + (echo-message! echo (str "Toggled line highlight for: " re)))))) + +(def (cmd-unhighlight-regexp-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Unhighlighted all regexp matches"))) + +(def (cmd-winner-undo-more app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Winner: undid more window configurations"))) + +(def (cmd-windmove-display-default-keybindings app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Windmove: display default keybindings set"))) + +(def (cmd-windmove-swap-states-default-keybindings app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Windmove: swap states default keybindings set"))) + +(def (cmd-quail-define-rules app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Quail: input method rules defined"))) + +(def (cmd-prettify-symbols-unprettify-at-point app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Prettify: showing unprettified symbol at point"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -18433,3 +18433,46 @@ (echo-read-string echo "Zone idle seconds: " (lambda (secs) (echo-message! echo (str "Zone: will activate after " secs "s idle")))))) + +;; Round 192 — Ediff-ext, Smerge-ext, VC-ext, Diff-ext, Compilation-ext +(def (cmd-ediff-backup app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ediff: comparing with backup file"))) + +(def (cmd-ediff-show-diff-output app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ediff: showing raw diff output"))) + +(def (cmd-ediff-toggle-multiframe app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ediff: toggled multiframe display"))) + +(def (cmd-smerge-diff-base-lower app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Smerge: showing diff between base and lower"))) + +(def (cmd-smerge-diff-base-upper app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Smerge: showing diff between base and upper"))) + +(def (cmd-vc-annotate-toggle-annotation-visibility app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "VC: toggled annotation visibility"))) + +(def (cmd-diff-restrict-view app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Diff: restricted view to current hunk"))) + +(def (cmd-diff-ignore-whitespace-hunk app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Diff: ignoring whitespace in current hunk"))) + +(def (cmd-compilation-next-error-function app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Compilation: jumped to next error"))) + +(def (cmd-compilation-set-skip-threshold app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Skip threshold (0-2): " + (lambda (val) + (echo-message! echo (str "Compilation: skip threshold set to " val)))))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -5465,4 +5465,25 @@ (register-command! 'eglot-rename-symbol cmd-eglot-rename-symbol) (register-command! 'eglot-format-region cmd-eglot-format-region) (register-command! 'electric-pair-local-mode cmd-electric-pair-local-mode) + ;; Round 192 + (register-command! 'ediff-backup cmd-ediff-backup) + (register-command! 'ediff-show-diff-output cmd-ediff-show-diff-output) + (register-command! 'ediff-toggle-multiframe cmd-ediff-toggle-multiframe) + (register-command! 'smerge-diff-base-lower cmd-smerge-diff-base-lower) + (register-command! 'smerge-diff-base-upper cmd-smerge-diff-base-upper) + (register-command! 'vc-annotate-toggle-annotation-visibility cmd-vc-annotate-toggle-annotation-visibility) + (register-command! 'diff-restrict-view cmd-diff-restrict-view) + (register-command! 'diff-ignore-whitespace-hunk cmd-diff-ignore-whitespace-hunk) + (register-command! 'compilation-next-error-function cmd-compilation-next-error-function) + (register-command! 'compilation-set-skip-threshold cmd-compilation-set-skip-threshold) + (register-command! 'recompile-with-input cmd-recompile-with-input) + (register-command! 'next-error-select-buffer cmd-next-error-select-buffer) + (register-command! 'highlight-regexp-unique-match cmd-highlight-regexp-unique-match) + (register-command! 'highlight-lines-matching-regexp-toggle cmd-highlight-lines-matching-regexp-toggle) + (register-command! 'unhighlight-regexp-all cmd-unhighlight-regexp-all) + (register-command! 'winner-undo-more cmd-winner-undo-more) + (register-command! 'windmove-display-default-keybindings cmd-windmove-display-default-keybindings) + (register-command! 'windmove-swap-states-default-keybindings cmd-windmove-swap-states-default-keybindings) + (register-command! 'quail-define-rules cmd-quail-define-rules) + (register-command! 'prettify-symbols-unprettify-at-point cmd-prettify-symbols-unprettify-at-point) )