Vim style bindings for idris2 mode
This commit is contained in:
parent
beafb54995
commit
b6830c1621
43
config.org
43
config.org
|
@ -1048,18 +1048,61 @@ Disable company in idris2-mode, it's broken for now
|
||||||
(setq company-global-modes '(not idris2-mode idris2-repl-mode)))
|
(setq company-global-modes '(not idris2-mode idris2-repl-mode)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Quick interactive function to restart the idris2 process when we have problems
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(defun nm/idris2-restart ()
|
||||||
|
(interactive)
|
||||||
|
(idris2-quit)
|
||||||
|
(idris2-load-file))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
Patch idris2-run via advice to pass through the environment, so that envrc will work properly.
|
Patch idris2-run via advice to pass through the environment, so that envrc will work properly.
|
||||||
We need to patch ~idris2-ru~, ~idris2-repl-buffer~, and the ~idris2-ipkg-command~ family
|
We need to patch ~idris2-ru~, ~idris2-repl-buffer~, and the ~idris2-ipkg-command~ family
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(after! idris2-mode
|
(after! idris2-mode
|
||||||
(require 'envrc)
|
(require 'envrc)
|
||||||
(advice-add 'idris2-run :around #'envrc-propagate-environment)
|
(advice-add 'idris2-run :around #'envrc-propagate-environment)
|
||||||
|
(advice-add 'nm/idris2-restart :around #'envrc-propagate-environment)
|
||||||
|
(advice-add 'idris2-repl :around #'envrc-propagate-environment)
|
||||||
(advice-add 'idris2-repl-buffer :around #'envrc-propagate-environment)
|
(advice-add 'idris2-repl-buffer :around #'envrc-propagate-environment)
|
||||||
|
(advice-add 'idris2-load-file :around #'envrc-propagate-environment)
|
||||||
(advice-add 'idris2-ipkg-command :around #'envrc-propagate-environment)
|
(advice-add 'idris2-ipkg-command :around #'envrc-propagate-environment)
|
||||||
(advice-add 'idris2-ipkg-build :around #'envrc-propagate-environment)
|
(advice-add 'idris2-ipkg-build :around #'envrc-propagate-environment)
|
||||||
(advice-add 'idris2-ipkg-clean :around #'envrc-propagate-environment))
|
(advice-add 'idris2-ipkg-clean :around #'envrc-propagate-environment))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
Vim style bindings
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(map! :after idris2-mode
|
||||||
|
:map idris2-mode-map
|
||||||
|
:localleader
|
||||||
|
"a" #'idris2-load-file
|
||||||
|
"b" #'idris2-proof-search
|
||||||
|
"d" #'idris2-case-dwim
|
||||||
|
"f" #'idris2-add-clause
|
||||||
|
"g" #'idris2-add-missing
|
||||||
|
"h" #'idris2-type-at-point
|
||||||
|
"j" #'idris2-jump-to-def-same-window
|
||||||
|
"k" #'idris2-docs-at-point
|
||||||
|
"l" #'idris2-pop-to-repl
|
||||||
|
";" #'idris2-type-search
|
||||||
|
"w" #'idris2-make-with-block
|
||||||
|
"e" #'idris2-make-lemma
|
||||||
|
"n" #'idris2-previous-error
|
||||||
|
"m" #'idris2-next-error
|
||||||
|
"z" #'idris2-apropos
|
||||||
|
(:prefix ("i" . "ipkg" )
|
||||||
|
"b" #'idris2-ipkg-build
|
||||||
|
"c" #'idris2-ipkg-clean
|
||||||
|
"o" #'idris2-open-package-file)
|
||||||
|
(:prefix ("r" . "repl")
|
||||||
|
"r" #'nm/idris2-restart
|
||||||
|
"c" #'idris2-compile-and-execute)
|
||||||
|
(:prefix ("p" . "prover")
|
||||||
|
"p" #'idris2-prove-hole))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Haskell
|
** Haskell
|
||||||
Setup formatting
|
Setup formatting
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
Loading…
Reference in New Issue