diff options
Diffstat (limited to '.emacs.d/lisp/init-ui.el')
-rw-r--r-- | .emacs.d/lisp/init-ui.el | 96 |
1 files changed, 61 insertions, 35 deletions
diff --git a/.emacs.d/lisp/init-ui.el b/.emacs.d/lisp/init-ui.el index 0c12934..50e9cdb 100644 --- a/.emacs.d/lisp/init-ui.el +++ b/.emacs.d/lisp/init-ui.el @@ -8,6 +8,8 @@ :hook (elpaca-after-init . (lambda () (cond + ((find-font (font-spec :name "aporetic serif mono")) + (set-face-attribute 'default nil :font "aporetic serif mono")) ((find-font (font-spec :name "iosevka comfy")) (set-face-attribute 'default nil :font "iosevka comfy")) ((find-font (font-spec :name "iosevka")) @@ -16,37 +18,11 @@ (global-display-line-numbers-mode) (global-hl-line-mode +1) - (global-set-key (kbd "C-x C-S-k") 'kill-this-buffer) - (add-to-list 'custom-theme-load-path "~/.emacs.d/themes") (load-theme 'non-modo t))) - ;; http://yummymelon.com/devnull/enhancing-navigation-in-emacs-view-mode.html - (view-mode . (lambda () - (cond ((derived-mode-p 'org-mode) - (define-key view-mode-map (kbd "p") 'org-previous-visible-heading) - (define-key view-mode-map (kbd "n") 'org-next-visible-heading)) - ((derived-mode-p 'markdown-mode) - (define-key view-mode-map (kbd "p") 'markdown-outline-previous) - (define-key view-mode-map (kbd "n") 'markdown-outline-next)) - ((derived-mode-p 'html-mode) - (define-key view-mode-map (kbd "p") 'sgml-skip-tag-backward) - (define-key view-mode-map (kbd "n") 'sgml-skip-tag-forward)) - ((derived-mode-p 'emacs-lisp-mode) - (define-key view-mode-map (kbd "p") 'backward-sexp) - (define-key view-mode-map (kbd "n") 'forward-sexp)) - ((derived-mode-p 'clojure-mode) - (define-key view-mode-map (kbd "p") 'backward-sexp) - (define-key view-mode-map (kbd "n") 'forward-sexp)) - ((derived-mode-p 'makefile-mode) - (define-key view-mode-map (kbd "p") 'makefile-previous-dependency) - (define-key view-mode-map (kbd "n") 'makefile-next-dependency)) - ((derived-mode-p 'c-mode) - (define-key view-mode-map (kbd "p") 'c-beginning-of-defun) - (define-key view-mode-map (kbd "n") 'c-end-of-defun)) - (t - (define-key view-mode-map (kbd "p") 'scroll-down-command) - (define-key view-mode-map (kbd "n") 'scroll-up-command))))) + :bind ("C-x C-S-k" . kill-buffer) :config + (setq-default display-line-numbers-widen t) ;; https://github.com/rougier/elegant-emacs/blob/master/sanity.el (setq inhibit-startup-screen t inhibit-startup-echo-area-message t @@ -65,13 +41,22 @@ (run-with-timer 0.05 nil 'invert-face 'mode-line)) visible-bell t) - ;; TODO do we want these? (copied from prelude) + ;; A combination of settings from prelude and minimal-emacs.d, may need tweaking (setq scroll-margin 0 scroll-conservatively 100000 - scroll-preserve-screen-position 1) + scroll-preserve-screen-position 1 + hscroll-margin 2 + hscroll-step 1 + auto-window-vscroll nil) (setq pixel-scroll-precision-mode t) + (setq-default word-wrap t + truncate-lines t + fill-column 80) + ;; If enabled and `truncate-lines' is disabled, soft wrapping will not occur + ;; when the window is narrower than `truncate-partial-width-windows' characters. + (setq truncate-partial-width-windows nil) - (fset 'yes-or-no-p 'y-or-n-p) + (setq use-short-answers t) (setq frame-title-format '("Emacs: " (:eval (if (buffer-file-name) @@ -79,9 +64,41 @@ "%b")))) (when (eq system-type 'darwin) - (setq mac-option-modifier 'meta) - (setq mac-right-option-modifier 'none) - (setq mac-command-modifier 'super))) + (setq mac-option-modifier 'meta + mac-right-option-modifier 'none) + ;; After swapping control and command, this works nicely, + ;; otherwise use (setq mac-command-modifier 'super) + (setq mac-command-modifier 'control + mac-control-modifier 'super))) + +(use-feature view + ;; http://yummymelon.com/devnull/enhancing-navigation-in-emacs-view-mode.html + :hook + (view-mode . (lambda () + (cond ((derived-mode-p 'org-mode) + (define-key view-mode-map (kbd "p") 'org-previous-visible-heading) + (define-key view-mode-map (kbd "n") 'org-next-visible-heading)) + ((derived-mode-p 'markdown-mode) + (define-key view-mode-map (kbd "p") 'markdown-outline-previous) + (define-key view-mode-map (kbd "n") 'markdown-outline-next)) + ((derived-mode-p 'html-mode) + (define-key view-mode-map (kbd "p") 'sgml-skip-tag-backward) + (define-key view-mode-map (kbd "n") 'sgml-skip-tag-forward)) + ((derived-mode-p 'emacs-lisp-mode) + (define-key view-mode-map (kbd "p") 'backward-sexp) + (define-key view-mode-map (kbd "n") 'forward-sexp)) + ((derived-mode-p 'clojure-mode) + (define-key view-mode-map (kbd "p") 'backward-sexp) + (define-key view-mode-map (kbd "n") 'forward-sexp)) + ((derived-mode-p 'makefile-mode) + (define-key view-mode-map (kbd "p") 'makefile-previous-dependency) + (define-key view-mode-map (kbd "n") 'makefile-next-dependency)) + ((derived-mode-p 'c-mode) + (define-key view-mode-map (kbd "p") 'c-beginning-of-defun) + (define-key view-mode-map (kbd "n") 'c-end-of-defun)) + (t + (define-key view-mode-map (kbd "p") 'scroll-down-command) + (define-key view-mode-map (kbd "n") 'scroll-up-command)))))) (use-package hl-todo :bind @@ -116,7 +133,7 @@ (dolist (mode whitespace-disabled-modes) (add-hook (intern (concat (symbol-name mode) "-hook")) #'turn-off-whitespace-mode)) :hook - ((text-mode prog-mode) . (lambda () (whitespace-mode +1)))) + ((text-mode prog-mode) . whitespace-mode)) (use-package goggles :diminish @@ -131,6 +148,9 @@ :hook (prog-mode . idle-highlight-mode)) (use-feature paren + :custom + (show-paren-when-point-inside-paren t) + (show-paren-when-point-in-periphery t) :config (show-paren-mode +1)) @@ -194,6 +214,9 @@ ;; Run setup hook for `eval-expression' (calls `eldoc--eval-expression-setup') (run-hooks 'eval-expression-minibuffer-setup-hook) + (mono-complete-mode +1) + (setq-local mono-complete-fallback-command 'dabbrev-expand) + ;; smartparens, but don't insert pairs of ' (smartparens-strict-mode) (setq-local sp-pair-list (assoc-delete-all "'" sp-pair-list)) @@ -217,5 +240,8 @@ (set-face-foreground 'highlight-indent-guides-character-face "grey25") :hook ((prog-mode text-mode conf-mode) . highlight-indent-guides-mode)) +;; Main causal collection package; the individual packages are configured in the appropriate places +(use-package casual) + (provide 'init-ui) ;;; init-ui.el ends here |