Round 185: Mermaid, PlantUML-ext, Graphviz, D2, Ditaa, Gnuplot commands
ober
02a5a00c664bcedb91c363fb5131b90584faa4ce
--- 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 185 — Mermaid, PlantUML-ext, Graphviz, D2, Ditaa, Gnuplot + +| Feature | Status | Notes | +|---|---|---| +| mermaid-compile | :orange_circle: | Compile Mermaid diagram | +| mermaid-open-browser | :orange_circle: | Open Mermaid in browser | +| mermaid-open-doc | :orange_circle: | Open Mermaid documentation | +| plantuml-preview-buffer | :orange_circle: | Preview PlantUML buffer | +| plantuml-preview-region | :orange_circle: | Preview PlantUML region | +| plantuml-complete-symbol | :orange_circle: | Complete PlantUML symbol | +| plantuml-set-output-type | :orange_circle: | Set PlantUML output type | +| graphviz-dot-mode | :orange_circle: | Toggle Graphviz-dot mode | +| graphviz-dot-preview | :orange_circle: | Preview Graphviz graph | +| graphviz-compile | :orange_circle: | Compile Graphviz graph | +| graphviz-set-layout | :orange_circle: | Set Graphviz layout engine | +| d2-mode | :orange_circle: | Toggle D2 diagram mode | +| d2-compile | :orange_circle: | Compile D2 diagram | +| d2-open-browser | :orange_circle: | Open D2 in browser | +| d2-set-theme | :orange_circle: | Set D2 theme | +| ditaa-mode | :orange_circle: | Toggle Ditaa mode | +| ditaa-compile | :orange_circle: | Compile Ditaa diagram | +| gnuplot-mode | :orange_circle: | Toggle Gnuplot mode | +| gnuplot-send-buffer | :orange_circle: | Send buffer to Gnuplot | +| gnuplot-send-region | :orange_circle: | Send region to Gnuplot | + ### Round 184 — Geiser, SLIME-ext, Cider-ext, Sly | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -17447,3 +17447,57 @@ (def (cmd-sly-db-abort app) (let* ((echo (app-state-echo app))) (echo-message! echo "Sly: aborted debugger"))) + +;; Round 185 — Mermaid, Plantuml-ext, Graphviz, D2, Ditaa, Gnuplot (batch 2) +(def (cmd-graphviz-set-layout app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Layout (dot/neato/circo): " + (lambda (layout) + (echo-message! echo (str "Graphviz: layout set to " layout)))))) + +(def (cmd-d2-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'd2) + (if (mode-enabled? app 'd2) + (echo-message! echo "D2 mode enabled") + (echo-message! echo "D2 mode disabled")))) + +(def (cmd-d2-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "D2: compiling diagram..."))) + +(def (cmd-d2-open-browser app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "D2: opening in browser"))) + +(def (cmd-d2-set-theme app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Theme: " + (lambda (theme) + (echo-message! echo (str "D2: theme set to " theme)))))) + +(def (cmd-ditaa-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'ditaa) + (if (mode-enabled? app 'ditaa) + (echo-message! echo "Ditaa mode enabled") + (echo-message! echo "Ditaa mode disabled")))) + +(def (cmd-ditaa-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ditaa: compiling diagram..."))) + +(def (cmd-gnuplot-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'gnuplot) + (if (mode-enabled? app 'gnuplot) + (echo-message! echo "Gnuplot mode enabled") + (echo-message! echo "Gnuplot mode disabled")))) + +(def (cmd-gnuplot-send-buffer app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Gnuplot: sent buffer to gnuplot"))) + +(def (cmd-gnuplot-send-region app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Gnuplot: sent region to gnuplot"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -18082,3 +18082,49 @@ (echo-read-string echo "Who macroexpands: " (lambda (name) (echo-message! echo (str "SLIME: finding macroexpansions of " name)))))) + +;; Round 185 — Mermaid, Plantuml-ext, Graphviz, D2, Ditaa, Gnuplot (batch 1) +(def (cmd-mermaid-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mermaid: compiling diagram..."))) + +(def (cmd-mermaid-open-browser app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mermaid: opening in browser"))) + +(def (cmd-mermaid-open-doc app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mermaid: opening documentation"))) + +(def (cmd-plantuml-preview-buffer app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PlantUML: previewing buffer..."))) + +(def (cmd-plantuml-preview-region app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PlantUML: previewing region..."))) + +(def (cmd-plantuml-complete-symbol app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PlantUML: completing symbol"))) + +(def (cmd-plantuml-set-output-type app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Output type (png/svg): " + (lambda (type) + (echo-message! echo (str "PlantUML: output set to " type)))))) + +(def (cmd-graphviz-dot-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'graphviz-dot) + (if (mode-enabled? app 'graphviz-dot) + (echo-message! echo "Graphviz-dot mode enabled") + (echo-message! echo "Graphviz-dot mode disabled")))) + +(def (cmd-graphviz-dot-preview app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Graphviz: previewing graph..."))) + +(def (cmd-graphviz-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Graphviz: compiling graph..."))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -5318,4 +5318,25 @@ (register-command! 'sly-stickers-toggle cmd-sly-stickers-toggle) (register-command! 'sly-mrepl-new cmd-sly-mrepl-new) (register-command! 'sly-db-abort cmd-sly-db-abort) + ;; Round 185 — Mermaid, Plantuml-ext, Graphviz, D2, Ditaa, Gnuplot + (register-command! 'mermaid-compile cmd-mermaid-compile) + (register-command! 'mermaid-open-browser cmd-mermaid-open-browser) + (register-command! 'mermaid-open-doc cmd-mermaid-open-doc) + (register-command! 'plantuml-preview-buffer cmd-plantuml-preview-buffer) + (register-command! 'plantuml-preview-region cmd-plantuml-preview-region) + (register-command! 'plantuml-complete-symbol cmd-plantuml-complete-symbol) + (register-command! 'plantuml-set-output-type cmd-plantuml-set-output-type) + (register-command! 'graphviz-dot-mode cmd-graphviz-dot-mode) + (register-command! 'graphviz-dot-preview cmd-graphviz-dot-preview) + (register-command! 'graphviz-compile cmd-graphviz-compile) + (register-command! 'graphviz-set-layout cmd-graphviz-set-layout) + (register-command! 'd2-mode cmd-d2-mode) + (register-command! 'd2-compile cmd-d2-compile) + (register-command! 'd2-open-browser cmd-d2-open-browser) + (register-command! 'd2-set-theme cmd-d2-set-theme) + (register-command! 'ditaa-mode cmd-ditaa-mode) + (register-command! 'ditaa-compile cmd-ditaa-compile) + (register-command! 'gnuplot-mode cmd-gnuplot-mode) + (register-command! 'gnuplot-send-buffer cmd-gnuplot-send-buffer) + (register-command! 'gnuplot-send-region cmd-gnuplot-send-region) )