Round 169: Nerd-icons, All-the-icons, SVG-lib, Ligature commands
ober
e862750e8c530f0cd79fa965037b8dcf2259db3a
--- 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 169 — Nerd-icons, All-the-icons, SVG-lib, Ligature + +| Feature | Status | Notes | +|---|---|---| +| nerd-icons-install-fonts | :orange_circle: | Install Nerd Font icon fonts | +| nerd-icons-insert | :orange_circle: | Insert a Nerd Font icon by name | +| nerd-icons-icon-for-mode | :orange_circle: | Get icon for a given major mode | +| nerd-icons-icon-for-file | :orange_circle: | Get icon for a given filename | +| nerd-icons-icon-for-dir | :orange_circle: | Get icon for a given directory | +| nerd-icons-icon-for-buffer | :orange_circle: | Get icon for current buffer | +| all-the-icons-icon-for-mode | :orange_circle: | Get all-the-icons icon for mode | +| all-the-icons-icon-for-file | :orange_circle: | Get all-the-icons icon for file | +| all-the-icons-icon-for-dir | :orange_circle: | Get all-the-icons icon for dir | +| all-the-icons-icon-for-buffer | :orange_circle: | Get all-the-icons icon for buffer | +| all-the-icons-insert | :orange_circle: | Insert an all-the-icons icon | +| svg-lib-tag | :orange_circle: | Create SVG tag element | +| svg-lib-progress-bar | :orange_circle: | Create SVG progress bar | +| svg-lib-icon | :orange_circle: | Create SVG icon element | +| ligature-set-ligatures | :orange_circle: | Configure ligature mappings | +| text-scale-mode | :orange_circle: | Toggle text scaling mode | +| nerd-icons-completion-mode | :orange_circle: | Nerd icons in completion UI | +| nerd-icons-ibuffer-mode | :orange_circle: | Nerd icons in ibuffer | +| all-the-icons-completion-mode | :orange_circle: | All-the-icons in completion UI | +| global-ligature-mode | :orange_circle: | Toggle global ligature display | + ### Round 168 — Tempel, Yasnippet Extended, Auto-yasnippet | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -16659,3 +16659,68 @@ (echo-read-string echo "Directory to compile: " (lambda (dir) (echo-message! echo (str "YAS: compiled snippets in " dir)))))) + +;; ============================================================ +;; Round 169 — Icons, SVG, Ligature, Text-scale (batch 2) +;; ============================================================ + +(def (cmd-all-the-icons-insert app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "All-the-icons name: " + (lambda (name) + (echo-message! echo (str "All-the-icons: inserted " name)))))) + +(def (cmd-svg-lib-tag app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "SVG tag label: " + (lambda (label) + (echo-message! echo (str "SVG-lib: created tag '" label "'")))))) + +(def (cmd-svg-lib-progress-bar app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SVG-lib: created progress bar"))) + +(def (cmd-svg-lib-icon app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "SVG icon name: " + (lambda (name) + (echo-message! echo (str "SVG-lib: created icon " name)))))) + +(def (cmd-ligature-set-ligatures app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ligature: set ligatures for current mode"))) + +(def (cmd-text-scale-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'text-scale) + (if (mode-enabled? app 'text-scale) + (echo-message! echo "Text-scale mode enabled") + (echo-message! echo "Text-scale mode disabled")))) + +(def (cmd-nerd-icons-completion-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'nerd-icons-completion) + (if (mode-enabled? app 'nerd-icons-completion) + (echo-message! echo "Nerd-icons completion mode enabled") + (echo-message! echo "Nerd-icons completion mode disabled")))) + +(def (cmd-nerd-icons-ibuffer-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'nerd-icons-ibuffer) + (if (mode-enabled? app 'nerd-icons-ibuffer) + (echo-message! echo "Nerd-icons ibuffer mode enabled") + (echo-message! echo "Nerd-icons ibuffer mode disabled")))) + +(def (cmd-all-the-icons-completion-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'all-the-icons-completion) + (if (mode-enabled? app 'all-the-icons-completion) + (echo-message! echo "All-the-icons completion mode enabled") + (echo-message! echo "All-the-icons completion mode disabled")))) + +(def (cmd-global-ligature-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'global-ligature) + (if (mode-enabled? app 'global-ligature) + (echo-message! echo "Global ligature mode enabled") + (echo-message! echo "Global ligature mode disabled")))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -17295,3 +17295,49 @@ (def (cmd-yas-abort-snippet app) (let* ((echo (app-state-echo app))) (echo-message! echo "YAS: aborted current snippet"))) + +;; ============================================================ +;; Round 169 — Nerd-icons, All-the-icons, SVG-lib, Ligature (batch 1) +;; ============================================================ + +(def (cmd-nerd-icons-install-fonts app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nerd-icons: installing fonts..."))) + +(def (cmd-nerd-icons-insert app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Icon name: " + (lambda (name) + (echo-message! echo (str "Nerd-icons: inserted icon " name)))))) + +(def (cmd-nerd-icons-icon-for-mode app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nerd-icons: showing icon for current mode"))) + +(def (cmd-nerd-icons-icon-for-file app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nerd-icons: showing icon for current file"))) + +(def (cmd-nerd-icons-icon-for-dir app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nerd-icons: showing icon for directory"))) + +(def (cmd-nerd-icons-icon-for-buffer app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nerd-icons: showing icon for buffer"))) + +(def (cmd-all-the-icons-icon-for-mode app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "All-the-icons: showing icon for mode"))) + +(def (cmd-all-the-icons-icon-for-file app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "All-the-icons: showing icon for file"))) + +(def (cmd-all-the-icons-icon-for-dir app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "All-the-icons: showing icon for directory"))) + +(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"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -4982,4 +4982,25 @@ (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) + ;; Round 169 — Nerd-icons, All-the-icons, SVG-lib, Ligature + (register-command! 'nerd-icons-install-fonts cmd-nerd-icons-install-fonts) + (register-command! 'nerd-icons-insert cmd-nerd-icons-insert) + (register-command! 'nerd-icons-icon-for-mode cmd-nerd-icons-icon-for-mode) + (register-command! 'nerd-icons-icon-for-file cmd-nerd-icons-icon-for-file) + (register-command! 'nerd-icons-icon-for-dir cmd-nerd-icons-icon-for-dir) + (register-command! 'nerd-icons-icon-for-buffer cmd-nerd-icons-icon-for-buffer) + (register-command! 'all-the-icons-icon-for-mode cmd-all-the-icons-icon-for-mode) + (register-command! 'all-the-icons-icon-for-file cmd-all-the-icons-icon-for-file) + (register-command! 'all-the-icons-icon-for-dir cmd-all-the-icons-icon-for-dir) + (register-command! 'all-the-icons-icon-for-buffer cmd-all-the-icons-icon-for-buffer) + (register-command! 'all-the-icons-insert cmd-all-the-icons-insert) + (register-command! 'svg-lib-tag cmd-svg-lib-tag) + (register-command! 'svg-lib-progress-bar cmd-svg-lib-progress-bar) + (register-command! 'svg-lib-icon cmd-svg-lib-icon) + (register-command! 'ligature-set-ligatures cmd-ligature-set-ligatures) + (register-command! 'text-scale-mode cmd-text-scale-mode) + (register-command! 'nerd-icons-completion-mode cmd-nerd-icons-completion-mode) + (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) )