aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emacs/.config/emacs/config.org31
-rw-r--r--Emacs/.config/emacs/elisp/eshell-prompt.el2
-rw-r--r--Emacs/.config/emacs/elisp/personal-light-theme.el2
-rw-r--r--Emacs/.config/emacs/elisp/personal-solarized-theme.el79
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