diff options
Diffstat (limited to 'Emacs')
-rw-r--r-- | Emacs/.config/emacs/config.org | 31 | ||||
-rw-r--r-- | Emacs/.config/emacs/elisp/eshell-prompt.el | 2 | ||||
-rw-r--r-- | Emacs/.config/emacs/elisp/personal-light-theme.el | 2 | ||||
-rw-r--r-- | Emacs/.config/emacs/elisp/personal-solarized-theme.el | 79 |
4 files changed, 75 insertions, 39 deletions
diff --git a/Emacs/.config/emacs/config.org b/Emacs/.config/emacs/config.org index 4b7f6f4..97b052d 100644 --- a/Emacs/.config/emacs/config.org +++ b/Emacs/.config/emacs/config.org @@ -15,7 +15,6 @@ Welcome to my Emacs configuration. You may be confused by the fact it's a readable document with prose; this file serves as both documentation *and* code. Here's an example of some Emacs Lisp code: - #+begin_src emacs-lisp ;;; config.el --- Compiled configuration from config.org -*- lexical-binding: t; -*- @@ -43,10 +42,12 @@ documentation *and* code. Here's an example of some Emacs Lisp code: So how does this work? [[file:elisp/literate.el][Literate]] is a package that I designed myself which "compiles" my configuration and -links it all together. This document is compiled by collecting all -the Emacs Lisp blocks, concatenating them then writing it to -=config.el=, which is loaded as a standard Emacs Lisp file afterwards. -So all the prose is ignored in the final document. +links it all together. The literate package compiles this document +by: ++ collecting all the Emacs Lisp blocks ++ concatenating them ++ writing it to =config.el=, +Then, when starting Emacs, the =config.el= file is loaded. This allows the document to act as both /source code/ and /documentation/ at once. Pretty cool, right? This style of coding is @@ -91,7 +92,7 @@ Let's setup a few absolute essentials: delete-by-moving-to-trash t use-file-dialog nil use-dialog-box nil - warning-minimum-level :emergency) + warning-minimum-level :error) :config (fset 'yes-or-no-p 'y-or-n-p) (global-auto-revert-mode) @@ -101,9 +102,9 @@ Let's setup a few absolute essentials: (_ 120)))) #+end_src * Custom functionality and libraries -This is custom Lisp I've written to help me out throughout the -configuration. Note that because it's setup so early I can use it -throughout the file. +This is custom Lisp that I've written or someone else has to help me +out throughout the configuration. Note that because it's setup so +early I can use it throughout the file. ** dash Dash is an external library that provides a ton of Emacs Lisp functions that make it a bit nicer to use. @@ -443,6 +444,7 @@ set of examples on how to use general. (buffer-leader "b" #'switch-to-buffer + "r" #'rename-buffer "d" #'kill-current-buffer "c" #'kill-buffer-and-window "K" #'kill-buffer @@ -478,8 +480,9 @@ Setup the evil package, with some opinionated settings: Vim considering the "verb-object" model most motions follow, but by default Vim doesn't have the ability to do so. But Emacs can, hence I can set these up. -+ Allow the Evil cursor to traverse End of Lines like the Emacs cursor ++ Allow the Evil cursor to traverse EOLs like the Emacs cursor. + Do not move the cursor when exiting insert mode. ++ Respect visual lines, allowing movement through them. #+begin_src emacs-lisp (use-package evil :straight t @@ -493,7 +496,9 @@ Setup the evil package, with some opinionated settings: evil-want-abbrev-expand-on-insert-exit t evil-want-minibuffer t evil-want-keybinding nil - evil-want-Y-yank-to-eol t) + evil-want-Y-yank-to-eol t + evil-want-change-word-to-end t + evil-respect-visual-line-mode t) :config (evil-mode) :general @@ -719,6 +724,10 @@ just setup some evil binds for company. :straight t :hook ((prog-mode-hook eshell-mode-hook) . company-mode) + :init + (setq company-idle-delay 0.2 + company-minimum-prefix-length 3 + company-require-match nil) :general (imap :keymaps 'company-mode-map diff --git a/Emacs/.config/emacs/elisp/eshell-prompt.el b/Emacs/.config/emacs/elisp/eshell-prompt.el index cce01d5..ecd03c3 100644 --- a/Emacs/.config/emacs/elisp/eshell-prompt.el +++ b/Emacs/.config/emacs/elisp/eshell-prompt.el @@ -27,7 +27,7 @@ (defvar +eshell-prompt/user-prompt "𝜆> " "Prompt for user to input.") -(defvar +eshell-prompt/dir-colour "skyblue") +(defvar +eshell-prompt/dir-colour "deepskyblue") (defvar +eshell-prompt/success-colour "forestgreen") (defvar +eshell-prompt/failure-colour "red") diff --git a/Emacs/.config/emacs/elisp/personal-light-theme.el b/Emacs/.config/emacs/elisp/personal-light-theme.el index 78c8fa9..c8e4f3e 100644 --- a/Emacs/.config/emacs/elisp/personal-light-theme.el +++ b/Emacs/.config/emacs/elisp/personal-light-theme.el @@ -99,7 +99,7 @@ '(whitespace-line ((t (:inherit default :background "#e3e3e3" :foreground "violet")))) '(whitespace-space ((t (:inherit default :background "#e3e3e3" :foreground "blue")))) '(whitespace-tab ((t (:inherit default :background "#e3e3e3" :foreground "grey20")))) - '(default ((t (:family "RecMonoDuotone Nerd Font Propo" :foundry "ADBO" + '(default ((t (:family "JetBrains Mono" :foundry "ADBO" :width normal :weight normal :slant normal :underline nil :overline nil :extend nil :strike-through nil :box nil :inverse-video nil :foreground "#2E3436" :background "#EDEDED" :stipple nil :inherit diff --git a/Emacs/.config/emacs/elisp/personal-solarized-theme.el b/Emacs/.config/emacs/elisp/personal-solarized-theme.el index f350bfe..91f77ea 100644 --- a/Emacs/.config/emacs/elisp/personal-solarized-theme.el +++ b/Emacs/.config/emacs/elisp/personal-solarized-theme.el @@ -21,24 +21,35 @@ '(evil-goggles-default-face ((t (:background "#004065")))) '(evil-mc-cursor-default-face ((t (:foreground "black" :background "white")))) '(evil-mc-region-face ((t (:extend t :background "grey50")))) - '(fill-column-indicator ((t (:inherit shadow :foreground "gray23" :background "gray23" :weight thin)))) + '(fill-column-indicator ((t (:inherit shadow :foreground "gray23" + :background "gray23" :weight thin)))) + '(fixed-pitch-serif ((t (:family "Noto Serif" :height 0.95)))) '(font-latex-bold-face ((t (:weight bold :foreground "#9eacac")))) '(font-latex-doctex-documentation-face ((t (:background unspecified)))) - '(font-latex-doctex-preprocessor-face ((t (:inherit (font-latex-doctex-documentation-face font-lock-builtin-face font-lock-preprocessor-face))))) + '(font-latex-doctex-preprocessor-face ((t (:inherit (font-latex-doctex-documentation-face + font-lock-builtin-face + font-lock-preprocessor-face))))) '(font-latex-italic-face ((t (:style italic :foreground "#9eacac")))) '(font-latex-math-face ((t (:foreground "#7a7ed2")))) - '(font-latex-sectioning-0-face ((t (:inherit font-latex-sectioning-5-face :height 1.1)))) - '(font-latex-sectioning-1-face ((t (:inherit font-latex-sectioning-5-face :height 1.1)))) - '(font-latex-sectioning-2-face ((t (:inherit font-latex-sectioning-5-face :height 1.1)))) - '(font-latex-sectioning-3-face ((t (:inherit font-latex-sectioning-5-face :height 1.1)))) - '(font-latex-sectioning-4-face ((t (:inherit font-latex-sectioning-5-face :height 1.1)))) + '(font-latex-sectioning-0-face ((t (:inherit font-latex-sectioning-5-face + :height 1.1)))) + '(font-latex-sectioning-1-face ((t (:inherit font-latex-sectioning-5-face + :height 1.1)))) + '(font-latex-sectioning-2-face ((t (:inherit font-latex-sectioning-5-face + :height 1.1)))) + '(font-latex-sectioning-3-face ((t (:inherit font-latex-sectioning-5-face + :height 1.1)))) + '(font-latex-sectioning-4-face ((t (:inherit font-latex-sectioning-5-face + :height 1.1)))) '(font-latex-sectioning-5-face ((t (:foreground "#c49619" :weight bold)))) '(font-latex-sedate-face ((t (:foreground "#9eacac")))) - '(font-latex-slide-title-face ((t (:inherit (default font-lock-type-face) :weight bold :height 1.2)))) + '(font-latex-slide-title-face ((t (:inherit (default font-lock-type-face) + :weight bold :height 1.2)))) '(font-latex-string-face ((t (:foreground "#3cafa5")))) '(font-latex-subscript-face ((t (:height 0.8)))) '(font-latex-superscript-face ((t (:height 0.8)))) - '(font-latex-verbatim-face ((t (:inherit fixed-pitch :foreground "#8d9fa1" :slant italic)))) + '(font-latex-verbatim-face ((t (:inherit fixed-pitch-serif :foreground "#8d9fa1" + :slant italic)))) '(font-latex-warning-face ((t (:inherit bold :foreground "#db5823")))) '(font-lock-builtin-face ((t (:foreground "#8d9fa1" :weight bold :slant normal)))) '(font-lock-comment-delimiter-face ((t (:foreground "#62787f" :slant normal)))) @@ -53,23 +64,29 @@ '(font-lock-warning-face ((t (:inherit error :weight bold)))) '(fringe ((t (:inherit (default))))) '(haskell-interactive-face-prompt ((t (:foreground "green")))) - '(header-line ((t (:box nil :foreground "grey90" :background "grey20" :inherit (mode-line))))) + '(header-line ((t (:box nil :foreground "grey90" :background "grey20" + :inherit (mode-line))))) '(highlight ((t (:extend t :background "#222233")))) '(homoglyph ((t (:foreground "cyan")))) - '(Info-quoted ((t (:inherit fixed-pitch-serif :underline t :height 1.05)))) + '(Info-quoted ((t (:inherit fixed-pitch-serif :underline t)))) '(isearch ((t (:foreground "brown4" :background "white")))) '(isearch-fail ((t (:background "red4")))) '(lazy-highlight ((t (:background "paleturquoise4")))) '(line-number ((t (:foreground "grey45" :background "grey1" :inherit (default))))) - '(line-number-current-line ((t (:foreground "white" :background "grey1" :inherit (default))))) - '(link ((t (:underline (:color foreground-color :style line) :foreground "cyan1")))) + '(line-number-current-line ((t (:foreground "white" :background "grey1" + :inherit (default))))) + '(link ((t (:underline (:color foreground-color :style line) + :foreground "cyan1")))) '(link-visited ((t (:foreground "violet" :inherit (link))))) '(match ((t (:background "RoyalBlue3")))) '(minibuffer-prompt ((t (:foreground "cyan")))) - '(mode-line ((t (:box (:line-width 1 :color "white") :foreground "LightSkyBlue" :background "black" :inherit (default))))) + '(mode-line ((t (:box (:line-width 1 :color "white") :foreground "LightSkyBlue" + :background "black" :inherit (default))))) '(mode-line-buffer-id ((t (:weight bold)))) '(mode-line-emphasis ((t (:weight bold)))) - '(mode-line-inactive ((t (:box (:line-width 1 :color "grey10") :weight light :foreground "CadetBlue" :background "grey7" :inherit (default))))) + '(mode-line-inactive ((t (:box (:line-width 1 :color "grey10") :weight light + :foreground "CadetBlue" :background "grey7" + :inherit (default))))) '(next-error ((t (:inherit (region))))) '(orderless-match-face-0 ((t (:weight bold :foreground "lime green")))) '(orderless-match-face-1 ((t (:weight bold :foreground "light green")))) @@ -89,11 +106,13 @@ '(outline-7 ((t (:inherit default :foreground "#ec423a")))) '(outline-8 ((t (:inherit default :foreground "#3c98e0")))) '(outline-minor-0 ((t (:extend t :weight bold :background "#01323d")))) - '(outline-minor-1 ((t (:extend t :inherit (outline-minor-0 outline-1) :background "#1e9d310d32a3")))) + '(outline-minor-1 ((t (:extend t :inherit (outline-minor-0 outline-1) + :background "#1e9d310d32a3")))) '(pdf-isearch-batch ((t (:foreground "black" :background "white")))) '(pretty-mode-symbol-face ((t (:foreground "#c49619" :weight normal)))) '(query-replace ((t (:inherit (isearch))))) - '(rainbow-delimiters-base-error-face ((t (:extend t :foreground "white" :background "red1")))) + '(rainbow-delimiters-base-error-face ((t (:extend t :foreground "white" + :background "red1")))) '(rainbow-delimiters-depth-1-face ((t (:extend t :foreground "red")))) '(rainbow-delimiters-depth-2-face ((t (:extend t :foreground "darkorange")))) '(rainbow-delimiters-depth-3-face ((t (:extend t :foreground "yellow")))) @@ -101,26 +120,34 @@ '(rainbow-delimiters-depth-5-face ((t (:extend t :foreground "DeepSkyBlue")))) '(rainbow-delimiters-depth-6-face ((t (:extend t :foreground "purple")))) '(rainbow-delimiters-depth-7-face ((t (:extend t :foreground "violet")))) - '(rainbow-delimiters-mismatched-face ((t (:extend t :foreground "white" :background "red4")))) - '(rainbow-delimiters-unmatched-face ((t (:extend t :foreground "white" :background "red3")))) + '(rainbow-delimiters-mismatched-face ((t (:extend t :foreground "white" + :background "red4")))) + '(rainbow-delimiters-unmatched-face ((t (:extend t :foreground "white" + :background "red3")))) '(region ((t (:extend t :background "grey25")))) '(secondary-selection ((t (:extend t :background "SkyBlue4")))) '(shadow ((t (:foreground "grey70")))) - '(show-paren-match ((t (:foreground unspecified :foreground "#55ec55" :weight bold)))) - '(show-paren-mismatch ((t (:foreground "#01323d" :background "#ec1111" :weight bold)))) + '(show-paren-match ((t (:foreground unspecified :foreground "#55ec55" + :weight bold)))) + '(show-paren-mismatch ((t (:foreground "#01323d" :background "#ec1111" + :weight bold)))) '(tab-bar ((t (:background "black")))) - '(tab-bar-tab ((t (:background "grey5" :foreground "white" :box (:line-width 2 :color "grey19"))))) + '(tab-bar-tab ((t (:background "grey5" :foreground "white" + :box (:line-width 2 :color "grey19"))))) '(tab-bar-tab-inactive ((t (:background "black" :foreground "DimGrey")))) - '(tooltip ((t (:foreground "black" :background "lightyellow" :inherit (variable-pitch))))) + '(tooltip ((t (:foreground "black" :background "lightyellow" + :inherit (variable-pitch))))) '(trailing-whitespace ((t (:background "red1")))) '(whitespace-line ((t (:background "black" :foreground "violet")))) '(whitespace-space ((t (:background "#171717" :foreground "black")))) '(whitespace-tab ((t (:background "#171717" :foreground "grey40")))) - `(font-lock-constant-face ((t (:foreground ,personal-solarized-name-colour :weight bold)))) - `(font-lock-function-name-face ((t (:box nil :foreground ,personal-solarized-name-colour)))) + `(font-lock-constant-face ((t (:foreground ,personal-solarized-name-colour + :weight bold)))) + `(font-lock-function-name-face ((t (:box nil + :foreground ,personal-solarized-name-colour)))) `(font-lock-preprocessor-face ((t (:foreground ,personal-solarized-name-colour)))) `(font-lock-variable-name-face ((t (:foreground ,personal-solarized-name-colour)))) - '(default ((t (:family "JetBrains Mono" :foundry "ADBO" :width normal + '(default ((t (:family "Jetbrains Mono" :foundry "ADBO" :width normal :weight normal :slant normal :underline nil :overline nil :extend nil :strike-through nil :box nil :inverse-video nil |