2021-08-17 11:49:19 +00:00
|
|
|
;;; init-ui.el --- UI Configuration File -*- lexical-binding: t -*-
|
|
|
|
;;; Commentary:
|
|
|
|
;; Some parts copied from prelude-ui.el and prelude-editor.el
|
2022-08-30 11:12:43 +00:00
|
|
|
;; Frame customisations, and disabling of {menu,tool,scoll}-bar-mode done in early-init.el, rather than here
|
2021-08-17 11:49:19 +00:00
|
|
|
;;; Code:
|
|
|
|
|
|
|
|
(use-package emacs
|
|
|
|
:config
|
2022-06-10 12:33:36 +00:00
|
|
|
(set-face-attribute 'default nil :font "iosevka comfy")
|
2021-08-17 11:49:19 +00:00
|
|
|
|
|
|
|
;; https://github.com/rougier/elegant-emacs/blob/master/sanity.el
|
|
|
|
(setq inhibit-startup-screen t
|
|
|
|
inhibit-startup-echo-area-message t
|
|
|
|
inhibit-startup-message t
|
|
|
|
initial-scratch-message nil)
|
|
|
|
|
|
|
|
(blink-cursor-mode -1)
|
|
|
|
|
|
|
|
(setq whitespace-line-column 120)
|
2022-02-28 11:44:23 +00:00
|
|
|
(setq show-trailing-whitespace t)
|
|
|
|
(setq-default indicate-empty-lines t)
|
2021-08-17 11:49:19 +00:00
|
|
|
(setq ring-bell-function 'ignore
|
|
|
|
visible-bell t)
|
|
|
|
|
|
|
|
;; TODO do we want these? (copied from prelude)
|
|
|
|
(setq scroll-margin 0
|
|
|
|
scroll-conservatively 100000
|
|
|
|
scroll-preserve-screen-position 1)
|
|
|
|
|
|
|
|
(global-display-line-numbers-mode)
|
|
|
|
(global-hl-line-mode +1)
|
|
|
|
|
|
|
|
(fset 'yes-or-no-p 'y-or-n-p)
|
|
|
|
|
|
|
|
(global-set-key (kbd "C-x C-S-k") 'kill-this-buffer)
|
|
|
|
|
|
|
|
(setq frame-title-format
|
|
|
|
'("Emacs: " (:eval (if (buffer-file-name)
|
|
|
|
(abbreviate-file-name (buffer-file-name))
|
|
|
|
"%b"))))
|
|
|
|
|
|
|
|
(when (eq system-type 'darwin)
|
|
|
|
(setq mac-option-modifier 'meta)
|
|
|
|
(setq mac-right-option-modifier 'none)
|
|
|
|
(setq mac-command-modifier 'super)))
|
|
|
|
|
|
|
|
(use-package modus-themes
|
|
|
|
:init
|
2022-08-13 10:38:41 +00:00
|
|
|
(setq modus-themes-syntax '(green-strings yellow-comments)
|
2021-08-17 11:49:19 +00:00
|
|
|
modus-themes-paren-match '(bold intense underline)
|
2022-06-15 11:34:58 +00:00
|
|
|
modus-themes-bold-constructs t
|
|
|
|
modus-themes-italic-constructs t
|
2022-08-13 10:38:41 +00:00
|
|
|
modus-themes-lang-checkers '(text-also))
|
|
|
|
(load-theme 'modus-vivendi t)
|
|
|
|
|
|
|
|
;; Use less magenta
|
|
|
|
(custom-set-faces
|
|
|
|
`(font-lock-builtin-face ((t (:foreground "LawnGreen"))))
|
|
|
|
`(font-lock-keyword-face ((t (:foreground "gold"))))
|
|
|
|
`(font-lock-function-name-face ((t (:foreground "cyan"))))
|
|
|
|
`(font-lock-variable-name-face ((t (:foreground "gold3"))))
|
|
|
|
`(font-lock-constant-face ((t (:foreground "DeepSkyBlue2"))))
|
|
|
|
`(font-lock-type-face ((t (:foreground "PaleGreen2"))))
|
|
|
|
`(font-lock-string-face ((t (:foreground "SpringGreen3"))))
|
|
|
|
`(font-lock-comment-face ((t (:foreground "burlywood"))))
|
|
|
|
`(font-lock-doc-face ((t :foreground "LightCyan3"))) ;; "#bfebe0""LightCyan3""PaleTurquoise2""PaleTurquoise3""LightCyan2""LightSteelBlue3""pale turquoise""LightSteelBlue" "wheat" "burlywood3" "LightCyan"
|
|
|
|
`(region ((t (:background "firebrick"))))
|
|
|
|
`(secondary-selection ((t (:background "firebrick4")))) ;; coral tomato
|
|
|
|
`(idle-highlight ((t (:background "grey50" :foreground "white"))))
|
|
|
|
`(isearch ((t (:background "coral2"))))
|
|
|
|
`(lazy-highlight ((t (:background "coral4"))))
|
|
|
|
`(match ((t (:background "gray35" :foreground "grey85"))))
|
|
|
|
`(lsp-face-highlight-textual ((t (:background "DimGrey"))))
|
|
|
|
`(whitespace-empty ((t (:background "gray10"))))
|
|
|
|
`(hl-line ((t :background "gray15" :underline "gray35" :inherit nil)))
|
|
|
|
`(simple-modeline-status-modified ((t :foreground "DeepSkyBlue")))
|
|
|
|
`(consult-async-split ((t :foreground "LightCoral")))
|
|
|
|
`(orderless-match-face-0 ((t :foreground "tomato")))
|
|
|
|
`(orderless-match-face-1 ((t :foreground "SpringGreen2")))
|
|
|
|
`(orderless-match-face-2 ((t :foreground "gold")))
|
|
|
|
`(orderless-match-face-3 ((t :foreground "cyan")))
|
|
|
|
`(flycheck-fringe-warning ((t :foreground "white" :background "gold3")))
|
|
|
|
`(flycheck-fringe-error ((t :foreground "white" :background "red2")))
|
|
|
|
`(flycheck-fringe-info ((t :foreground "white" :background "RoyalBlue3")))
|
|
|
|
`(alt-font-lock-keyword-face ((t :foreground "LightSkyBlue" :weight bold)))
|
|
|
|
`(alt-hl-line-face ((t :underline "gray50" :weight bold))))
|
|
|
|
:config
|
|
|
|
(defun use-alt-font-lock-keyword-face ()
|
|
|
|
"Remap font-lock-keyword-face to the alternate one, in the current buffer"
|
|
|
|
(face-remap-add-relative 'font-lock-keyword-face 'alt-font-lock-keyword-face))
|
|
|
|
(defun use-alt-hl-line-face ()
|
|
|
|
"Remap hl-line face to the alternate one, in the current buffer"
|
|
|
|
(face-remap-add-relative 'hl-line 'alt-hl-line-face))
|
|
|
|
:hook
|
|
|
|
(cider-inspector-mode . use-alt-font-lock-keyword-face)
|
|
|
|
(magit-mode . use-alt-hl-line-face))
|
2021-08-17 11:49:19 +00:00
|
|
|
|
|
|
|
(use-package whitespace
|
|
|
|
:diminish
|
|
|
|
:custom
|
|
|
|
(whitespace-line-column 120)
|
|
|
|
(whitespace-style '(face tabs empty trailing lines-tail))
|
|
|
|
:hook
|
|
|
|
(text-mode . (lambda () (whitespace-mode +1)))
|
|
|
|
(prog-mode . (lambda () (whitespace-mode +1)))
|
|
|
|
(cider-repl-mode . (lambda () (whitespace-mode -1)))
|
|
|
|
(ielm-mode . (lambda () (whitespace-mode -1)))
|
|
|
|
(vterm-mode . (lambda () (whitespace-mode -1)))
|
|
|
|
(eshell-mode . (lambda () (whitespace-mode -1))))
|
|
|
|
|
|
|
|
(use-package volatile-highlights
|
|
|
|
:diminish
|
|
|
|
:config
|
|
|
|
(volatile-highlights-mode t))
|
|
|
|
|
|
|
|
(use-package idle-highlight-mode
|
|
|
|
:hook (prog-mode . idle-highlight-mode))
|
|
|
|
|
|
|
|
(use-package paren
|
|
|
|
:config
|
|
|
|
(show-paren-mode +1))
|
|
|
|
|
|
|
|
(use-package which-key
|
2022-08-30 11:53:46 +00:00
|
|
|
:defer 5
|
2021-08-17 11:49:19 +00:00
|
|
|
:diminish
|
|
|
|
:config (which-key-mode +1))
|
|
|
|
|
|
|
|
(use-package rainbow-delimiters
|
2022-07-08 06:47:33 +00:00
|
|
|
:hook
|
|
|
|
(text-mode . (lambda () (rainbow-delimiters-mode +1)))
|
|
|
|
(prog-mode . (lambda () (rainbow-delimiters-mode +1))))
|
2021-08-17 11:49:19 +00:00
|
|
|
|
|
|
|
(use-package rainbow-mode
|
|
|
|
:diminish)
|
|
|
|
|
2022-08-13 10:37:58 +00:00
|
|
|
(use-package repeat
|
|
|
|
:config
|
|
|
|
(repeat-mode +1)
|
|
|
|
(defvar buffer-repeat-map
|
|
|
|
(let ((map (make-sparse-keymap)))
|
|
|
|
(define-key map (kbd "<left>") #'previous-buffer)
|
|
|
|
(define-key map (kbd "<right>") #'next-buffer)
|
|
|
|
map))
|
|
|
|
(dolist (cmd '(previous-buffer next-buffer))
|
|
|
|
(put cmd 'repeat-map 'buffer-repeat-map)))
|
2021-08-17 11:49:19 +00:00
|
|
|
|
2022-06-07 08:30:21 +00:00
|
|
|
(use-package pulsar
|
|
|
|
:custom
|
|
|
|
(pulsar-pulse-on-window-change t)
|
|
|
|
(pulsar-pulse t)
|
2022-06-15 11:33:42 +00:00
|
|
|
(pulsar-iterations 80)
|
|
|
|
(pulsar-face 'pulsar-red)
|
|
|
|
(pulsar-pulse-functions '(recenter-top-bottom
|
|
|
|
move-to-window-line-top-bottom
|
|
|
|
reposition-window
|
|
|
|
forward-page
|
|
|
|
backward-page
|
|
|
|
scroll-up-command
|
|
|
|
scroll-down-command))
|
|
|
|
:hook
|
|
|
|
(isearch-update-post-hook . pulsar-pulse-line)
|
|
|
|
(consult-after-jump-hook . pulsar-pulse-line)
|
2022-07-08 06:48:08 +00:00
|
|
|
:bind ("C-c c p" . pulsar-pulse-line)
|
|
|
|
:init
|
2022-06-07 08:30:21 +00:00
|
|
|
(pulsar-global-mode 1))
|
|
|
|
|
2021-08-17 11:49:19 +00:00
|
|
|
(provide 'init-ui)
|
|
|
|
;;; init-ui.el ends here
|