diff --git a/bundle/bundle--package.el b/bundle/bundle--package.el index 66e98631..e835f4d5 100644 --- a/bundle/bundle--package.el +++ b/bundle/bundle--package.el @@ -1,6 +1,6 @@ ;; PACKAGE (require 'package) -(add-hook 'emacs-lisp-mode-hook (lambda () (prettify-symbols-mode))) + (use-package htmlize) @@ -21,6 +21,7 @@ shr-width nil)) (use-package nov + :defer t :hook ((nov-mode . visual-line-mode) (nov-mode . (lambda () (if (eq system-type 'windows-nt) (setq-local line-spacing 2) @@ -52,19 +53,18 @@ (use-package elisp-mode :ensure nil - :mode (("\\.el$" . emacs-lisp-mode)) - :config - (add-hook 'emacs-lisp-mode-hook (lambda () (setq-local lisp-indent-function 'lisp-indent-function)))) + :hook ((emacs-lisp-mode . prettify-symbols-mode) + (emacs-lisp-mode . (lambda () (setq-local lisp-indent-function 'lisp-indent-function)))) + :mode (("\\.el$" . emacs-lisp-mode))) (use-package lisp-mode :ensure nil - :init - (add-hook 'lisp-mode-hook (lambda () (prettify-symbols-mode))) + :hook ((lisp-mode . prettify-symbols-mode) + (lisp-mode . (lambda () (setq-local lisp-indent-function 'common-lisp-indent-function)))) :mode (("\\.lisp$" . lisp-mode) ("\\.lsp$" . lisp-mode) ("\\.cl$" . lisp-mode)) :config - (add-hook 'lisp-mode-hook (lambda () (setq-local lisp-indent-function 'common-lisp-indent-function))) (if (eq system-type 'windows-nt) (setq inferior-lisp-program "sbcl --noinform") (setq inferior-lisp-program "/usr/bin/sbcl --noinform")) @@ -305,6 +305,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (setq common-lisp-hyperspec-root (mk/hyperspec-dir))) (use-package cc-mode + :defer t ;; https://www.gnu.org/prep/standards/html_node/Writing-C.html :ensure nil ;; :hook (c-mode . eglot-ensure) @@ -354,6 +355,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (add-to-list 'interpreter-mode-alist '("node" . js2-mode))) (use-package go-mode + :defer t :mode ("\\.go\\'" . go-mode) :hook ((before-save . gofmt-before-save) (go-mode . eglot-ensure)) @@ -372,6 +374,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ;; (add-hook 'go-mode-hook 'me/go-mode-compile-on-save))) (use-package web-mode + :defer t ;; :hook html-mode :mode (("\\.html?\\'" . web-mode) ("\\.xhtml?\\'" . web-mode) @@ -388,6 +391,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (web-mode-enable-current-column-highlight t)) (use-package python + :defer t :mode (("\\.py\\'" . python-mode) ("\\.wsgi$" . python-mode) ("\\.j2" . python-mode)) @@ -401,7 +405,6 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (fill-column 79)) (use-package slime - :defer t :custom (slime-autodoc-use-multiline-p 1) :bind ("C-c C-q" . slime-close-all-parens-in-sexp) @@ -430,26 +433,34 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ;; (when (file-exists-p helper) ;; (load-file helper))) - (let ((u1-metaebene (slime-create-filename-translator - :machine-instance "u1-metaebene" - :remote-host "u1.metaebene.dev" - :username "marcus"))) - (push u1-metaebene slime-filename-translations)) - (let ((u1-marcsukammer (slime-create-filename-translator - :machine-instance "u1-marcsukammer" - :remote-host "u1.marcsukammer.dev" - :username "marcus"))) - (push u1-marcsukammer slime-filename-translations)) + (defvar mk/slime-remote-instances + '((:machine-instance "u1-metaebene" + :remote-host "u1.metaebene.dev" + :username "marcus") + (:machine-instance "u1-marcsukammer" + :remote-host "u1.marcsukammer.dev" + :username "marcus"))) + + (mapc (lambda (instance) + (push (slime-create-filename-translator + :machine-instance (plist-get instance :machine-instance) + :remote-host (plist-get instance :remote-host) + :username (plist-get instance :username)) + slime-filename-translations)) + mk/slime-remote-instances) + ;; syntax highlighting (defvar slime-repl-font-lock-keywords lisp-font-lock-keywords-2) + (defun slime-repl-font-lock-setup () (setq font-lock-defaults '(slime-repl-font-lock-keywords ;; From lisp-mode.el nil nil (("+-*/.<>=!?$%_&~^:@" . "w")) nil - (font-lock-syntactic-face-function - . lisp-font-lock-syntactic-face-function)))) + (font-lock-syntactic-face-function . lisp-font-lock-syntactic-face-function)))) + (add-hook 'slime-repl-mode-hook 'slime-repl-font-lock-setup) + (defadvice slime-repl-insert-prompt (after font-lock-face activate) (let ((inhibit-read-only t)) (add-text-properties