Round 202: Dictionary, Thesaurus, Translation, Spell-fu, Flyspell-correct commands
ober
d23b44d4af03310689ad8c55300f53797c91d405
--- 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 202 — Dictionary, Thesaurus, Translation, Spell-fu, Flyspell-correct + +| Feature | Status | Notes | +|---|---|---| +| dictionary-lookup-definition | :orange_circle: | Look up word definition | +| thesaurus-lookup-word | :orange_circle: | Look up word in thesaurus | +| powerthesaurus-lookup-synonyms | :orange_circle: | PowerThesaurus synonyms | +| powerthesaurus-lookup-antonyms | :orange_circle: | PowerThesaurus antonyms | +| google-translate-at-point | :orange_circle: | Google Translate at point | +| google-translate-at-point-reverse | :orange_circle: | Reverse translate at point | +| google-translate-buffer | :orange_circle: | Translate entire buffer | +| deepl-translate | :orange_circle: | DeepL translate text | +| deepl-translate-region | :orange_circle: | DeepL translate region | +| go-translate-echo-area | :orange_circle: | Translate in echo area | +| immersive-translate-mode | :orange_circle: | Toggle immersive translate | +| langtool-server-start | :orange_circle: | Start LanguageTool server | +| langtool-server-stop | :orange_circle: | Stop LanguageTool server | +| flyspell-correct-wrapper | :orange_circle: | Show correction options | +| flyspell-correct-at-point | :orange_circle: | Correct word at point | +| flyspell-correct-move | :orange_circle: | Move to next misspelling | +| spell-fu-mode | :orange_circle: | Toggle spell-fu mode | +| spell-fu-word-add | :orange_circle: | Add word to dictionary | +| spell-fu-word-remove | :orange_circle: | Remove word from dictionary | +| spell-fu-dictionary-add | :orange_circle: | Add dictionary | + ### Round 201 — Notmuch-ext, Mu4e-ext, Message-ext, SMTP, MML | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -18278,3 +18278,52 @@ (def (cmd-mml-secure-message-encrypt app) (let* ((echo (app-state-echo app))) (echo-message! echo "MML: encrypted message"))) + +;; Round 202 — Immersive-translate, Langtool-ext, Flyspell-correct, Spell-fu +(def (cmd-immersive-translate-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'immersive-translate) + (if (mode-enabled? app 'immersive-translate) + (echo-message! echo "Immersive translate mode enabled") + (echo-message! echo "Immersive translate mode disabled")))) + +(def (cmd-langtool-server-start app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "LanguageTool: starting server..."))) + +(def (cmd-langtool-server-stop app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "LanguageTool: stopped server"))) + +(def (cmd-flyspell-correct-wrapper app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Flyspell: showing correction options"))) + +(def (cmd-flyspell-correct-at-point app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Flyspell: correcting word at point"))) + +(def (cmd-flyspell-correct-move app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Flyspell: moved to next misspelling and correcting"))) + +(def (cmd-spell-fu-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'spell-fu) + (if (mode-enabled? app 'spell-fu) + (echo-message! echo "Spell-fu mode enabled") + (echo-message! echo "Spell-fu mode disabled")))) + +(def (cmd-spell-fu-word-add app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Spell-fu: added word to dictionary"))) + +(def (cmd-spell-fu-word-remove app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Spell-fu: removed word from dictionary"))) + +(def (cmd-spell-fu-dictionary-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Add dictionary: " + (lambda (dict) + (echo-message! echo (str "Spell-fu: added dictionary " dict)))))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -18910,3 +18910,56 @@ (def (cmd-message-caesar-buffer-body app) (let* ((echo (app-state-echo app))) (echo-message! echo "Message: ROT13 applied to body"))) + +;; Round 202 — Dictionary, Thesaurus, Translation +(def (cmd-dictionary-lookup-definition app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Look up word: " + (lambda (word) + (echo-message! echo (str "Dictionary: definition of '" word "'")))))) + +(def (cmd-thesaurus-lookup-word app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Thesaurus lookup: " + (lambda (word) + (echo-message! echo (str "Thesaurus: synonyms for '" word "'")))))) + +(def (cmd-powerthesaurus-lookup-synonyms app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "PowerThesaurus synonyms: " + (lambda (word) + (echo-message! echo (str "PowerThesaurus: synonyms for '" word "'")))))) + +(def (cmd-powerthesaurus-lookup-antonyms app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "PowerThesaurus antonyms: " + (lambda (word) + (echo-message! echo (str "PowerThesaurus: antonyms for '" word "'")))))) + +(def (cmd-google-translate-at-point app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Google Translate: translated word at point"))) + +(def (cmd-google-translate-at-point-reverse app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Google Translate: reverse translated word at point"))) + +(def (cmd-google-translate-buffer app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Google Translate: translating buffer..."))) + +(def (cmd-deepl-translate app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "DeepL translate text: " + (lambda (text) + (echo-message! echo (str "DeepL: translating...")))))) + +(def (cmd-deepl-translate-region app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "DeepL: translating region..."))) + +(def (cmd-go-translate-echo-area app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Translate: " + (lambda (text) + (echo-message! echo (str "go-translate: " text)))))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -5675,4 +5675,25 @@ (register-command! 'mml-preview cmd-mml-preview) (register-command! 'mml-secure-message-sign cmd-mml-secure-message-sign) (register-command! 'mml-secure-message-encrypt cmd-mml-secure-message-encrypt) + ;; Round 202 + (register-command! 'dictionary-lookup-definition cmd-dictionary-lookup-definition) + (register-command! 'thesaurus-lookup-word cmd-thesaurus-lookup-word) + (register-command! 'powerthesaurus-lookup-synonyms cmd-powerthesaurus-lookup-synonyms) + (register-command! 'powerthesaurus-lookup-antonyms cmd-powerthesaurus-lookup-antonyms) + (register-command! 'google-translate-at-point cmd-google-translate-at-point) + (register-command! 'google-translate-at-point-reverse cmd-google-translate-at-point-reverse) + (register-command! 'google-translate-buffer cmd-google-translate-buffer) + (register-command! 'deepl-translate cmd-deepl-translate) + (register-command! 'deepl-translate-region cmd-deepl-translate-region) + (register-command! 'go-translate-echo-area cmd-go-translate-echo-area) + (register-command! 'immersive-translate-mode cmd-immersive-translate-mode) + (register-command! 'langtool-server-start cmd-langtool-server-start) + (register-command! 'langtool-server-stop cmd-langtool-server-stop) + (register-command! 'flyspell-correct-wrapper cmd-flyspell-correct-wrapper) + (register-command! 'flyspell-correct-at-point cmd-flyspell-correct-at-point) + (register-command! 'flyspell-correct-move cmd-flyspell-correct-move) + (register-command! 'spell-fu-mode cmd-spell-fu-mode) + (register-command! 'spell-fu-word-add cmd-spell-fu-word-add) + (register-command! 'spell-fu-word-remove cmd-spell-fu-word-remove) + (register-command! 'spell-fu-dictionary-add cmd-spell-fu-dictionary-add) )