diff options
author | Yann Herklotz <git@yannherklotz.com> | 2022-11-22 17:56:20 +0000 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2022-11-22 17:56:20 +0000 |
commit | 5a4a09d382e8890ced126ac12b77cca9afc3ac84 (patch) | |
tree | 132fc79a409bc28e6750eef6d25e6def54c2a763 | |
parent | bf2f053d5462fe2a0824297de4a1b425725091f3 (diff) | |
download | ymh-emacs-5a4a09d382e8890ced126ac12b77cca9afc3ac84.tar.gz ymh-emacs-5a4a09d382e8890ced126ac12b77cca9afc3ac84.zip |
Add support for latex and haskell
-rw-r--r-- | init.el | 123 |
1 files changed, 80 insertions, 43 deletions
@@ -11,7 +11,7 @@ (other-window -1)) (defun ymhg/reset-coq-windows () - "Resets the Goald and Response windows." + "Resets the Goal and Response windows." (interactive) (other-frame 1) (delete-other-windows) @@ -61,6 +61,10 @@ (set-register ?p (cons 'file "~/Dropbox/org/projects.org")) (set-register ?c (cons 'file (format-time-string "~/Dropbox/org/%Y-%m.org"))) +(defadvice load-theme + (before theme-dont-propagate activate) + (mapc #'disable-theme custom-enabled-themes)) + (defun diary-schedule (y1 m1 d1 y2 m2 d2 dayname) "Entry applies if date is between dates on DAYNAME. Order of the parameters is M1, D1, Y1, M2, D2, Y2 if @@ -150,6 +154,10 @@ (setq line-number-display-limit 2000000) + (setq default-frame-alist '((undecorated . t) + (drag-internal-border . 1) + (internal-border-width . 5))) + (setq auth-sources '("~/.authinfo" "~/.authinfo.gpg" "~/.netrc")) :config (unless (string= system-type "darwin") @@ -522,47 +530,6 @@ https://yannherklotz.com")) (use-package flycheck :delight flycheck-mode) -(use-package proof-general - :config - (setq proof-splash-enable nil) - (setq proof-auto-action-when-deactivating-scripting 'retract) - (setq proof-delete-empty-windows nil) - (setq proof-multiple-frames-enable nil) - (setq proof-three-window-enable nil) - (setq proof-auto-raise-buffers nil) - (setq coq-compile-before-require nil) - (setq coq-compile-vos t) - (setq coq-compile-parallel-in-background t) - (setq coq-compile-keep-going nil) - (setq coq-compile-quick 'no-quick) - (setq coq-max-background-compilation-jobs 4) - (setq coq-indent-modulestart 0) - - (defun ymhg--reset-coq-indentation () - "Reset slow indentation." - (setq-local indent-line-function #'indent-relative)) - - (add-hook 'coq-mode-hook #'ymhg--reset-coq-indentation t) - ;;(define-key coq-mode-map (kbd "C-c TAB") #'smie-indent-line) - ) - -(use-package alectryon - :hook (coq-mode . alectryon-mode) - :delight alectryon-mode - :config - (when (eq system-type 'darwin) - (setq alectryon-executable "/nix/store/bvlk3hyrjdgl0sg93rrdr2z71hgza0m9-python3.9-alectryon-1.4.0/bin/alectryon")) - (defun ymhg/alectryon-preview () - "Display an HTML preview of the current buffer." - (interactive) - (let* ((html-fname (make-temp-file "alectryon" nil ".html")) - (args `("-r" "5" "-" ,html-fname))) - (apply #'call-process-region nil nil "rst2html5" nil nil nil args) - (message "Compilation complete") - (browse-url html-fname))) - (define-key alectryon-mode-map (kbd "C-c u t") #'alectryon-toggle) - (define-key alectryon-mode-map (kbd "C-c u p") #'ymhg/alectryon-preview)) - (use-package rst) (use-package boogie-friends @@ -644,7 +611,8 @@ https://yannherklotz.com")) (use-package ol-notmuch) (use-package ebib - :bind (("C-c y b" . ebib)) + :bind (("C-c y b" . ebib) + ("C-c [" . ebib-insert-citation)) :init (defun ymhg/ebib-create-identifier (key _) key) (setq ebib-preload-bib-files '("~/Dropbox/bibliography/references.bib")) @@ -771,6 +739,7 @@ https://yannherklotz.com")) t))) (use-package spell-fu + :hook text-mode :config (add-hook 'spell-fu-mode-hook (lambda () @@ -796,6 +765,74 @@ https://yannherklotz.com")) :config (setq geiser-chicken-binary "chicken-csi")) +(use-package bufferlo + :straight (:host github :repo "florommel/bufferlo") + :defer nil + :bind (("C-x b" . bufferlo-switch-to-buffer)) + :config + (bufferlo-mode 1)) + +(use-package haskell-mode) + +(use-package proof-general + :config + (setq proof-splash-enable nil) + (setq proof-auto-action-when-deactivating-scripting 'retract) + (setq proof-delete-empty-windows nil) + (setq proof-multiple-frames-enable nil) + (setq proof-three-window-enable nil) + (setq proof-auto-raise-buffers nil) + (setq coq-compile-before-require nil) + (setq coq-compile-vos t) + (setq coq-compile-parallel-in-background t) + (setq coq-compile-keep-going nil) + (setq coq-compile-quick 'no-quick) + (setq coq-max-background-compilation-jobs 4) + (setq coq-indent-modulestart 0) + + (defun ymhg--reset-coq-indentation () + "Reset slow indentation." + (setq-local indent-line-function #'indent-relative)) + + (add-hook 'coq-mode-hook #'ymhg--reset-coq-indentation t) + ;;(define-key coq-mode-map (kbd "C-c TAB") #'smie-indent-line) + ) + +(use-package alectryon + :hook (coq-mode . alectryon-mode) + :delight alectryon-mode + :config + (when (eq system-type 'darwin) + (setq alectryon-executable "/nix/store/bvlk3hyrjdgl0sg93rrdr2z71hgza0m9-python3.9-alectryon-1.4.0/bin/alectryon")) + (defun ymhg/alectryon-preview () + "Display an HTML preview of the current buffer." + (interactive) + (let* ((html-fname (make-temp-file "alectryon" nil ".html")) + (args `("-r" "5" "-" ,html-fname))) + (apply #'call-process-region nil nil "rst2html5" nil nil nil args) + (message "Compilation complete") + (browse-url html-fname))) + (define-key alectryon-mode-map (kbd "C-c u t") #'alectryon-toggle) + (define-key alectryon-mode-map (kbd "C-c u p") #'ymhg/alectryon-preview)) + +(use-package tex + :straight auctex + :init + (setq TeX-auto-save t) + (setq TeX-parse-self t) + (setq-default TeX-master nil) + (setq TeX-view-program-selection '((output-pdf "PDF Tools"))) + (setq TeX-source-correlate-start-server t) + (setq-default TeX-command-extra-options "-shell-escape") + (setq TeX-source-correlate-mode t) + (setq TeX-source-correlate-method 'synctex) + (setq reftex-plug-into-AUCTeX t) + :config + (add-hook 'TeX-after-compilation-finished-functions + #'TeX-revert-document-buffer) + (add-hook 'TeX-mode-hook #'reftex-mode) + (add-hook 'TeX-mode-hook #'outline-minor-mode)) + (setq gc-cons-threshold (* 1024 1024 10)) (setq custom-file (concat user-emacs-directory "custom.el")) |