X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/blobdiff_plain/04a268e34909e76750d4a41ea5e042c4903bf8a5..e931bbddd5b72fa2edf21778c96fa95227cbe36d:/init.org?ds=sidebyside diff --git a/init.org b/init.org index 52c1437..257e868 100644 --- a/init.org +++ b/init.org @@ -729,6 +729,7 @@ for this. ** Bindings #+begin_src emacs-lisp +(require 'bind-key) (bind-keys ("C-c a i" . ielm) @@ -896,9 +897,12 @@ file. (defvar a/show-async-tangle-time nil "Show the time spent tangling the file.") - (defvar a/async-tangle-post-compile "make ti" + (defvar a/async-tangle-post-compile nil "If non-nil, pass to `compile' after successful tangle.") + (defvar a/async-tangle-byte-recompile t + "If non-nil, byte-recompile the file on successful tangle.") + (defun a/async-babel-tangle () "Tangle org file asynchronously." (interactive) @@ -906,7 +910,7 @@ file. (file (buffer-file-name)) (file-nodir (file-name-nondirectory file)) ;; (async-quiet-switch "-q") - ) + (file-noext (file-name-sans-extension file))) (async-start `(lambda () (require 'org) @@ -915,6 +919,7 @@ file. `(lambda (result) (if result (progn + (setq byte-compile-warnings '(not noruntime unresolved)) (message "Tangled %s%s" ,file-nodir (if a/show-async-tangle-time @@ -923,7 +928,9 @@ file. ',file-tangle-start-time))) "")) (when a/async-tangle-post-compile - (compile a/async-tangle-post-compile))) + (compile a/async-tangle-post-compile)) + (when a/async-tangle-byte-recompile + (byte-recompile-file (concat ,file-noext ".el")))) (message "Tangling %s failed" ,file-nodir)))))))) (add-to-list @@ -1183,6 +1190,7 @@ There's no way I could top that, so I won't attempt to. ;; https://oremacs.com/2017/03/18/dired-ediff/ (defun dired-ediff-files () (interactive) + (require 'dired-aux) (defvar ediff-after-quit-hook-internal) (let ((files (dired-get-marked-files)) (wnd (current-window-configuration))) @@ -1202,6 +1210,7 @@ There's no way I could top that, so I won't attempt to. (set-window-configuration wnd)))) (error "no more than 2 files should be marked")))) :bind (:map dired-mode-map + ("b" . dired-up-directory) ("e" . dired-ediff-files) ("E" . dired-toggle-read-only) ("\\" . dired-hide-details-mode) @@ -1402,7 +1411,8 @@ Automatically save place in each file. ** [[https://coq.inria.fr][Coq]] (with [[https://github.com/ProofGeneral/PG][Proof General]]) #+begin_src emacs-lisp -(use-package proof-general) +(use-package proof-site + :straight proof-general) #+end_src ** [[https://leanprover.github.io][Lean]] (with [[https://github.com/leanprover/lean-mode][lean-mode]]) @@ -1830,6 +1840,7 @@ Emacs package that displays available keybindings in popup #+begin_src emacs-lisp (use-package smart-mode-line + :commands (sml/apply-theme) :config (sml/setup)) #+end_src @@ -2004,7 +2015,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. #+begin_src emacs-lisp (use-package shrink-path - :after eshell + :defer 2 :config (setq eshell-prompt-regexp "\\(.*\n\\)*λ " eshell-prompt-function #'+eshell/prompt) @@ -2035,6 +2046,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. #+begin_src emacs-lisp (use-package eshell-up + :commands eshell-up :after eshell) #+end_src @@ -2428,6 +2440,6 @@ Display how long it took to load the init file. * COMMENT Local Variables :ARCHIVE: # Local Variables: -# eval: ;; (add-hook 'after-save-hook #'a/async-babel-tangle 'append 'local) +# eval: (add-hook 'after-save-hook #'a/async-babel-tangle 'append 'local) # eval: (typo-mode -1) # End: