Round 170: Marginalia, Orderless, Prescient, Hotfuzz commands
ober
5e8294cb6d7e50352b7d562a355bc98b6becdc9c
--- 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 170 — Marginalia, Orderless, Prescient, Hotfuzz + +| Feature | Status | Notes | +|---|---|---| +| marginalia-mode | :orange_circle: | Toggle rich annotations in minibuffer | +| marginalia-cycle | :orange_circle: | Cycle marginalia annotation style | +| marginalia-classify-by-command-name | :orange_circle: | Classify candidates by command name | +| marginalia-classify-by-prompt | :orange_circle: | Classify candidates by prompt text | +| orderless-define-completion-style | :orange_circle: | Define orderless completion style | +| orderless-compile | :orange_circle: | Compile orderless pattern | +| orderless-highlight-matches | :orange_circle: | Highlight orderless matches | +| orderless-filter | :orange_circle: | Filter candidates with orderless | +| prescient-persist-mode | :orange_circle: | Persist prescient frequency data | +| prescient-toggle-fuzzy | :orange_circle: | Toggle fuzzy matching in prescient | +| prescient-sort-full-match | :orange_circle: | Sort by full match in prescient | +| prescient-reset-frequency | :orange_circle: | Reset prescient frequency data | +| hotfuzz-mode | :orange_circle: | Toggle hotfuzz completion | +| hotfuzz-highlight | :orange_circle: | Highlight hotfuzz matches | +| hotfuzz-all-completions | :orange_circle: | Compute all hotfuzz completions | +| hotfuzz-filter | :orange_circle: | Filter with hotfuzz algorithm | +| fussy-mode | :orange_circle: | Toggle fussy completion scoring | +| fussy-score | :orange_circle: | Compute fussy score | +| flx-score | :orange_circle: | Compute flx flex score | +| flx-ido-mode | :orange_circle: | Toggle flx scoring in ido | + ### Round 169 — Nerd-icons, All-the-icons, SVG-lib, Ligature | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -16724,3 +16724,53 @@ (if (mode-enabled? app 'global-ligature) (echo-message! echo "Global ligature mode enabled") (echo-message! echo "Global ligature mode disabled")))) + +;; Round 170 — Marginalia, Orderless, Prescient, Hotfuzz (batch 2) +(def (cmd-prescient-sort-full-match app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Prescient: sorting by full match"))) + +(def (cmd-prescient-reset-frequency app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Prescient: frequency data reset"))) + +(def (cmd-hotfuzz-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'hotfuzz) + (if (mode-enabled? app 'hotfuzz) + (echo-message! echo "Hotfuzz mode enabled") + (echo-message! echo "Hotfuzz mode disabled")))) + +(def (cmd-hotfuzz-highlight app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Hotfuzz: highlighting matches"))) + +(def (cmd-hotfuzz-all-completions app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Hotfuzz: computing all completions"))) + +(def (cmd-hotfuzz-filter app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Hotfuzz: filtering candidates"))) + +(def (cmd-fussy-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'fussy) + (if (mode-enabled? app 'fussy) + (echo-message! echo "Fussy mode enabled") + (echo-message! echo "Fussy mode disabled")))) + +(def (cmd-fussy-score app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Fussy: computing score"))) + +(def (cmd-flx-score app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Flx: computing flex score"))) + +(def (cmd-flx-ido-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'flx-ido) + (if (mode-enabled? app 'flx-ido) + (echo-message! echo "Flx-ido mode enabled") + (echo-message! echo "Flx-ido mode disabled")))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -17341,3 +17341,50 @@ (def (cmd-all-the-icons-icon-for-buffer app) (let* ((echo (app-state-echo app))) (echo-message! echo "All-the-icons: showing icon for buffer"))) + +;; Round 170 — Marginalia, Orderless, Prescient, Hotfuzz (batch 1) +(def (cmd-marginalia-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'marginalia) + (if (mode-enabled? app 'marginalia) + (echo-message! echo "Marginalia mode enabled") + (echo-message! echo "Marginalia mode disabled")))) + +(def (cmd-marginalia-cycle app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Marginalia: cycling annotation style"))) + +(def (cmd-marginalia-classify-by-command-name app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Marginalia: classifying by command name"))) + +(def (cmd-marginalia-classify-by-prompt app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Marginalia: classifying by prompt"))) + +(def (cmd-orderless-define-completion-style app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Orderless: completion style defined"))) + +(def (cmd-orderless-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Orderless: compiling pattern"))) + +(def (cmd-orderless-highlight-matches app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Orderless: highlighting matches"))) + +(def (cmd-orderless-filter app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Orderless: filtering candidates"))) + +(def (cmd-prescient-persist-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'prescient-persist) + (if (mode-enabled? app 'prescient-persist) + (echo-message! echo "Prescient persist mode enabled") + (echo-message! echo "Prescient persist mode disabled")))) + +(def (cmd-prescient-toggle-fuzzy app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Prescient: toggled fuzzy matching"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -5003,4 +5003,25 @@ (register-command! 'nerd-icons-ibuffer-mode cmd-nerd-icons-ibuffer-mode) (register-command! 'all-the-icons-completion-mode cmd-all-the-icons-completion-mode) (register-command! 'global-ligature-mode cmd-global-ligature-mode) + ;; Round 170 — Marginalia, Orderless, Prescient, Hotfuzz + (register-command! 'marginalia-mode cmd-marginalia-mode) + (register-command! 'marginalia-cycle cmd-marginalia-cycle) + (register-command! 'marginalia-classify-by-command-name cmd-marginalia-classify-by-command-name) + (register-command! 'marginalia-classify-by-prompt cmd-marginalia-classify-by-prompt) + (register-command! 'orderless-define-completion-style cmd-orderless-define-completion-style) + (register-command! 'orderless-compile cmd-orderless-compile) + (register-command! 'orderless-highlight-matches cmd-orderless-highlight-matches) + (register-command! 'orderless-filter cmd-orderless-filter) + (register-command! 'prescient-persist-mode cmd-prescient-persist-mode) + (register-command! 'prescient-toggle-fuzzy cmd-prescient-toggle-fuzzy) + (register-command! 'prescient-sort-full-match cmd-prescient-sort-full-match) + (register-command! 'prescient-reset-frequency cmd-prescient-reset-frequency) + (register-command! 'hotfuzz-mode cmd-hotfuzz-mode) + (register-command! 'hotfuzz-highlight cmd-hotfuzz-highlight) + (register-command! 'hotfuzz-all-completions cmd-hotfuzz-all-completions) + (register-command! 'hotfuzz-filter cmd-hotfuzz-filter) + (register-command! 'fussy-mode cmd-fussy-mode) + (register-command! 'fussy-score cmd-fussy-score) + (register-command! 'flx-score cmd-flx-score) + (register-command! 'flx-ido-mode cmd-flx-ido-mode) )