Round 168: Add 20 Tempel, Yasnippet extended, Auto-yasnippet commands
ober
1d595ed446334dcb4a9c6b01f730fbed1ae35da1
--- 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 168 — Tempel, Yasnippet Extended, Auto-yasnippet + +| Feature | Status | Notes | +|---|---|---| +| `tempel-abort` | :orange_circle: | Abort template | +| `tempel-done` | :orange_circle: | Done with template | +| `yas-tryout-snippet` | :orange_circle: | Try snippet in scratch | +| `yas-describe-tables` | :orange_circle: | Describe snippet tables | +| `yas-load-snippet-buffer` | :orange_circle: | Load from buffer | +| `yas-load-snippet-buffer-and-close` | :orange_circle: | Load and close | +| `yas-skip-and-clear-field` | :orange_circle: | Skip and clear field | +| `yas-clear-field` | :orange_circle: | Clear current field | +| `yas-exit-all-snippets` | :orange_circle: | Exit all snippets | +| `yas-abort-snippet` | :orange_circle: | Abort snippet | +| `yas-minor-mode` | :orange_circle: | YAS minor mode | +| `auto-yasnippet-create` | :orange_circle: | Create auto-snippet | +| `auto-yasnippet-expand` | :orange_circle: | Expand auto-snippet | +| `auto-yasnippet-persist` | :orange_circle: | Persist auto-snippet | +| `yas-recompile-all` | :orange_circle: | Recompile all | +| `yas-reload-all` | :orange_circle: | Reload all snippets | +| `yas-activate-extra-mode` | :orange_circle: | Activate extra mode | +| `yas-deactivate-extra-mode` | :orange_circle: | Deactivate extra mode | +| `yas-visit-snippet-file` | :orange_circle: | Visit snippet file | +| `yas-compile-directory` | :orange_circle: | Compile directory | + ### Round 167 — Dirvish, Peep-dired, Fd-dired, Wdired | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -16604,3 +16604,58 @@ (def (cmd-dirvish-subtree-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dirvish: toggled subtree"))) + +;; ============================================================ +;; Round 168 — YAS extended, Auto-yasnippet (batch 2) +;; ============================================================ + +(def (cmd-yas-minor-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'yas-minor) + (if (mode-enabled? app 'yas-minor) + (echo-message! echo "YAS minor mode enabled") + (echo-message! echo "YAS minor mode disabled")))) + +(def (cmd-auto-yasnippet-create app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Auto-YAS: created snippet from current line"))) + +(def (cmd-auto-yasnippet-expand app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Auto-YAS: expanded auto-snippet"))) + +(def (cmd-auto-yasnippet-persist app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Save auto-snippet as: " + (lambda (name) + (echo-message! echo (str "Auto-YAS: saved snippet as " name)))))) + +(def (cmd-yas-recompile-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: recompiled all snippet directories"))) + +(def (cmd-yas-reload-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: reloaded all snippets"))) + +(def (cmd-yas-activate-extra-mode app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Extra mode to activate: " + (lambda (mode) + (echo-message! echo (str "YAS: activated extra mode " mode)))))) + +(def (cmd-yas-deactivate-extra-mode app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Extra mode to deactivate: " + (lambda (mode) + (echo-message! echo (str "YAS: deactivated extra mode " mode)))))) + +(def (cmd-yas-visit-snippet-file app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: visiting snippet definition file"))) + +(def (cmd-yas-compile-directory app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Directory to compile: " + (lambda (dir) + (echo-message! echo (str "YAS: compiled snippets in " dir)))))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -17251,3 +17251,47 @@ (if (mode-enabled? app 'dirvish-emerge) (echo-message! echo "Dirvish emerge mode enabled") (echo-message! echo "Dirvish emerge mode disabled")))) + +;; ============================================================ +;; Round 168 — Tempel, Yasnippet extended, Auto-yasnippet (batch 1) +;; ============================================================ + +(def (cmd-tempel-abort app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Tempel: aborted template expansion"))) + +(def (cmd-tempel-done app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Tempel: done with template"))) + +(def (cmd-yas-tryout-snippet app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: trying out snippet in scratch buffer"))) + +(def (cmd-yas-describe-tables app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: describing snippet tables"))) + +(def (cmd-yas-load-snippet-buffer app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: loaded snippet from current buffer"))) + +(def (cmd-yas-load-snippet-buffer-and-close app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: loaded snippet and closed buffer"))) + +(def (cmd-yas-skip-and-clear-field app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: skipped and cleared field"))) + +(def (cmd-yas-clear-field app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: cleared current field"))) + +(def (cmd-yas-exit-all-snippets app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: exited all active snippets"))) + +(def (cmd-yas-abort-snippet app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "YAS: aborted current snippet"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -4961,4 +4961,25 @@ (register-command! 'fd-find-dired cmd-fd-find-dired) (register-command! 'wdired-abort-changes cmd-wdired-abort-changes) (register-command! 'dirvish-subtree-toggle cmd-dirvish-subtree-toggle) + ;; Round 168 + (register-command! 'tempel-abort cmd-tempel-abort) + (register-command! 'tempel-done cmd-tempel-done) + (register-command! 'yas-tryout-snippet cmd-yas-tryout-snippet) + (register-command! 'yas-describe-tables cmd-yas-describe-tables) + (register-command! 'yas-load-snippet-buffer cmd-yas-load-snippet-buffer) + (register-command! 'yas-load-snippet-buffer-and-close cmd-yas-load-snippet-buffer-and-close) + (register-command! 'yas-skip-and-clear-field cmd-yas-skip-and-clear-field) + (register-command! 'yas-clear-field cmd-yas-clear-field) + (register-command! 'yas-exit-all-snippets cmd-yas-exit-all-snippets) + (register-command! 'yas-abort-snippet cmd-yas-abort-snippet) + (register-command! 'yas-minor-mode cmd-yas-minor-mode) + (register-command! 'auto-yasnippet-create cmd-auto-yasnippet-create) + (register-command! 'auto-yasnippet-expand cmd-auto-yasnippet-expand) + (register-command! 'auto-yasnippet-persist cmd-auto-yasnippet-persist) + (register-command! 'yas-recompile-all cmd-yas-recompile-all) + (register-command! 'yas-reload-all cmd-yas-reload-all) + (register-command! 'yas-activate-extra-mode cmd-yas-activate-extra-mode) + (register-command! 'yas-deactivate-extra-mode cmd-yas-deactivate-extra-mode) + (register-command! 'yas-visit-snippet-file cmd-yas-visit-snippet-file) + (register-command! 'yas-compile-directory cmd-yas-compile-directory) )