Round 252: Haskell ext, Elixir ext, CIDER ext, Ensime (20 commands)
ober
def19b6d4a79171c17b1c7b45b73f172b96c0915
--- 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 252 — Haskell ext, Elixir ext, CIDER ext, Ensime + +| Command | Status | Description | +|---------|--------|-------------| +| haskell-process-type | :orange_circle: | Show type of Haskell expression | +| haskell-check | :orange_circle: | Check current Haskell file | +| haskell-compile | :orange_circle: | Compile Haskell project | +| haskell-session-change | :orange_circle: | Change Haskell session | +| elixir-mode-goto-definition | :orange_circle: | Go to Elixir definition | +| alchemist-mix-run | :orange_circle: | Run Elixir mix task | +| alchemist-mix-test | :orange_circle: | Run Elixir mix tests | +| alchemist-compile-this-buffer | :orange_circle: | Compile Elixir buffer | +| cider-find-dwim | :orange_circle: | CIDER find-dwim at point | +| ensime-edit-definition | :orange_circle: | Jump to Scala definition | +| ensime-type-at-point | :orange_circle: | Show Scala type at point | +| ensime-import-type-at-point | :orange_circle: | Import Scala type at point | +| ensime-search | :orange_circle: | Search Scala project | +| ensime-show-hierarchy | :orange_circle: | Show Scala type hierarchy | +| ensime-refactor-rename | :orange_circle: | Rename Scala symbol | +| ensime-refactor-organize-imports | :orange_circle: | Organize Scala imports | +| ensime-refactor-extract-method | :orange_circle: | Extract Scala method | +| ensime-refactor-inline-local | :orange_circle: | Inline Scala local variable | +| ensime-refactor-extract-local | :orange_circle: | Extract Scala local variable | +| ensime-expand-selection | :orange_circle: | Expand Scala selection | + ### Round 251 — Semantic ext, Python ext, Ruby ext, JS/TS/Go guru | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -20610,3 +20610,52 @@ (echo-read-string echo "Guru scope: " (lambda (scope) (echo-message! echo (str "Go guru: scope set to " scope)))))) + +;; Round 252 — Ensime ext (10 in final) +(def (cmd-ensime-type-at-point app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ensime: showing type at point"))) + +(def (cmd-ensime-import-type-at-point app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ensime: importing type at point"))) + +(def (cmd-ensime-search app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search: " + (lambda (query) + (echo-message! echo (str "Ensime: searching for " query)))))) + +(def (cmd-ensime-show-hierarchy app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ensime: showing type hierarchy"))) + +(def (cmd-ensime-refactor-rename app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "New name: " + (lambda (name) + (echo-message! echo (str "Ensime: renaming to " name)))))) + +(def (cmd-ensime-refactor-organize-imports app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ensime: organizing imports"))) + +(def (cmd-ensime-refactor-extract-method app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Method name: " + (lambda (name) + (echo-message! echo (str "Ensime: extracted method " name)))))) + +(def (cmd-ensime-refactor-inline-local app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ensime: inlined local variable"))) + +(def (cmd-ensime-refactor-extract-local app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Variable name: " + (lambda (name) + (echo-message! echo (str "Ensime: extracted local " name)))))) + +(def (cmd-ensime-expand-selection app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ensime: expanded selection"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -21250,3 +21250,46 @@ (let* ((echo (app-state-echo app))) (echo-message! echo "Go guru: describing selected expression"))) +;; Round 252 — Haskell ext, Elixir ext, CIDER ext, Ensime (10 in modes) +(def (cmd-haskell-process-type app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Haskell: showing type of expression"))) + +(def (cmd-haskell-check app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Haskell: checking current file"))) + +(def (cmd-haskell-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Haskell: compiling project"))) + +(def (cmd-haskell-session-change app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Session: " + (lambda (sess) + (echo-message! echo (str "Haskell: changed session to " sess)))))) + +(def (cmd-elixir-mode-goto-definition app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Elixir: going to definition"))) + +(def (cmd-alchemist-mix-run app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Alchemist: running mix"))) + +(def (cmd-alchemist-mix-test app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Alchemist: running mix test"))) + +(def (cmd-alchemist-compile-this-buffer app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Alchemist: compiling buffer"))) + +(def (cmd-cider-find-dwim app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CIDER: find-dwim at point"))) + +(def (cmd-ensime-edit-definition app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Ensime: jumping to definition"))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -6708,4 +6708,25 @@ (register-command! 'go-guru-whicherrs cmd-go-guru-whicherrs) (register-command! 'go-guru-peers cmd-go-guru-peers) (register-command! 'go-guru-set-scope cmd-go-guru-set-scope) + ;; Round 252 — Haskell ext, Elixir ext, CIDER ext, Ensime + (register-command! 'haskell-process-type cmd-haskell-process-type) + (register-command! 'haskell-check cmd-haskell-check) + (register-command! 'haskell-compile cmd-haskell-compile) + (register-command! 'haskell-session-change cmd-haskell-session-change) + (register-command! 'elixir-mode-goto-definition cmd-elixir-mode-goto-definition) + (register-command! 'alchemist-mix-run cmd-alchemist-mix-run) + (register-command! 'alchemist-mix-test cmd-alchemist-mix-test) + (register-command! 'alchemist-compile-this-buffer cmd-alchemist-compile-this-buffer) + (register-command! 'cider-find-dwim cmd-cider-find-dwim) + (register-command! 'ensime-edit-definition cmd-ensime-edit-definition) + (register-command! 'ensime-type-at-point cmd-ensime-type-at-point) + (register-command! 'ensime-import-type-at-point cmd-ensime-import-type-at-point) + (register-command! 'ensime-search cmd-ensime-search) + (register-command! 'ensime-show-hierarchy cmd-ensime-show-hierarchy) + (register-command! 'ensime-refactor-rename cmd-ensime-refactor-rename) + (register-command! 'ensime-refactor-organize-imports cmd-ensime-refactor-organize-imports) + (register-command! 'ensime-refactor-extract-method cmd-ensime-refactor-extract-method) + (register-command! 'ensime-refactor-inline-local cmd-ensime-refactor-inline-local) + (register-command! 'ensime-refactor-extract-local cmd-ensime-refactor-extract-local) + (register-command! 'ensime-expand-selection cmd-ensime-expand-selection) )