Compare commits
33 Commits
2ff9bb2290
...
arch-deskt
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa68d7ca99 | ||
|
|
28ca78c652 | ||
|
|
00781ddcae | ||
|
|
3aa286c2bf | ||
|
|
9f23b8e92b | ||
|
|
66391c3e4d | ||
|
|
7cd118b1a1 | ||
|
|
6b6ec87c90 | ||
|
|
3ffd41b042 | ||
|
|
450950ffb5 | ||
|
|
d9c2fc0dd5 | ||
|
|
f3817cf484 | ||
|
|
0c4779db6c | ||
|
|
e917fee38e | ||
|
|
facda5d25c | ||
|
|
6dc71d4ae9 | ||
|
|
6d26754462 | ||
|
|
b6fe1d9f38 | ||
|
|
6650ab1d5c | ||
|
|
cb21d62153 | ||
|
|
e104c9b8ce | ||
|
|
e99901146d | ||
|
|
dc51e2b8d8 | ||
|
|
9fd41c75ef | ||
|
|
adcecd9d62 | ||
|
|
ade4c9f47c | ||
|
|
82c55b55c7 | ||
|
|
8ba5349c5d | ||
|
|
c16dc3b450 | ||
|
|
924c01282d | ||
|
|
7a7b0e3f1c | ||
|
|
cfb88473fc | ||
|
|
32760db44f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -12,6 +12,7 @@ config/.config/kak/plugins/*
|
||||
config/.config/mutt/chalupmc@rose-hulman
|
||||
config/.config/mutt/mikecchalupiak@outlook
|
||||
config/.config/mutt/spamreciver1@outlook
|
||||
config/.config/nvim/lazy-lock.json
|
||||
config/.config/qt5ct/colors/*
|
||||
config/.config/qutebrowser/autoconfig.yml
|
||||
config/.config/qutebrowser/rosepine/*
|
||||
|
||||
@@ -18,11 +18,5 @@ test -r '/home/mikec/.opam/opam-init/init.sh' && . '/home/mikec/.opam/opam-init/
|
||||
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||
exec river
|
||||
fi
|
||||
HOMEBREW_PREFIX=/opt/homebrew
|
||||
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
|
||||
export CPATH="$HOMEBREW_PREFIX/include:$CPATH"
|
||||
export LIBRARY_PATH="$HOMEBREW_PREFIX/lib:$LIBRARY_PATH"
|
||||
. "/Users/mikec/.local/share/bob/env/env.sh"
|
||||
|
||||
test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"
|
||||
|
||||
. "/home/mikec/.local/share/bob/env/env.sh"
|
||||
|
||||
@@ -140,8 +140,8 @@ alias zf='z $(flirt)'
|
||||
# ~/.bash_aliases, instead of adding them here directly.
|
||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
||||
if [ -z "$EDITOR" ]; then
|
||||
# export EDITOR=kak
|
||||
export EDITOR='nvim'
|
||||
export EDITOR=kak
|
||||
# export EDITOR='nvim'
|
||||
fi
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
@@ -154,7 +154,8 @@ if [ "$XDG_SESSION_DESKTOP" = "sway" ] ; then
|
||||
export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/
|
||||
fi
|
||||
eval "$(zoxide init bash)"
|
||||
eval "$(fzf --bash)"
|
||||
# eval "$(fzf --bash)"
|
||||
eval "$(sk --shell bash --shell-bindings)"
|
||||
|
||||
export TMUX_TMPDIR=/tmp
|
||||
export TINTED_SHELL_ENABLE_BASE16_VARS=1
|
||||
@@ -182,19 +183,21 @@ tinty_source_shell_theme() {
|
||||
# alias theme='tinty_source_shell_theme apply "$(tinty list | fzf --cycle)" && xrdb ~/.Xresources'
|
||||
# fi
|
||||
|
||||
run_kak() {
|
||||
$(which kak) -c $SESH 2>/dev/null "$@" || $(which kak) -s $SESH "$@"
|
||||
}
|
||||
# run_kak() {
|
||||
# /usr/local/bin/kak -c $SESH 2>/dev/null "$@" || /usr/local/bin/kak -s $SESH "$@"
|
||||
# }
|
||||
|
||||
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ] && [ -z "$TMUX" ]; then
|
||||
SESH="$( (tmux list-sessions 2>/dev/null || echo '-1') | cut -d' ' -f1 | tr -d ':-' | sort -r | head -n1 | xargs -I{} echo '{} + 1' | bc)"
|
||||
alias kak='tmux new-session -e "EDITOR=\"$(which kak) -c $SESH\"" -s $SESH $(which kak) -s $SESH > /dev/null'
|
||||
alias kakc='kak -C $SESH'
|
||||
# alias kak='tmux new-session -e "EDITOR=\"/usr/local/bin/kak -c $SESH\"" -s $SESH /usr/local/bin/kak > /dev/null'
|
||||
elif [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ]; then
|
||||
SESH="$(tmux display-message -p '#S')"
|
||||
alias kakc='kak -C $SESH'
|
||||
# alias kak='kak -c $SESH 2>/dev/null || kak -s $SESH'
|
||||
alias kak=run_kak
|
||||
alias vidir='EDITOR="$(which kak) -c $SESH 2>/dev/null || $(which kak) -s $SESH" vidir'
|
||||
alias vipe='EDITOR="$(which kak) -c $SESH 2>/dev/null || $(which kak) -s $SESH" vipe'
|
||||
# alias kak=run_kak
|
||||
# alias vidir='EDITOR="/usr/local/bin/kak -c $SESH 2>/dev/null || /usr/local/bin/kak -s $SESH" vidir'
|
||||
# alias vipe='EDITOR="/usr/local/bin/kak -c $SESH 2>/dev/null || /usr/local/bin/kak -s $SESH" vipe'
|
||||
fi
|
||||
|
||||
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix)" ] && [ -z "$TMUX" ]; then
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
:defer t
|
||||
:init
|
||||
;; Configure themes
|
||||
(setq! auto-dark-themes '((doom-gruvbox) (doom-gruvbox-light)))
|
||||
(setq! auto-dark-themes '((kaolin-dark) (kaolin-light)))
|
||||
;; Disable doom's theme loading mechanism (just to make sure)
|
||||
(setq! doom-theme nil)
|
||||
;; Declare that all themes are safe to load.
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
;;; init.el -*- lexical-binding: t; -*-
|
||||
;;; $DOOMDIR/init.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; This file controls what Doom modules are enabled and what order they load
|
||||
;; in. Remember to run 'doom sync' after modifying it!
|
||||
|
||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a link to Doom's Module Index where all
|
||||
;; of our modules are listed, including what flags they support.
|
||||
;; NOTE: Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a link to Doom's Module Index where all of
|
||||
;; our modules are listed, including what flags they support.
|
||||
|
||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||
;; flags as well (those symbols that start with a plus).
|
||||
;; NOTE: Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on flags
|
||||
;; as well (those symbols that start with a plus).
|
||||
;;
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
|
||||
(doom! :input
|
||||
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
|
||||
bidi ; (tfel ot) thgir etirw uoy gnipleh
|
||||
;;chinese
|
||||
;;japanese
|
||||
;;layout ; auie,ctsrnm is the superior home row
|
||||
@@ -25,15 +25,15 @@
|
||||
(corfu +orderless) ; complete with cap(f), cape and a flying feather!
|
||||
;;helm ; the *other* search engine for love and life
|
||||
;;ido ; the other *other* search engine...
|
||||
;; ivy ; a search engine for love and life
|
||||
vertico ; the search engine of the future
|
||||
;;ivy ; a search engine for love and life
|
||||
vertico ; the search engine of the future
|
||||
|
||||
:ui
|
||||
;;deft ; notational velocity for Emacs
|
||||
doom ; what makes DOOM look the way it does
|
||||
doom-dashboard ; a nifty splash screen for Emacs
|
||||
dashboard ; a nifty splash screen for Emacs
|
||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
;;(emoji +unicode) ; 🙂
|
||||
(emoji +unicode) ; 🙂
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
indent-guides ; highlighted indent columns
|
||||
;;ligatures ; ligatures and symbols to make your code pretty again
|
||||
@@ -43,21 +43,21 @@
|
||||
;;neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||
smooth-scroll ; So smooth you won't believe it's not butter
|
||||
;;smooth-scroll ; So smooth you won't believe it's not butter
|
||||
;;tabs ; a tab bar for Emacs
|
||||
;;treemacs ; a project drawer, like neotree but cooler
|
||||
unicode ; extended unicode support for various languages
|
||||
;;unicode ; extended unicode support for various languages
|
||||
(vc-gutter +pretty) ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
;;window-select ; visually switch windows
|
||||
;; workspaces ; tab emulation, persistence & separate workspaces
|
||||
zen ; distraction-free coding or writing
|
||||
workspaces ; tab emulation, persistence & separate workspaces
|
||||
;;zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
(evil +everywhere); come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
(format +onsave) ; automated prettiness
|
||||
;;(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
;;lispy ; vim for lisp, for people who don't like vim
|
||||
multiple-cursors ; editing in many places at once
|
||||
@@ -65,13 +65,13 @@
|
||||
parinfer ; turn lisp into python, sort of
|
||||
;;rotate-text ; cycle region at point between text candidates
|
||||
snippets ; my elves. They type so I don't have to
|
||||
;; (whitespace +guess +trim) ; a butler for your whitespace
|
||||
(whitespace +guess +trim) ; a butler for your whitespace
|
||||
word-wrap ; soft wrapping with language-aware indent
|
||||
|
||||
:emacs
|
||||
dired ; making dired pretty [functional]
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
;;eww ; the internet is gross
|
||||
eww ; the internet is gross
|
||||
ibuffer ; interactive buffer management
|
||||
tramp ; remote files at your arthritic fingertips
|
||||
undo ; persistent, smarter undo for your inevitable mistakes
|
||||
@@ -81,33 +81,34 @@
|
||||
eshell ; the elisp shell that works everywhere
|
||||
;;shell ; simple shell REPL for Emacs
|
||||
;;term ; basic terminal emulator for Emacs
|
||||
;; vterm ; the best terminal emulation in Emacs
|
||||
;;vterm ; almost the best terminal emulation in Emacs
|
||||
ghostel ; the best terminal emulation in Emacs
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
;;biblio ; Writes a PhD for you (citation needed)
|
||||
;;collab ; buffers with friends
|
||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||
;;debugger ; stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
;;docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
(lookup +dictionary +offline) ; navigate your code and its documentation
|
||||
lookup ; navigate your code and its documentation
|
||||
;;llm ; when I said you needed friends, I didn't mean...
|
||||
(lsp +eglot) ; M-x vscode
|
||||
(magit +forge) ; a git porcelain for Emacs
|
||||
(lsp +eglot) ; M-x vscode
|
||||
magit ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
;;pass ; password manager for nerds
|
||||
;;pdf ; pdf enhancements
|
||||
;;terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
@@ -116,11 +117,11 @@
|
||||
|
||||
:lang
|
||||
;;ada ; In strong typing we (blindly) trust
|
||||
;;agda ; types of types of types of types...
|
||||
;;(agda +local) ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
(cc +lsp +tree-sitter) ; C > C++ == 1
|
||||
;;(cc +lsp) ; C > C++ == 1
|
||||
;;clojure ; java with a lisp
|
||||
common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
;;csharp ; unity, .NET, and mono shenanigans
|
||||
@@ -153,10 +154,11 @@
|
||||
;;lean ; for folks with too much to prove
|
||||
;;ledger ; be audit you can be
|
||||
;;lua ; one-based indices? one-based indices
|
||||
(markdown +grip +tree-sitter) ; writing docs for people to ignore
|
||||
markdown ; writing docs for people to ignore
|
||||
;;nim ; python + lisp at the speed of c
|
||||
;;nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
;;odin ; C, minus its footguns
|
||||
org ; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
@@ -169,20 +171,21 @@
|
||||
;;rest ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
(rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scad ; trust the preview, regret the render
|
||||
;;scala ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
(swift +lsp +tree-sitter); who asked for emoji variables?
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
(web +lsp +tree-sitter) ; the tubes
|
||||
;;web ; the tubes
|
||||
;;yaml ; JSON, but readable
|
||||
(zig +lsp +tree-sitter) ; C, but simpler
|
||||
;;zig ; C, but simpler
|
||||
|
||||
:email
|
||||
(mu4e +org +gmail +mbsync)
|
||||
(mu4e +org +gmail)
|
||||
;;notmuch
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
@@ -191,7 +194,7 @@
|
||||
;;emms
|
||||
;;everywhere ; *leave* Emacs!? You must be joking
|
||||
;;irc ; how neckbeards socialize
|
||||
;;(rss +org) ; emacs as an RSS reader
|
||||
(rss +org) ; emacs as an RSS reader
|
||||
|
||||
:config
|
||||
;;literate
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
;; (unpin! pinned-package another-pinned-package)
|
||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||
;; (unpin! t)
|
||||
(package! kaolin-themes)
|
||||
(package! auto-dark)
|
||||
(package! odin-ts-mode
|
||||
:recipe (:host github :repo "Sampie159/odin-ts-mode"))
|
||||
|
||||
@@ -1,237 +0,0 @@
|
||||
;;; doom-rose-pine-dawn-theme.el --- A light port of Rose Piné Dawn theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;
|
||||
;; Author: mvllow
|
||||
;; Ported by: donniebreve
|
||||
;; Keywords: custom themes, faces
|
||||
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
|
||||
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Thanks to mvllow (https://github.com/rose-pine)
|
||||
;; Thanks to hlissner (https://github.com/doomemacs/themes)
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(require 'doom-themes)
|
||||
|
||||
;;; Variables
|
||||
(defgroup doom-rose-pine-dawn-theme nil
|
||||
"Options for the `doom-rose-pine-dawn' theme."
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-rose-pine-dawn-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-rose-pine-dawn-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-dawn-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-rose-pine-dawn-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-dawn-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
|
||||
:group 'doom-rose-pine-dawn-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
;;; Theme definition
|
||||
(def-doom-theme doom-rose-pine-dawn
|
||||
"A light port of Rosé Pine Dawn theme"
|
||||
|
||||
;; Main theme colors
|
||||
(
|
||||
;; name default 256 16
|
||||
(base '("#faf4ed" "#faf4ed" "black" ))
|
||||
(surface '("#fffaf3" "#fffaf3" "brightblack" ))
|
||||
(overlay '("#f2e9de" "#f2e9de" "brightblack" ))
|
||||
(muted '("#9893a5" "#9893a5" "brightblack" ))
|
||||
(subtle '("#797593" "#797593" "brightblack" ))
|
||||
(text '("#575279" "#575279" "brightblack" ))
|
||||
(love '("#b4637a" "#b4637a" "red" ))
|
||||
(gold '("#ea9d34" "#ea9d34" "white" ))
|
||||
(rose '("#d7827e" "#d7827e" "white" ))
|
||||
(pine '("#286983" "#286983" "white" ))
|
||||
(foam '("#56949f" "#56949f" "white" ))
|
||||
(iris '("#907aa9" "#907aa9" "white" ))
|
||||
(highlightL '("#f4ede8" "#f4ede8" "grey" ))
|
||||
(highlightM '("#dfdad9" "#dfdad9" "grey" ))
|
||||
(highlightH '("#cecacd" "#cecacd" "grey" ))
|
||||
|
||||
;; Variables required by doom theme
|
||||
(bg base)
|
||||
(fg text)
|
||||
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
|
||||
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
|
||||
;; or region), especially when paired with the `doom-darken', `doom-lighten',
|
||||
;; and `doom-blend' helper functions.
|
||||
(bg-alt surface)
|
||||
(fg-alt text)
|
||||
;; These should represent a spectrum from bg to fg, where base0 is a starker
|
||||
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
|
||||
;; dark grey, base0 should be white and base8 should be black.
|
||||
(base0 surface)
|
||||
(base1 base)
|
||||
(base2 highlightL)
|
||||
(base3 overlay)
|
||||
(base4 highlightM)
|
||||
(base5 highlightH)
|
||||
(base6 muted)
|
||||
(base7 subtle)
|
||||
(base8 text)
|
||||
(grey muted)
|
||||
(red love)
|
||||
(orange gold)
|
||||
(green pine)
|
||||
(teal pine)
|
||||
(yellow rose)
|
||||
(blue pine)
|
||||
(dark-blue pine)
|
||||
(magenta iris)
|
||||
(violet iris)
|
||||
(cyan foam)
|
||||
(dark-cyan foam)
|
||||
;; Variables required by doom theme ends here
|
||||
|
||||
;; Required face categories for syntax highlighting
|
||||
(highlight subtle) ; cursor
|
||||
(selection base) ; can't figure out where this is used
|
||||
(region overlay) ; visual selection
|
||||
(vertical-bar surface) ; window split
|
||||
|
||||
(comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
|
||||
(doc-comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
|
||||
|
||||
(builtin pine)
|
||||
(constants iris)
|
||||
(functions pine)
|
||||
(keywords pine)
|
||||
(methods foam)
|
||||
(numbers rose)
|
||||
(operators gold)
|
||||
(strings gold)
|
||||
(type rose)
|
||||
(variables iris)
|
||||
|
||||
(error love)
|
||||
(success foam)
|
||||
(warning gold)
|
||||
|
||||
(vc-added foam)
|
||||
(vc-deleted love)
|
||||
(vc-modified gold)
|
||||
|
||||
;; Other categories
|
||||
;; Modeline
|
||||
(modeline-bg (if doom-rose-pine-dawn-brighter-modeline overlay surface))
|
||||
(modeline-fg text)
|
||||
(modeline-bg-alt (if doom-rose-pine-dawn-brighter-modeline muted overlay))
|
||||
(modeline-fg-alt text) ; should this be darker or lighter?
|
||||
(modeline-bg-inactive base)
|
||||
(modeline-fg-inactive subtle)
|
||||
(modeline-bg-inactive-alt base)
|
||||
(modeline-fg-inactive-alt subtle)
|
||||
(modeline-pad
|
||||
(when doom-rose-pine-dawn-padded-modeline
|
||||
if (integerp doom-rose-pine-dawn-padded-modeline) doom-rose-pine-padded-modeline 4)))
|
||||
|
||||
;; Base theme face overrides
|
||||
(
|
||||
;; Font
|
||||
((font-lock-comment-face &override)
|
||||
:slant 'italic
|
||||
:background (if doom-rose-pine-dawn-brighter-comments (doom-blend teal base 0.07)))
|
||||
((font-lock-type-face &override) :slant 'italic)
|
||||
((font-lock-builtin-face &override) :slant 'italic)
|
||||
((font-lock-function-name-face &override) :foreground type)
|
||||
((font-lock-keyword-face &override) :weight 'bold)
|
||||
((font-lock-constant-face &override) :weight 'bold)
|
||||
|
||||
;; Highlight line
|
||||
(hl-line
|
||||
:background highlightL)
|
||||
|
||||
;; Line numbers
|
||||
((line-number &override) :foreground muted)
|
||||
((line-number-current-line &override) :foreground text)
|
||||
|
||||
;; Mode line
|
||||
(mode-line
|
||||
:background modeline-bg
|
||||
:foreground modeline-fg
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive
|
||||
:foreground modeline-fg-inactive
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if doom-rose-pine-dawn-brighter-modeline text subtle))
|
||||
|
||||
;; Company
|
||||
(company-tooltip-selection :background blue :foreground muted)
|
||||
|
||||
;; CSS mode <built-in> / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground green)
|
||||
|
||||
;; Doom mode line
|
||||
(doom-modeline-bar :background green) ; The line to the left
|
||||
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
|
||||
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
|
||||
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
|
||||
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
|
||||
|
||||
;; Helm
|
||||
(helm-selection :foreground base :weight 'bold :background blue)
|
||||
|
||||
;; Ivy
|
||||
(ivy-current-match :background highlightL :distant-foreground fg)
|
||||
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
|
||||
(ivy-posframe :background modeline-bg-alt)
|
||||
|
||||
;; Markdown mode
|
||||
(markdown-markup-face :foreground text)
|
||||
(markdown-header-face :inherit 'bold :foreground red)
|
||||
((markdown-code-face &override) :background surface)
|
||||
|
||||
;; org <built-in>
|
||||
(org-block :background (doom-blend yellow bg 0.04) :extend t)
|
||||
(org-block-background :background (doom-blend yellow bg 0.04))
|
||||
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-level-1 :foreground gold)
|
||||
(org-level-2 :foreground rose)
|
||||
(org-level-3 :foreground pine)
|
||||
(org-level-4 :foreground iris)
|
||||
(org-level-5 :foreground gold)
|
||||
(org-level-6 :foreground rose)
|
||||
(org-level-7 :foreground pine)
|
||||
(org-level-8 :foreground iris)
|
||||
|
||||
;; Solaire mode line
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
|
||||
|
||||
;; Widget
|
||||
(widget-field :foreground fg :background muted)
|
||||
(widget-single-line-field :foreground fg :background muted)
|
||||
|
||||
;; Swiper
|
||||
(swiper-line-face :background highlightM)
|
||||
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
|
||||
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
|
||||
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
|
||||
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
|
||||
|
||||
;;; doom-rose-pine-dawn-theme.el ends here
|
||||
@@ -1,244 +0,0 @@
|
||||
;;; doom-rose-pine-moon-theme.el --- A medium port of Rosé Pine Moon theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;
|
||||
;; Author: mvllow
|
||||
;; Ported by: donniebreve
|
||||
;; Keywords: custom themes, faces
|
||||
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
|
||||
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Thanks to mvllow (https://github.com/rose-pine)
|
||||
;; Thanks to hlissner (https://github.com/doomemacs/themes)
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(require 'doom-themes)
|
||||
|
||||
;;; Variables
|
||||
(defgroup doom-rose-pine-moon-theme nil
|
||||
"Options for the `doom-rose-pine-moon' theme."
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-rose-pine-moon-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-moon-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-moon-brighter-text nil
|
||||
"If non-nil, default text will be brighter."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-moon-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
;;; Theme definition
|
||||
(def-doom-theme doom-rose-pine-moon
|
||||
"A medium port of Rosé Pine Moon theme"
|
||||
|
||||
;; Main theme colors
|
||||
(
|
||||
;; name default 256 16
|
||||
(base '("#232136" "#232136" "black" ))
|
||||
(surface '("#2a273f" "#2a273f" "brightblack" ))
|
||||
(overlay '("#393552" "#393552" "brightblack" ))
|
||||
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
|
||||
(subtle '("#908caa" "#908caa" "brightblack" ))
|
||||
(text '("#e0def4" "#e0def4" "brightblack" ))
|
||||
(love '("#eb6f92" "#eb6f92" "red" ))
|
||||
(gold '("#f6c177" "#f6c177" "white" ))
|
||||
(rose '("#ea9a97" "#ea9a97" "white" ))
|
||||
(pine '("#3e8fb0" "#3e8fb0" "white" ))
|
||||
(foam '("#9ccfd8" "#9ccfd8" "white" ))
|
||||
(iris '("#c4a7e7" "#c4a7e7" "white" ))
|
||||
(highlightL '("#2a283e" "#2a283e" "white" ))
|
||||
(highlightM '("#44415a" "#44415a" "white" ))
|
||||
(highlightH '("#56526e" "#56526e" "white" ))
|
||||
|
||||
;; Variables required by doom theme
|
||||
;; These are required by doom theme and used in various places
|
||||
(bg base)
|
||||
(fg text)
|
||||
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
|
||||
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
|
||||
;; or region), especially when paired with the `doom-darken', `doom-lighten',
|
||||
;; and `doom-blend' helper functions.
|
||||
(bg-alt surface)
|
||||
(fg-alt text)
|
||||
;; These should represent a spectrum from bg to fg, where base0 is a starker
|
||||
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
|
||||
;; dark grey, base0 should be white and base8 should be black.
|
||||
(base0 base)
|
||||
(base1 surface)
|
||||
(base2 highlightL)
|
||||
(base3 overlay)
|
||||
(base4 highlightM)
|
||||
(base5 highlightH)
|
||||
(base6 muted)
|
||||
(base7 subtle)
|
||||
(base8 text)
|
||||
(grey muted)
|
||||
(red love)
|
||||
(orange gold)
|
||||
(green pine)
|
||||
(teal foam)
|
||||
(yellow rose)
|
||||
(pink rose)
|
||||
(blue pine)
|
||||
(dark-blue pine)
|
||||
(magenta iris)
|
||||
(violet iris)
|
||||
(cyan foam)
|
||||
(dark-cyan pine)
|
||||
;; Variables required by doom theme ends here
|
||||
|
||||
;; Required face categories for syntax highlighting
|
||||
(highlight subtle) ; cursor
|
||||
(selection base) ; can't figure out where this is used
|
||||
(region overlay) ; visual selection
|
||||
(vertical-bar surface) ; window split
|
||||
|
||||
(comments (if doom-rose-pine-moon-brighter-comments subtle muted))
|
||||
(doc-comments (if doom-rose-pine-moon-brighter-comments subtle muted))
|
||||
|
||||
(builtin pine)
|
||||
(constants iris)
|
||||
(functions pine)
|
||||
(keywords pine)
|
||||
(methods foam)
|
||||
(numbers rose)
|
||||
(operators gold)
|
||||
(strings gold)
|
||||
(type rose)
|
||||
(variables iris)
|
||||
|
||||
(error love)
|
||||
(success foam)
|
||||
(warning gold)
|
||||
|
||||
(vc-added foam)
|
||||
(vc-deleted love)
|
||||
(vc-modified gold)
|
||||
|
||||
;; Other categories
|
||||
;; Modeline
|
||||
(modeline-bg (if doom-rose-pine-moon-brighter-modeline overlay surface))
|
||||
(modeline-fg text)
|
||||
(modeline-bg-alt (if doom-rose-pine-moon-brighter-modeline muted overlay))
|
||||
(modeline-fg-alt text) ; should this be darker or lighter?
|
||||
(modeline-bg-inactive base)
|
||||
(modeline-fg-inactive subtle)
|
||||
(modeline-bg-inactive-alt base)
|
||||
(modeline-fg-inactive-alt subtle)
|
||||
(modeline-pad
|
||||
(when doom-rose-pine-moon-padded-modeline
|
||||
if (integerp doom-rose-pine-moon-padded-modeline) doom-rose-pine-padded-modeline 4)))
|
||||
|
||||
;; Base theme face overrides
|
||||
(
|
||||
;; Font
|
||||
((font-lock-comment-face &override)
|
||||
:slant 'italic
|
||||
:background (if doom-rose-pine-moon-brighter-comments (doom-blend teal base 0.07)))
|
||||
((font-lock-type-face &override) :slant 'italic)
|
||||
((font-lock-builtin-face &override) :slant 'italic)
|
||||
((font-lock-function-name-face &override) :foreground type)
|
||||
((font-lock-keyword-face &override) :weight 'bold)
|
||||
((font-lock-constant-face &override) :weight 'bold)
|
||||
|
||||
;; Highlight line
|
||||
(hl-line
|
||||
:background surface)
|
||||
|
||||
;; Line numbers
|
||||
((line-number &override) :foreground muted)
|
||||
((line-number-current-line &override) :foreground text)
|
||||
|
||||
;; Mode line
|
||||
(mode-line
|
||||
:background modeline-bg
|
||||
:foreground modeline-fg
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive
|
||||
:foreground modeline-fg-inactive
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if doom-rose-pine-moon-brighter-modeline text subtle))
|
||||
|
||||
;; Company
|
||||
(company-tooltip-selection :background blue :foreground muted)
|
||||
|
||||
;; CSS mode <built-in> / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground green)
|
||||
|
||||
;; Doom mode line
|
||||
(doom-modeline-bar :background green) ; The line to the left
|
||||
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
|
||||
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
|
||||
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
|
||||
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
|
||||
|
||||
;; Helm
|
||||
(helm-selection :foreground base :weight 'bold :background blue)
|
||||
|
||||
;; Ivy
|
||||
(ivy-current-match :background overlay :distant-foreground fg)
|
||||
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
|
||||
(ivy-posframe :background modeline-bg-alt)
|
||||
|
||||
;; Markdown mode
|
||||
(markdown-markup-face :foreground text)
|
||||
(markdown-header-face :inherit 'bold :foreground red)
|
||||
((markdown-code-face &override) :background surface)
|
||||
|
||||
;; org <built-in>
|
||||
(org-block :background (doom-blend yellow bg 0.04) :extend t)
|
||||
(org-block-background :background (doom-blend yellow bg 0.04))
|
||||
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-level-1 :foreground gold)
|
||||
(org-level-2 :foreground rose)
|
||||
(org-level-3 :foreground pine)
|
||||
(org-level-4 :foreground iris)
|
||||
(org-level-5 :foreground gold)
|
||||
(org-level-6 :foreground rose)
|
||||
(org-level-7 :foreground pine)
|
||||
(org-level-8 :foreground iris)
|
||||
|
||||
;; Solaire mode line
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
|
||||
|
||||
;; Widget
|
||||
(widget-field :foreground fg :background muted)
|
||||
(widget-single-line-field :foreground fg :background muted)
|
||||
|
||||
;; Swiper
|
||||
(swiper-line-face :background highlightM)
|
||||
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
|
||||
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
|
||||
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
|
||||
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
|
||||
|
||||
;;; doom-rose-pine-moon-theme.el ends here
|
||||
@@ -1,242 +0,0 @@
|
||||
;;; doom-rose-pine-theme.el --- A dark port of Rosé Pine theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;
|
||||
;; Author: mvllow
|
||||
;; Ported by: donniebreve
|
||||
;; Keywords: custom themes, faces
|
||||
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
|
||||
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Thanks to mvllow (https://github.com/rose-pine)
|
||||
;; Thanks to hlissner (https://github.com/doomemacs/themes)
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(require 'doom-themes)
|
||||
|
||||
;;; Variables
|
||||
(defgroup doom-rose-pine-theme nil
|
||||
"Options for the `doom-rose-pine' theme."
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-rose-pine-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-brighter-text nil
|
||||
"If non-nil, default text will be brighter."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
;;; Theme definition
|
||||
(def-doom-theme doom-rose-pine
|
||||
"A dark port of Rosé Pine theme"
|
||||
|
||||
;; Main theme colors
|
||||
(
|
||||
;; name default 256 16
|
||||
(base '("#191724" "#191724" "black" ))
|
||||
(surface '("#1f1d2e" "#1f1d2e" "brightblack" ))
|
||||
(overlay '("#26233a" "#26233a" "brightblack" ))
|
||||
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
|
||||
(subtle '("#908caa" "#908caa" "brightblack" ))
|
||||
(text '("#e0def4" "#e0def4" "brightblack" ))
|
||||
(love '("#eb6f92" "#eb6f92" "red" ))
|
||||
(gold '("#f6c177" "#f6c177" "white" ))
|
||||
(rose '("#ebbcba" "#ebbcba" "white" ))
|
||||
(pine '("#31748f" "#31748f" "white" ))
|
||||
(foam '("#9ccfd8" "#9ccfd8" "white" ))
|
||||
(iris '("#c4a7e7" "#c4a7e7" "white" ))
|
||||
(highlightL '("#21202e" "#21202e" "grey" ))
|
||||
(highlightM '("#403d52" "#403d52" "grey" ))
|
||||
(highlightH '("#524f67" "#524f67" "grey" ))
|
||||
|
||||
;; Variables required by doom theme
|
||||
;; These are required by doom theme and used in various places
|
||||
(bg base)
|
||||
(fg text)
|
||||
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
|
||||
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
|
||||
;; or region), especially when paired with the `doom-darken', `doom-lighten',
|
||||
;; and `doom-blend' helper functions.
|
||||
(bg-alt surface)
|
||||
(fg-alt text)
|
||||
;; These should represent a spectrum from bg to fg, where base0 is a starker
|
||||
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
|
||||
;; dark grey, base0 should be white and base8 should be black.
|
||||
(base0 base)
|
||||
(base1 surface)
|
||||
(base2 highlightL)
|
||||
(base3 overlay)
|
||||
(base4 highlightM)
|
||||
(base5 highlightH)
|
||||
(base6 muted)
|
||||
(base7 subtle)
|
||||
(base8 text)
|
||||
(grey muted)
|
||||
(red love)
|
||||
(orange gold)
|
||||
(green pine)
|
||||
(teal pine)
|
||||
(yellow rose)
|
||||
(blue pine)
|
||||
(dark-blue pine)
|
||||
(magenta iris)
|
||||
(violet iris)
|
||||
(cyan foam)
|
||||
(dark-cyan foam)
|
||||
;; Variables required by doom theme ends here
|
||||
|
||||
;; Required face categories for syntax highlighting
|
||||
(highlight subtle) ; cursor
|
||||
(selection base) ; can't figure out where this is used
|
||||
(region overlay) ; visual selection
|
||||
(vertical-bar surface) ; window split
|
||||
|
||||
(comments (if doom-rose-pine-brighter-comments subtle muted))
|
||||
(doc-comments (if doom-rose-pine-brighter-comments subtle muted))
|
||||
|
||||
(builtin pine)
|
||||
(constants iris)
|
||||
(functions pine)
|
||||
(keywords pine)
|
||||
(methods foam)
|
||||
(numbers rose)
|
||||
(operators gold)
|
||||
(strings gold)
|
||||
(type rose)
|
||||
(variables iris)
|
||||
|
||||
(error love)
|
||||
(success foam)
|
||||
(warning gold)
|
||||
|
||||
(vc-added foam)
|
||||
(vc-deleted love)
|
||||
(vc-modified gold)
|
||||
|
||||
;; Other categories
|
||||
;; Modeline
|
||||
(modeline-bg (if doom-rose-pine-brighter-modeline overlay surface))
|
||||
(modeline-fg text)
|
||||
(modeline-bg-alt (if doom-rose-pine-brighter-modeline muted overlay))
|
||||
(modeline-fg-alt text) ; should this be darker or lighter?
|
||||
(modeline-bg-inactive base)
|
||||
(modeline-fg-inactive subtle)
|
||||
(modeline-bg-inactive-alt base)
|
||||
(modeline-fg-inactive-alt subtle)
|
||||
(modeline-pad
|
||||
(when doom-rose-pine-padded-modeline
|
||||
if (integerp doom-rose-pine-padded-modeline) doom-rose-pine-padded-modeline 4)))
|
||||
|
||||
;; Base theme face overrides
|
||||
(
|
||||
;; Font
|
||||
((font-lock-comment-face &override)
|
||||
:slant 'italic
|
||||
:background (if doom-rose-pine-brighter-comments (doom-blend teal base 0.07)))
|
||||
((font-lock-type-face &override) :slant 'italic)
|
||||
((font-lock-builtin-face &override) :slant 'italic)
|
||||
((font-lock-function-name-face &override) :foreground type)
|
||||
((font-lock-keyword-face &override) :weight 'bold)
|
||||
((font-lock-constant-face &override) :weight 'bold)
|
||||
|
||||
;; Highlight line
|
||||
(hl-line
|
||||
:background surface)
|
||||
|
||||
;; Line numbers
|
||||
((line-number &override) :foreground muted)
|
||||
((line-number-current-line &override) :foreground text)
|
||||
|
||||
;; Mode line
|
||||
(mode-line
|
||||
:background modeline-bg
|
||||
:foreground modeline-fg
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive
|
||||
:foreground modeline-fg-inactive
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if doom-rose-pine-brighter-modeline text subtle))
|
||||
|
||||
;; Company
|
||||
(company-tooltip-selection :background blue :foreground muted)
|
||||
|
||||
;; CSS mode <built-in> / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground green)
|
||||
|
||||
;; Doom mode line
|
||||
(doom-modeline-bar :background green) ; The line to the left
|
||||
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
|
||||
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
|
||||
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
|
||||
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
|
||||
|
||||
;; Helm
|
||||
(helm-selection :foreground base :weight 'bold :background blue)
|
||||
|
||||
;; Ivy
|
||||
(ivy-current-match :background overlay :distant-foreground fg)
|
||||
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
|
||||
(ivy-posframe :background modeline-bg-alt)
|
||||
|
||||
;; Markdown mode
|
||||
(markdown-markup-face :foreground text)
|
||||
(markdown-header-face :inherit 'bold :foreground red)
|
||||
((markdown-code-face &override) :background surface)
|
||||
|
||||
;; org <built-in>
|
||||
(org-block :background (doom-blend yellow bg 0.04) :extend t)
|
||||
(org-block-background :background (doom-blend yellow bg 0.04))
|
||||
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-level-1 :foreground gold)
|
||||
(org-level-2 :foreground rose)
|
||||
(org-level-3 :foreground pine)
|
||||
(org-level-4 :foreground iris)
|
||||
(org-level-5 :foreground gold)
|
||||
(org-level-6 :foreground rose)
|
||||
(org-level-7 :foreground pine)
|
||||
(org-level-8 :foreground iris)
|
||||
|
||||
;; Solaire mode line
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
|
||||
|
||||
;; Widget
|
||||
(widget-field :foreground fg :background muted)
|
||||
(widget-single-line-field :foreground fg :background muted)
|
||||
|
||||
;; Swiper
|
||||
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
|
||||
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
|
||||
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
|
||||
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
|
||||
|
||||
;;; doom-rose-pine-theme.el ends here
|
||||
@@ -22,3 +22,17 @@ theme = light:Dawnfox,dark:Carbonfox
|
||||
window-decoration = true
|
||||
shell-integration-features = true
|
||||
mouse-scroll-multiplier = 1
|
||||
|
||||
# tmux style binds
|
||||
keybind = ctrl+a>c=new_tab
|
||||
keybind = ctrl+a>x=close_surface
|
||||
keybind = ctrl+a>n=next_tab
|
||||
keybind = ctrl+a>p=previous_tab
|
||||
keybind = ctrl+a>comma=prompt_tab_title
|
||||
keybind = ctrl+a>shift+5=new_split:right
|
||||
keybind = ctrl+a>shift+quote=new_split:down
|
||||
keybind = ctrl+a>o=goto_split:next
|
||||
keybind = ctrl+a>l=goto_split:right
|
||||
keybind = ctrl+a>h=goto_split:left
|
||||
keybind = ctrl+a>j=goto_split:down
|
||||
keybind = ctrl+a>k=goto_split:up
|
||||
|
||||
@@ -15,189 +15,83 @@ plug "andreyorst/smarttab.kak" defer smarttab %{
|
||||
|
||||
plug "occivink/kakoune-sudo-write"
|
||||
|
||||
plug "jtrv/grep-write.kak"
|
||||
|
||||
plug "kak-lsp/kak-lsp" do %{
|
||||
cargo install --locked --force --path .
|
||||
}
|
||||
|
||||
plug "gustavo-hms/luar" %{
|
||||
plug "gustavo-hms/peneira" %{
|
||||
require-module peneira
|
||||
}
|
||||
plug "gustavo-hms/luar" config %{
|
||||
require-module luar
|
||||
}
|
||||
|
||||
plug "gustavo-hms/peneira" config %{
|
||||
require-module peneira
|
||||
set-option global luar_interpreter luajit
|
||||
set-option global peneira_files_command 'fd -t f -I'
|
||||
}
|
||||
|
||||
plug 'theowenyoung/kakoune-buffer-manager'
|
||||
|
||||
plug "h-youhei/kakoune-surround"
|
||||
|
||||
plug "your-tools/kak-subvert" do %{
|
||||
cargo install --locked --force --path .
|
||||
}
|
||||
|
||||
plug "https://git.sr.ht/~nasmevka/repl.kak"
|
||||
|
||||
plug "https://gitlab.com/kstr0k/mru-files.kak" demand mru-files %{ # %{} needed even if empty
|
||||
# suggested mappings: *after* plugin loads
|
||||
# think "go alt[ernate]-f[iles]"
|
||||
# map global goto <a-f> '<esc>: mru-files ' -docstring 'mru-files'
|
||||
# map global goto <a-F> '<esc>: mru-files-related<ret>' -docstring 'mru-files-related'
|
||||
}
|
||||
|
||||
plug "custom-filetypes" load-path "~/.config/kak/al"
|
||||
# # Color Themes
|
||||
plug "tinted-theming/base16-kakoune" theme
|
||||
plug "https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes" theme
|
||||
### End Of Plugins ###
|
||||
|
||||
set-option global luar_interpreter luajit
|
||||
|
||||
## Treesitter ##
|
||||
eval %sh{ kak-tree-sitter -dksvvv --with-highlighting --with-text-objects --init $kak_session }
|
||||
#eval %sh{ kak-tree-sitter -dks --with-text-objects --session $kak_session }
|
||||
#eval %sh{ kak-tree-sitter -dks --with-highlighting --session $kak_session }
|
||||
#eval %sh{ kak-tree-sitter -dksvvv --init $kak_session }
|
||||
#
|
||||
# evaluate-commands %sh{
|
||||
# echo "colorscheme base16-$BASE16_THEME"
|
||||
# }
|
||||
|
||||
## Popup ##
|
||||
evaluate-commands %sh{kak-popup init}
|
||||
|
||||
## Highlighting ##
|
||||
hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor}
|
||||
add-highlighter global/ show-matching
|
||||
add-highlighter global/ column 80 MenuBackground
|
||||
add-highlighter global/ show-whitespaces -spc " " -nbsp ""
|
||||
#add-highlighter global/ show-whitespaces -nbsp "" -lf "" -indent "|"
|
||||
add-highlighter global/ show-whitespaces -spc " " -nbsp "" -indent " "
|
||||
|
||||
## Wrapping ##
|
||||
|
||||
add-highlighter global/ wrap -word -indent
|
||||
|
||||
set-option global grepcmd 'ag'
|
||||
## Formatting ##
|
||||
# define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
|
||||
#
|
||||
#
|
||||
# hook global -group autofmt BufSetOption filetype=(zig) %{
|
||||
# set-option buffer formatcmd 'zig fmt --stdin'
|
||||
#
|
||||
# hook -group autofmt buffer BufOpenFile .* %{
|
||||
# format
|
||||
# }
|
||||
#
|
||||
# hook -group autofmt buffer BufWritePre .* %{
|
||||
# format
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# hook global -group autofmt BufSetOption filetype=(html) %{
|
||||
# set-option buffer formatcmd 'prettier --tab-width 4 --parser html'
|
||||
#
|
||||
# hook -group autofmt buffer BufOpenFile .* %{
|
||||
# format
|
||||
# }
|
||||
#
|
||||
# hook -group autofmt buffer BufWritePre .* %{
|
||||
# format
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# hook global -group autofmt BufSetOption filetype=(css) %{
|
||||
# set-option buffer formatcmd 'prettier --tab-width 4 --parser css'
|
||||
#
|
||||
# hook -group autofmt buffer BufOpenFile .* %{
|
||||
# format
|
||||
# }
|
||||
#
|
||||
# hook -group autofmt buffer BufWritePre .* %{
|
||||
# format
|
||||
# }
|
||||
# }
|
||||
define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
|
||||
|
||||
hook global -group autofmt BufSetOption filetype=(c|cpp) %{
|
||||
set-option buffer formatcmd 'clang-format'
|
||||
|
||||
hook -group autofmt buffer BufOpenFile .* %{
|
||||
format
|
||||
}
|
||||
|
||||
hook -group autofmt buffer BufWritePre .* %{
|
||||
format
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command disable-autofmt -docstring 'disable autoformatting of buffer' %{
|
||||
remove-hooks global autofmt
|
||||
}
|
||||
|
||||
enable-autofmt
|
||||
## Indentation ##
|
||||
set global tabstop 4
|
||||
set global indentwidth 4
|
||||
hook global WinSetOption filetype=.* expandtab
|
||||
hook global WinSetOption filetype=(makefile|gas) noexpandtab
|
||||
hook global BufCreate .* %{
|
||||
editorconfig-load
|
||||
autoconfigtab
|
||||
}
|
||||
|
||||
define-command set-spell -docstring 'Enable spellcheck' %{
|
||||
# hook -group spellcheck global BufOpenFile .* %{
|
||||
hook -group spellcheck buffer InsertChar .* %{
|
||||
evaluate-commands %{
|
||||
spell
|
||||
}
|
||||
}
|
||||
|
||||
hook -group spellcheck buffer InsertDelete .* %{
|
||||
evaluate-commands %{
|
||||
spell
|
||||
}
|
||||
}
|
||||
# }
|
||||
}
|
||||
|
||||
define-command set-nospell -docstring 'Disable spellcheck' %{
|
||||
remove-hooks buffer spellcheck
|
||||
}
|
||||
|
||||
define-command sleuth -docstring 'Heuristically set buffer options' %{
|
||||
try %{
|
||||
evaluate-commands -draft %{
|
||||
# Search the first indent level
|
||||
execute-keys 'gg' '/' '^\h+' '<ret>'
|
||||
|
||||
# Tab vs. Space
|
||||
# https://youtu.be/V7PLxL8jIl8
|
||||
try %{
|
||||
execute-keys '<a-k>' '\t' '<ret>'
|
||||
#set-option buffer indentwidth 0
|
||||
noexpandtab
|
||||
} catch %{
|
||||
set-option buffer indentwidth %val{selection_length}
|
||||
expandtab
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command git-status -docstring 'Show git diff' %{
|
||||
hook -group git-status global BufOpenFile .* %{
|
||||
git show-diff
|
||||
}
|
||||
|
||||
hook -group git-status global BufWritePost .* %{
|
||||
git show-diff
|
||||
}
|
||||
}
|
||||
|
||||
define-command disable-git-status -docstring 'Disable git diff gutter' %{
|
||||
remove-hooks global git-status
|
||||
}
|
||||
|
||||
define-command sleuth-enable -docstring 'Enable sleuth' %{
|
||||
# Run sleuth when opening and saving files.
|
||||
hook -group sleuth global BufOpenFile .* %{
|
||||
sleuth
|
||||
}
|
||||
|
||||
hook -group sleuth global BufWritePost .* %{
|
||||
sleuth
|
||||
}
|
||||
}
|
||||
|
||||
define-command sleuth-disable -docstring 'Disable sleuth' %{
|
||||
remove-hooks global sleuth
|
||||
}
|
||||
|
||||
## LSP ##
|
||||
set-option global autocomplete 'prompt'
|
||||
lsp-enable
|
||||
lsp-inlay-diagnostics-enable global
|
||||
set-option global lsp_auto_highlight_references true
|
||||
set-option global lsp_hover_anchor true
|
||||
# lsp-inlay-diagnostics-enable global
|
||||
# set-option global lsp_auto_highlight_references true
|
||||
# set-option global lsp_hover_anchor true
|
||||
lsp-auto-signature-help-enable
|
||||
lsp-inlay-hints-enable global
|
||||
# lsp-inlay-hints-enable global
|
||||
|
||||
map global user k ':lsp-hover<ret>'
|
||||
|
||||
@@ -244,213 +138,190 @@ hook -group lsp-filetype-typst global BufSetOption filetype=typst %{
|
||||
# previewFeature = "disable"
|
||||
}
|
||||
}
|
||||
|
||||
set-option global lsp_config %{
|
||||
}
|
||||
|
||||
define-command fzf-buffer -docstring 'Invoke fzf to select a buffer' %{
|
||||
define-command -docstring 'git log' git-log %{
|
||||
evaluate-commands %sh{
|
||||
tmux split-window -l 20% "(printf \"%s\n\" $kak_quoted_buflist | fzf --bind 'focus:execute-silent(echo \"eval -client $kak_client %{ e {} }\" | kak -p $kak_session)' || echo \"$kak_buffile\") | xargs -I{} echo \"eval -client $kak_client %{ e '{}' }\" | /usr/bin/kak -p $kak_session"
|
||||
output=$(mktemp -d "${TMPDIR:-/tmp}"/kak-git.XXXXXXXX)/fifo
|
||||
mkfifo ${output}
|
||||
( trap - INT QUIT; git log > ${output} 2>&1 & ) > /dev/null 2>&1 < /dev/null
|
||||
|
||||
printf %s "evaluate-commands -try-client '$kak_opt_docsclient' '
|
||||
edit! -fifo ${output} *git*
|
||||
set-option buffer filetype git-log
|
||||
$(hide_blame)
|
||||
set-option buffer git_blob %{}
|
||||
hook -always -once buffer BufCloseFifo .* ''
|
||||
nop %sh{ rm -r $(dirname ${output}) }
|
||||
''
|
||||
'"
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'Invoke fzf to select a buffer' prev-fzf-buff %{
|
||||
evaluate-commands %sh{
|
||||
BUFFER=$(
|
||||
(
|
||||
eval "set -- $kak_buflist"
|
||||
while [ $# -gt 0 ]; do
|
||||
printf "%s\0" "$1"
|
||||
shift
|
||||
done
|
||||
) |
|
||||
fzf-tmux --cycle -p 80%,90% --read0 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null'
|
||||
)
|
||||
if [ -n "$BUFFER" ]; then
|
||||
printf "buffer %s" "${BUFFER}"
|
||||
fi
|
||||
}
|
||||
define-command -docstring 'fd find files' -params 1 fd %{
|
||||
edit %arg{1}
|
||||
}
|
||||
|
||||
define-command -docstring 'live grep' live-grep %{
|
||||
evaluate-commands %sh{
|
||||
complete-command -menu fd shell-script-candidates 'fd -I -t f .'
|
||||
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rfv.sh)"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
declare-option -hidden str last_command
|
||||
|
||||
define-command -docstring 'compile a la emacs' compile %{
|
||||
prompt -init "%opt{last_command}" -shell-completion "Command: " compile_text
|
||||
}
|
||||
|
||||
define-command -docstring 'exact grep' exact-grep %{
|
||||
evaluate-commands %sh{
|
||||
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rfve.sh)"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'search contents of current file' file-search %{
|
||||
evaluate-commands -save-regs '"' %{
|
||||
set-register dquote %sh{ mktemp }
|
||||
execute-keys -draft '%<a-|> cat > $kak_reg_dquote<ret>'
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rfs.sh ${kak_reg_dquote} ${kak_buffile})"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
define-command -docstring 'compile_text' compile_text -hidden %{
|
||||
evaluate-commands %{
|
||||
evaluate-commands -try-client %opt{toolsclient} %{
|
||||
fifo -scroll -name *compile-mode* -script %{
|
||||
trap - INT QUIT
|
||||
printf "*compilation started at $(date)*\n"
|
||||
eval "$kak_quoted_text"
|
||||
exit_code=$?
|
||||
if [ $exit_code == 0 ]; then
|
||||
printf "*compilation finished at $(date)*\n"
|
||||
else
|
||||
printf "*compilation exited abnormally at $(date) with exit code $exit_code*\n"
|
||||
fi
|
||||
rm $kak_reg_dquote
|
||||
fi
|
||||
} -- %arg{@}
|
||||
set-option buffer filetype cmd
|
||||
set-option buffer jump_current_line 0
|
||||
set-option global last_command %val{text}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'search contents of current file with regex' regex-file-search %{
|
||||
evaluate-commands -save-regs '"' %{
|
||||
set-register dquote %sh{ mktemp }
|
||||
execute-keys -draft '%<a-|> cat > $kak_reg_dquote<ret>'
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rgrs.sh ${kak_reg_dquote} ${kak_buffile})"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
rm $kak_reg_dquote
|
||||
fi
|
||||
define-command -docstring 'compile_run' compile_run -params .. -hidden %{
|
||||
evaluate-commands -save-regs ab %{
|
||||
set-register a %arg{@}
|
||||
set-register b %sh{ printf "*%s*" "$1" }
|
||||
evaluate-commands -try-client %opt{toolsclient} %{
|
||||
fifo -name %reg{b} -script %{
|
||||
trap - INT QUIT
|
||||
eval "$kak_quoted_reg_a"
|
||||
} -- %arg{@}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'Invoke fzf to open a file' -params 0 fzf-edit %{
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(fd -t f . |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
define-command -hidden cmd-jmp %{
|
||||
evaluate-commands -save-regs a %{
|
||||
try %{
|
||||
execute-keys -draft 'ght<ret>"ay'
|
||||
evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a}
|
||||
try %{ focus %opt{jumpclient} }
|
||||
} catch %{
|
||||
jump
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'Invoke fzf to open a file local to the current file' -params 0 fzf-edit-local %{
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
dir="$(get_local_path ${kak_buffile})"
|
||||
if [ -n "$dir" ]; then
|
||||
file="$(fd -u -t f . $dir |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')"
|
||||
fi
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
hook -group cmd-highlight global WinSetOption filetype=cmd %{
|
||||
add-highlighter window/cmd group
|
||||
add-highlighter window/cmd/path regex "^([^:\n\*]+[^/:])$" 1:cyan
|
||||
add-highlighter window/cmd/num-path regex "^([^:\n\*]+):(\d+):(\d+)?" 1:cyan 2:green 3:green
|
||||
add-highlighter window/cmd/error regex "^([^:\n\*]+):(\d+):(?:(\d+):)?\h+(?:((?:fatal )?error)|(warning)|(note)|(required from(?: here)?))?.*?$" 1:cyan 2:green 3:green 4:red 5:yellow 6:blue 7:yellow
|
||||
add-highlighter window/cmd/extra regex "^\h*(~*(?:(\^)~*)?)$" 1:green 2:cyan+b
|
||||
add-highlighter window/cmd/info-error regex "(\*compilation exited abnormally at .+ with exit code )([0-9]+)(\*)" 1:default+b 2:red+b 3:default+b
|
||||
add-highlighter window/cmd/info regex "^(\*[^\n]+\*)$" 1:default+b
|
||||
add-highlighter window/cmd/ line %{%opt{jump_current_line}} default+b
|
||||
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/cmd}
|
||||
}
|
||||
|
||||
hook global WinSetOption filetype=cmd %{
|
||||
hook buffer -group cmd-hooks NormalKey <ret> cmd-jmp
|
||||
hook -once -always window WinSetOption filetype=.* %{ remove-hooks buffer cmd-hooks }
|
||||
}
|
||||
|
||||
declare-option str curpath_dirls %sh{pwd}
|
||||
|
||||
define-command dirls -params 1 %{
|
||||
set-option global curpath_dirls "%opt{curpath_dirls}/%arg{1}"
|
||||
compile_run ls -lh %opt{curpath_dirls}
|
||||
set-option buffer filetype dirls
|
||||
}
|
||||
|
||||
complete-command dirls file 0
|
||||
|
||||
define-command -hidden dirls-jmp %{
|
||||
evaluate-commands -save-regs ab %{
|
||||
try %{
|
||||
execute-keys 'gl<a-t> "ay'
|
||||
evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a}
|
||||
try %{ focus %opt{jumpclient} }
|
||||
} catch %{
|
||||
execute-keys 'gl<a-t> "ay'
|
||||
dirls %reg{a}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'Pick project' -params 0 switch-project %{
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
proj="$(cat ~/.scripts/projects | TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% | cut -d' ' -f1)"
|
||||
if [ -n "$proj" ]; then
|
||||
printf "cd %s\n" "$proj"
|
||||
printf 'fzf-edit\n'
|
||||
fi
|
||||
fi
|
||||
}
|
||||
define-command -hidden dirls-jmp-up %{
|
||||
dirls ".."
|
||||
}
|
||||
|
||||
define-command -docstring 'Project wide search' project-search %{
|
||||
evaluate-commands %sh{
|
||||
hook -group dirls-highlight global WinSetOption filetype=dirls %{
|
||||
add-highlighter window/dirls group
|
||||
add-highlighter window/dirls/file regex "^(-[^\n]+)$" 1:cyan
|
||||
add-highlighter window/dirls/folder regex "^(d[^\n]+)$" 1:blue
|
||||
add-highlighter window/dirls/ line %{%opt{jump_current_line}} default+b
|
||||
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/dirls}
|
||||
}
|
||||
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rgfs.sh)"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
hook global WinSetOption filetype=dirls %{
|
||||
hook buffer -group dirls-hooks NormalKey <ret> dirls-jmp
|
||||
hook buffer -group dirls-hooks NormalKey <minus> dirls-jmp-up
|
||||
}
|
||||
|
||||
define-command -docstring 'Print Working Directory' -params 0 pwd %{
|
||||
evaluate-commands echo %sh{ echo "$(pwd)"}
|
||||
}
|
||||
|
||||
# define-command -docstring 'copy to clipboard' xcopy %{
|
||||
# execute-keys '<a-|>xclip -selection clipboard -i<ret>'
|
||||
# }
|
||||
|
||||
# define-command -docstring 'paste from clipboard' xpaste %{
|
||||
# evaluate-commands -save-regs '"' %{
|
||||
# set-register dquote %sh{ xclip -selection clipboard -o }
|
||||
# execute-keys 'p'
|
||||
# }
|
||||
# }
|
||||
|
||||
define-command -docstring 'copy to clipboard' xcopy %{
|
||||
execute-keys '<a-|>pbcopy<ret>'
|
||||
execute-keys '<a-|>xclip -selection clipboard -i<ret>'
|
||||
}
|
||||
|
||||
define-command -docstring 'paste from clipboard' xpaste %{
|
||||
evaluate-commands -save-regs '"' %{
|
||||
set-register dquote %sh{ pbpaste }
|
||||
execute-keys 'P'
|
||||
set-register dquote %sh{ xclip -selection clipboard -o }
|
||||
execute-keys 'p'
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'find files in particular directory' peneira-dir-files %{
|
||||
peneira-files-configure-buffer
|
||||
prompt -shell-script-completion '(fd -t d -d 1 -I . $@ || fd -t d -d 1 -I . $(dirname $@)) | (sk -f $@ || cat)' 'directory: ' peneira-files-in-dir
|
||||
}
|
||||
|
||||
define-command peneira-files-in-dir -hidden %{
|
||||
peneira 'file: ' 'fd -t f -I . $kak_text' 'edit %arg{1}'
|
||||
}
|
||||
|
||||
map -docstring 'fix c-i in silly terminals' global normal '<tab>' '<c-i>'
|
||||
declare-user-mode config
|
||||
map -docstring 'enter config mode' global user e ':enter-user-mode config<ret>'
|
||||
map -docstring 'edit kakoune config' global config k ':e ~/.config/kak/kakrc<ret>'
|
||||
map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf<ret>'
|
||||
map -docstring 'edit bash config' global config b ':e ~/.bashrc<ret>'
|
||||
map -docstring 'edit scripts folder' global config s ':cd ~/.scripts<ret>:fzf-edit<ret>'
|
||||
map -docstring 'edit .config folder' global config c ':cd ~/.config<ret>:fzf-edit<ret>'
|
||||
|
||||
declare-user-mode buffer
|
||||
map -docstring 'enter buffer mode' global user b ':enter-user-mode buffer<ret>'
|
||||
map -docstring 'next buffer' global buffer n ':buffer-next<ret>'
|
||||
map -docstring 'previous buffer' global buffer p ':buffer-previous<ret>'
|
||||
map -docstring 'close current buffer' global buffer d ':delete-buffer!<ret>'
|
||||
map -docstring 'write and close current buffer' global buffer w ':w<ret>:db<ret>'
|
||||
map -docstring 'list and select a buffer' global buffer b ':fzf-buffer<ret>'
|
||||
map -docstring 'open buf manager' global user b ':buffer-manager<ret>'
|
||||
map -docstring 'compile mode' global user c ':compile<ret>'
|
||||
map -docstring 'next error' global user ] ':jump-next *compile-mode*<ret>'
|
||||
map -docstring 'previous error' global user [ ':jump-previous *compile-mode*<ret>'
|
||||
|
||||
declare-user-mode find
|
||||
map -docstring 'enter find mode' global user f ':enter-user-mode find<ret>'
|
||||
map -docstring 'find files' global find f ':fzf-edit<ret>'
|
||||
map -docstring 'find tags for the current project' global find t ':ctags-search '
|
||||
map -docstring 'find line in current file' global find l ':file-search<ret>'
|
||||
map -docstring 'find line in current file with regex' global find L ':regex-file-search<ret>'
|
||||
map -docstring 'find files in current directory' global find F ':fzf-edit-local<ret>'
|
||||
map -docstring "grep file contents recursively" global find g ':live-grep<ret>'
|
||||
map -docstring "grep exact file contents recursively" global find e ':exact-grep<ret>'
|
||||
map -docstring 'project wide search' global find p ':project-search<ret>'
|
||||
map -docstring 'clipboard paste' global user p ':xpaste<ret>'
|
||||
map -docstring 'clipboard yank' global user y ':xcopy<ret>'
|
||||
|
||||
map -docstring 'find tags for the current project' global user t ':ctags-search '
|
||||
|
||||
map -docstring 'find files' global user f ':peneira-files<ret>'
|
||||
map -docstring 'find files in particular dir' global user F ':peneira-dir-files<ret>'
|
||||
|
||||
map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp<ret>'
|
||||
map -docstring 'goto definition (tag)' global lsp t '<a-i>w:ctags-search<ret>'
|
||||
|
||||
map -docstring 'enter treesitter mode' global user t ':enter-user-mode tree-sitter<ret>'
|
||||
map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search<ret>'
|
||||
|
||||
declare-user-mode tmux
|
||||
map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux<ret>'
|
||||
map -docstring 'vertical split' global tmux v ':tmux-terminal-horizontal kak -c %val{session}<ret>'
|
||||
@@ -459,35 +330,9 @@ map -docstring 'new tab' global tmux t ':tmux-terminal-window kak -c %val{sessio
|
||||
map -docstring 'vertical terminal split' global tmux V ':tmux-repl-horizontal bash<ret>'
|
||||
map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical bash<ret>'
|
||||
map -docstring 'new terminal tab' global tmux T ':tmux-repl-window<ret>'
|
||||
map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit<ret>'
|
||||
|
||||
declare-user-mode project
|
||||
map -docstring 'enter project mode' global user p ':enter-user-mode project<ret>'
|
||||
map -docstring 'open project' global project o ':switch-project<ret>'
|
||||
|
||||
map -docstring 'enter man mode' global user m ':enter-user-mode man<ret>'
|
||||
|
||||
declare-user-mode general
|
||||
map -docstring 'enter general keybinds mode' global user g ':enter-user-mode general<ret>'
|
||||
#map -docstring 'clipboard yank' global user y '<a-|>clip.exe<ret>'
|
||||
map -docstring 'clipboard yank' global general y ':xcopy<ret>'
|
||||
#map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"<ret>'
|
||||
map -docstring 'clipboard paste' global general p ':xpaste<ret>'
|
||||
map -docstring 'quit kakoune' global general q ':q<ret>'
|
||||
map -docstring 'toggle comments' global general c ':comment-line<ret>'
|
||||
|
||||
declare-user-mode spell
|
||||
map -docstring 'enter spell mode' global general s ':enter-user-mode spell<ret>'
|
||||
map -docstring 'enable spell check' global spell s ':spell<ret>'
|
||||
map -docstring 'clear spell check' global spell c ':spell-clear<ret>'
|
||||
map -docstring 'next spell check' global spell n ':spell-next<ret>'
|
||||
map -docstring 'spell check replacements' global spell r ':spell-replace<ret>'
|
||||
|
||||
map -docstring 'quit kakoune' global user q ':q!<ret>'
|
||||
try %{
|
||||
colorscheme %sh{
|
||||
ruby -e "time = Time.new; if time.hour < 20 and time.hour > 6 then puts 'dawnfox' else puts 'carbonfox' end"
|
||||
}
|
||||
} catch %{
|
||||
colorscheme carbonfox
|
||||
}
|
||||
colorscheme dawnfox
|
||||
|
||||
@@ -26,5 +26,5 @@ dataSourceCommonSettings\activeState=true
|
||||
dataSourceCommonSettings\activeState=true
|
||||
|
||||
[UserFeedback]
|
||||
ApplicationStartCount=137
|
||||
ApplicationTime=622
|
||||
ApplicationStartCount=141
|
||||
ApplicationTime=705
|
||||
|
||||
@@ -26,5 +26,5 @@ dataSourceCommonSettings\activeState=true
|
||||
dataSourceCommonSettings\activeState=true
|
||||
|
||||
[UserFeedback]
|
||||
ApplicationStartCount=3
|
||||
ApplicationTime=35142
|
||||
ApplicationStartCount=72
|
||||
ApplicationTime=68724
|
||||
|
||||
@@ -23,5 +23,5 @@ dataSourceCommonSettings\activeState=true
|
||||
dataSourceCommonSettings\activeState=true
|
||||
|
||||
[UserFeedback]
|
||||
ApplicationStartCount=1
|
||||
ApplicationTime=14
|
||||
ApplicationStartCount=18
|
||||
ApplicationTime=16794
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
[UserFeedback]
|
||||
ApplicationStartCount=1
|
||||
ApplicationStartCount=18
|
||||
|
||||
@@ -26,6 +26,6 @@ dataSourceCommonSettings\activeState=true
|
||||
dataSourceCommonSettings\activeState=true
|
||||
|
||||
[UserFeedback]
|
||||
ApplicationStartCount=210
|
||||
ApplicationTime=2008695
|
||||
ApplicationStartCount=260
|
||||
ApplicationTime=2430104
|
||||
LastEncouragement=@DateTime(\0\0\0\x10\0\0\0\0\0\0%\x87}\x4\n\x84\xab\0)
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
config/.config/nvim/compiler/dex_lxb.vim
Normal file
2
config/.config/nvim/compiler/dex_lxb.vim
Normal file
@@ -0,0 +1,2 @@
|
||||
CompilerSet errorformat&
|
||||
CompilerSet makeprg=cd\ /home/E40127478/projects/dex/dex_lxb/\ &&\ ./build_all.sh\ $*
|
||||
@@ -1,74 +1,70 @@
|
||||
{
|
||||
"auto-dark-mode.nvim": { "branch": "master", "commit": "e300259ec777a40b4b9e3c8e6ade203e78d15881" },
|
||||
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
|
||||
"catppuccin": { "branch": "main", "commit": "da33755d00e09bff2473978910168ff9ea5dc453" },
|
||||
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
|
||||
"catppuccin": { "branch": "main", "commit": "edefef779ab08ce1a4a404713e3012b0d202bd35" },
|
||||
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
|
||||
"command.nvim": { "branch": "main", "commit": "e3d2c3923b37980deaf36221044219d9f78348b4" },
|
||||
"compiler-explorer.nvim": { "branch": "master", "commit": "3f1d95509b66803c79b4ef3ab1e51e5bc53f4ca2" },
|
||||
"command.nvim": { "branch": "main", "commit": "e5736fea4bdab1f86b17bcd71b873517bb145e1b" },
|
||||
"compiler-explorer.nvim": { "branch": "master", "commit": "523c6a7a3d8c034b421a71eb20b0da75b0b16f62" },
|
||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||
"dim.lua": { "branch": "main", "commit": "a3a0dce75f7212ab61130e77a8157530bd23db15" },
|
||||
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
|
||||
"dropbar.nvim": { "branch": "master", "commit": "ce202248134e3949aac375fd66c28e5207785b10" },
|
||||
"everblush": { "branch": "main", "commit": "678f808d81801b983b6fb8296fb17ba1b2785d7c" },
|
||||
"everforest": { "branch": "master", "commit": "484dd560dccb2d2842685c441ad2b54a54ffef1b" },
|
||||
"everforest": { "branch": "master", "commit": "85a86eb62409e3ec88713bff3d1b9d7374e112e4" },
|
||||
"fennel.vim": { "branch": "main", "commit": "c6a9c035ca108cbb24273d96cd6277fb8fbc60b4" },
|
||||
"firenvim": { "branch": "master", "commit": "a18ef908ac06b52ad9333b70e3e630b0a56ecb3d" },
|
||||
"github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" },
|
||||
"github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "cdafc320f03f2572c40ab93a4eecb733d4016d07" },
|
||||
"gruvbox-material": { "branch": "master", "commit": "4bfc6983abc249c5943a60d8eb3980a3c2ababe1" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
|
||||
"hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"leap.nvim": { "branch": "main", "commit": "a3d721dffbc634cdea2d7e3d868501a8b59da058" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "851a051e2bd2caba97e23314c68d69f1b1cf5d19" },
|
||||
"gruvbox-material": { "branch": "master", "commit": "11d779b26a9ab2b3db8c22c6ac9fb6e8ed4fea79" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "154eb5ff5b96d0641307113fa385eaf0d36d9796" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||
"leap.nvim": { "branch": "main", "commit": "277e04fad21e3af05a55cc414757b09a704f2a92" },
|
||||
"love2d.nvim": { "branch": "main", "commit": "25715394680590f56aab90390d430cab0dc46808" },
|
||||
"lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7d527c76c43f46294de9c19d39c5a86317809b4b" },
|
||||
"mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
|
||||
"markview.nvim": { "branch": "main", "commit": "190bb227c9d3eb4451b81fa16ea3d2efde2d67c5" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "b3298993d55fa194279b5eb9dbfb3a43da65cadf" },
|
||||
"mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
|
||||
"melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" },
|
||||
"mellow.nvim": { "branch": "main", "commit": "5cd188489bcc7eb512f0a30581ad972070f8e5cd" },
|
||||
"mini.nvim": { "branch": "main", "commit": "6e885e4c27743ae6bf5957ea78ce86c032835f09" },
|
||||
"mellow.nvim": { "branch": "main", "commit": "6273b7f0ddf6ac2b75021b3bc0bd8b3305cfeef1" },
|
||||
"monochrome.nvim": { "branch": "main", "commit": "2de78d9688ea4a177bcd9be554ab9192337d35ff" },
|
||||
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
|
||||
"monokai.nvim": { "branch": "master", "commit": "fca3943173f6026347f9ffc68baab39454446c3b" },
|
||||
"moonlight.nvim": { "branch": "pure-lua", "commit": "e24e4218ec680b6396532808abf57ca0ada82e66" },
|
||||
"moonscript-vim": { "branch": "master", "commit": "715c96c7c3b02adc507f84bf5754985460afc426" },
|
||||
"multicursor.nvim": { "branch": "1.0", "commit": "993c6eda70077c5619388900dcffefff73b40c96" },
|
||||
"multicursor.nvim": { "branch": "1.0", "commit": "704b99f10a72cc05d370cfeb294ff83412a8ab55" },
|
||||
"nabla.nvim": { "branch": "master", "commit": "9b69b709063ccf40ac36fabb4fff7d90b3736475" },
|
||||
"nelua.vim": { "branch": "main", "commit": "5bc2ce7cc1ae952940bb3419ad106c02820f4baf" },
|
||||
"neogit": { "branch": "master", "commit": "4ba620addbeeca2594c794b151e611c037973480" },
|
||||
"neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" },
|
||||
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
||||
"nelua.vim": { "branch": "main", "commit": "1342286a1c06fc2cef50f06cd34dfcdd8df5b65c" },
|
||||
"neogit": { "branch": "master", "commit": "70708be9664b7fcdd010eb07bdc3ebc9311c2027" },
|
||||
"neorg": { "branch": "main", "commit": "a09e0bb9b32e2d0406d4503ae8c1a7ad2ca83eae" },
|
||||
"nightfox.nvim": { "branch": "main", "commit": "4dacd3f0185a2227bdf3b6c0975a8f0bf87cac9a" },
|
||||
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
|
||||
"nvim-highlight-colors": { "branch": "main", "commit": "e0c4a58ec8c3ca7c92d3ee4eb3bc1dd0f7be317e" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "e0fae251f8459940331960106d4bd9457cec23de" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-surround": { "branch": "main", "commit": "fcfa7e02323d57bfacc3a141f8a74498e1522064" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||
"nvim-unception": { "branch": "main", "commit": "df0e505f0f1371c49c2bcf993985962edb5a279d" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
||||
"nui.nvim": { "branch": "main", "commit": "10fc361835c856ba4233ef5ea135b919bf3dce97" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "430522f95fe4fb7c511ec64f8c1a90cc6a66c05c" },
|
||||
"nvim-highlight-colors": { "branch": "main", "commit": "e4c7af0211866162d999ce0bdd6a029302e19139" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "db68de3575fff9dd9bb78b34c8371759ed35fe34" },
|
||||
"nvim-nio": { "branch": "master", "commit": "edcc181a875301dd21840189aa2f2f9ad69fc172" },
|
||||
"nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "0ba3703f0ac706af97c80d426fc88fed4d1e5e8f" },
|
||||
"nvim-treesitter-textobjects": { "branch": "main", "commit": "5c7b0263797dfd1bd6202f2b219f3b53a80b2187" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "d7220b55e16ed3c04e88086256def5d282429493" },
|
||||
"nvim-unception": { "branch": "main", "commit": "f14eeb22238d2c2bdafe9a2e5e1f4bd200d0e450" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "58447c1fca354bbf184425e4a8d01deecbd6f3c4" },
|
||||
"oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" },
|
||||
"oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
|
||||
"oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" },
|
||||
"one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" },
|
||||
"onedark.nvim": { "branch": "master", "commit": "6c10964f91321c6a0f09bcc41dd64e7a6602bc4f" },
|
||||
"onedark.nvim": { "branch": "master", "commit": "213c23ae45a04797572242568d5d51937181792d" },
|
||||
"pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" },
|
||||
"plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"range-highlight.nvim": { "branch": "master", "commit": "f54aec737f138e52c187a8bea77b41347fd86f12" },
|
||||
"rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" },
|
||||
"range-highlight.nvim": { "branch": "master", "commit": "097103da6550c2a34c029971c3d7da63d3fef320" },
|
||||
"rose-pine": { "branch": "main", "commit": "ff483051a47e27d84bdef47703538df1ed9f4a47" },
|
||||
"sherbet.nvim": { "branch": "master", "commit": "5c4166eff70ec551ae0023edfb89141b25cc18c6" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
|
||||
"telescope-tabs": { "branch": "vim_ui_select", "commit": "f01bc722582fdcaa58ea37492b382ff109893d95" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
|
||||
"v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" },
|
||||
"vim-colors-xcode": { "branch": "master", "commit": "6d449229bf29176448bd06377689d7a8db0d1bee" },
|
||||
"vim-colors-xcode": { "branch": "master", "commit": "2329a3ed092b4f72e9361a94567a5431e36e7d9c" },
|
||||
"vim-etlua": { "branch": "master", "commit": "bb2974d0134ce6da60c3be0d82d809976b859c1c" },
|
||||
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
|
||||
"vim-teal": { "branch": "master", "commit": "a416397cf7aad7b03ef53fd3d9847fd764bcbfee" },
|
||||
"vlime": { "branch": "master", "commit": "e276e9a6f37d2699a3caa63be19314f5a19a1481" },
|
||||
"vscode.nvim": { "branch": "main", "commit": "cb9df0873c10a21d05362455ae3bb355eadcef6b" }
|
||||
"vscode.nvim": { "branch": "main", "commit": "aa1102a7e15195c9cca22730b09224a7f7745ba8" }
|
||||
}
|
||||
|
||||
@@ -4,12 +4,45 @@ local setnx = function(key, command, desc)
|
||||
end
|
||||
|
||||
setnx('<leader>ff', Snacks.picker.files, 'Find files')
|
||||
setnx('<leader>fF', function() Snacks.picker.files({ dirs = { '.' }}) end, 'Find files in current dir')
|
||||
setnx('<leader>f/', Snacks.picker.grep_word, 'Search current word')
|
||||
setnx('<leader>fg', Snacks.picker.grep, 'Search in files')
|
||||
setnx('<leader>fr', Snacks.picker.recent, 'Find recent files')
|
||||
setnx('<leader>b', Snacks.picker.buffers, 'List buffers')
|
||||
setnx('<leader>h', Snacks.picker.help, 'Search help')
|
||||
setnx('<leader>X', require'hex'.toggle, 'Toggle hex editor')
|
||||
setnx('<leader>P', '<CMD>Markview splitToggle<CR>', 'Open markview preview')
|
||||
setnx('<leader>z', Snacks.zen.zen, 'Toggle snacks zen mode')
|
||||
setnx('<leader>d', '<CMD>AnyJump<CR>', 'AnyJump jump to definition')
|
||||
|
||||
local setto = function(key, command, desc)
|
||||
set({ 'x', 'o' }, key, command, { desc = desc })
|
||||
end
|
||||
local setton = function(key, command, desc)
|
||||
set({ 'n', 'x', 'o' }, key, command, { desc = desc })
|
||||
end
|
||||
local select_to = function(query)
|
||||
return function ()
|
||||
require'nvim-treesitter-textobjects.select'.select_textobject(query, "textobjects")
|
||||
end
|
||||
end
|
||||
local move_next_start = function(query)
|
||||
return function ()
|
||||
require'nvim-treesitter-textobjects.move'.goto_next_start(query, "textobjects")
|
||||
end
|
||||
end
|
||||
local move_prev_start = function(query)
|
||||
return function ()
|
||||
require'nvim-treesitter-textobjects.move'.goto_previous_start(query, "textobjects")
|
||||
end
|
||||
end
|
||||
|
||||
setto('if', select_to("@function.inner"), 'Select inside function')
|
||||
setto('af', select_to("@function.outer"), 'Select around function')
|
||||
setto('ia', select_to("@parameter.inner"), 'Select inside parameter')
|
||||
setto('aa', select_to("@parameter.outer"), 'Select around parameter')
|
||||
setton(']p', move_next_start("@parameter.inner"), 'Goto next parameter')
|
||||
setton('[p', move_prev_start("@parameter.inner"), 'Goto previous parameter')
|
||||
|
||||
setnx('<leader>m', Snacks.picker.marks, 'Search marks')
|
||||
setnx('<leader>q', Snacks.picker.qflist, 'Search quickfix list')
|
||||
setnx('<leader>l', Snacks.picker.loclist, 'Search location list')
|
||||
@@ -48,8 +81,8 @@ setnx('`', '\'', 'Goto mark without column')
|
||||
setnx('<leader>x', '<CMD>bd!<CR>', 'Close Current Buffer')
|
||||
|
||||
setnx('grr', Snacks.picker.lsp_references, 'Search lsp references')
|
||||
-- setnx('grI', tele.lsp_incoming_calls, 'Find incoming function calls')
|
||||
-- setnx('grO', tele.lsp_outgoing_calls, 'Find outgoing function calls')
|
||||
setnx('grI', Snacks.picker.lsp_incoming_calls, 'Find incoming function calls')
|
||||
setnx('grO', Snacks.picker.lsp_outgoing_calls, 'Find outgoing function calls')
|
||||
setnx('grd', Snacks.picker.diagnostics, 'Show LSP diagnostics')
|
||||
setnx('grD', (function()
|
||||
local diag = true
|
||||
|
||||
@@ -8,41 +8,22 @@ vim.api.nvim_create_autocmd('LspAttach', {
|
||||
end
|
||||
})
|
||||
|
||||
-- vim.lsp.config('rust-analyzer', {
|
||||
-- settings = {
|
||||
-- ["rust-analyzer"] = {
|
||||
-- inlayHints = {
|
||||
-- bindingModeHints = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- chainingHints = {
|
||||
-- enable = true,
|
||||
-- },
|
||||
-- closingBraceHints = {
|
||||
-- enable = true,
|
||||
-- minLines = 25,
|
||||
-- },
|
||||
-- closureReturnTypeHints = {
|
||||
-- enable = "never",
|
||||
-- },
|
||||
-- lifetimeElisionHints = {
|
||||
-- enable = "never",
|
||||
-- useParameterNames = false,
|
||||
-- },
|
||||
-- maxLength = 25,
|
||||
-- parameterHints = {
|
||||
-- enable = true,
|
||||
-- },
|
||||
-- reborrowHints = {
|
||||
-- enable = "never",
|
||||
-- },
|
||||
-- renderColons = true,
|
||||
-- typeHints = {
|
||||
-- enable = true,
|
||||
-- hideClosureInitialization = false,
|
||||
-- hideNamedConstructor = false,
|
||||
-- },
|
||||
-- },
|
||||
-- }
|
||||
-- }
|
||||
-- })
|
||||
vim.lsp.config('lua_ls', {
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = {
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
maxPreload = 100000,
|
||||
preloadFileSize = 100000,
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
vim.lsp.config('tinymist', {
|
||||
settings = {
|
||||
exportPdf = "onType",
|
||||
},
|
||||
})
|
||||
|
||||
vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = true})
|
||||
|
||||
@@ -14,6 +14,7 @@ vim.opt.winborder = 'none'
|
||||
|
||||
vim.opt.smartindent = true
|
||||
|
||||
vim.opt.foldlevel = 9999
|
||||
-- vim.opt.spell = true
|
||||
vim.opt.spelllang = 'en_us'
|
||||
|
||||
@@ -63,6 +64,8 @@ vim.g.netrw_keepdir = 0
|
||||
vim.g.netrw_preview = 1
|
||||
vim.g.netrw_alto = 0
|
||||
|
||||
vim.opt.exrc = true
|
||||
|
||||
vim.ui.select = Snacks.picker.select
|
||||
|
||||
-- vim.cmd('colorscheme carbonfox')
|
||||
@@ -82,6 +85,6 @@ vim.lsp.config('lua_ls', {
|
||||
vim.lsp.config('tinymist', {
|
||||
settings = {
|
||||
exportPdf = "onType",
|
||||
}
|
||||
},
|
||||
})
|
||||
vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = true})
|
||||
|
||||
@@ -151,11 +151,11 @@ return {
|
||||
-- refer to the configuration section below
|
||||
set_dark_mode = function()
|
||||
vim.api.nvim_set_option_value("background", "dark", {})
|
||||
vim.cmd('colorscheme carbonfox')
|
||||
vim.cmd('colorscheme rose-pine-main')
|
||||
end,
|
||||
set_light_mode = function()
|
||||
vim.api.nvim_set_option_value("background", "light", {})
|
||||
vim.cmd('colorscheme dawnfox')
|
||||
vim.cmd('colorscheme rose-pine-dawn')
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -34,22 +34,22 @@ return {
|
||||
ft = 'puml',
|
||||
},
|
||||
|
||||
{
|
||||
"S1M0N38/love2d.nvim",
|
||||
-- event = "VeryLazy",
|
||||
ft = 'lua',
|
||||
version = "2.*",
|
||||
opts = { },
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-neorg/neorg",
|
||||
-- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
|
||||
ft = 'norg',
|
||||
version = "*", -- Pin Neorg to the latest stable release
|
||||
config = true,
|
||||
},
|
||||
|
||||
-- {
|
||||
-- "S1M0N38/love2d.nvim",
|
||||
-- -- event = "VeryLazy",
|
||||
-- ft = 'lua',
|
||||
-- version = "2.*",
|
||||
-- opts = { },
|
||||
-- },
|
||||
--
|
||||
-- {
|
||||
-- "nvim-neorg/neorg",
|
||||
-- -- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
|
||||
-- ft = 'norg',
|
||||
-- version = "*", -- Pin Neorg to the latest stable release
|
||||
-- config = true,
|
||||
-- },
|
||||
--
|
||||
-- {
|
||||
-- "Olical/conjure"
|
||||
-- },
|
||||
|
||||
@@ -21,15 +21,6 @@ return {
|
||||
},
|
||||
},
|
||||
|
||||
-- {
|
||||
-- "MysticalDevil/inlay-hints.nvim",
|
||||
-- event = "LspAttach",
|
||||
-- dependencies = { "neovim/nvim-lspconfig" },
|
||||
-- config = function()
|
||||
-- require("inlay-hints").setup()
|
||||
-- end
|
||||
-- },
|
||||
--
|
||||
{
|
||||
'saghen/blink.cmp',
|
||||
-- optional: provides snippets for the snippet source
|
||||
|
||||
@@ -1,66 +1,39 @@
|
||||
return {
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
-- branch = 'main',
|
||||
'neovim-treesitter/nvim-treesitter',
|
||||
dependencies = { 'neovim-treesitter/treesitter-parser-registry' },
|
||||
branch = 'main',
|
||||
version = false,
|
||||
lazy = false,
|
||||
build = ':TSUpdate',
|
||||
config = function()
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
lookahead = true,
|
||||
keymaps = {
|
||||
["af"] = "@function.outer",
|
||||
["if"] = "@function.inner",
|
||||
}
|
||||
},
|
||||
move = {
|
||||
enable = true,
|
||||
set_jumps = false,
|
||||
goto_next_start = {
|
||||
[']a'] = '@parameter.inner',
|
||||
},
|
||||
goto_previous_start = {
|
||||
['[a'] = '@parameter.inner',
|
||||
}
|
||||
},
|
||||
},
|
||||
auto_install = true,
|
||||
highlight = {
|
||||
enable = true,
|
||||
},
|
||||
}
|
||||
local langs = require'nvim-treesitter'.get_installed('parsers')
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = langs,
|
||||
callback = function()
|
||||
vim.treesitter.start() -- highlighting
|
||||
vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()' -- folds
|
||||
vim.wo.foldmethod = 'expr'
|
||||
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" -- indentation
|
||||
end,
|
||||
})
|
||||
end
|
||||
},
|
||||
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||
branch = 'main',
|
||||
opts = {
|
||||
select = {
|
||||
lookahead = true,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
-- {
|
||||
-- 'folke/twilight.nvim',
|
||||
-- dependencies = {
|
||||
-- 'nvim-treesitter/nvim-treesitter',
|
||||
-- },
|
||||
-- cmd = {
|
||||
-- 'Twilight',
|
||||
-- 'TwilightEnable',
|
||||
-- 'TwilightDisable',
|
||||
-- },
|
||||
-- },
|
||||
|
||||
-- {
|
||||
-- 'RRethy/vim-illuminate',
|
||||
-- event = 'VeryLazy',
|
||||
-- lazy = false,
|
||||
-- },
|
||||
|
||||
{
|
||||
'0oAstro/dim.lua',
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
'neovim-treesitter/nvim-treesitter',
|
||||
'neovim/nvim-lspconfig'
|
||||
},
|
||||
event = 'LspAttach',
|
||||
|
||||
@@ -5,30 +5,12 @@ return {
|
||||
event = 'VeryLazy',
|
||||
},
|
||||
|
||||
-- {
|
||||
-- 'lukas-reineke/indent-blankline.nvim',
|
||||
-- event = 'VeryLazy',
|
||||
-- config = function()
|
||||
-- require'ibl'.setup{ scope = { enabled = false } }
|
||||
-- end
|
||||
-- },
|
||||
|
||||
{
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
-- event = 'VeryLazy',
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
-- {
|
||||
-- 'goolord/alpha-nvim',
|
||||
-- dependencies = {
|
||||
-- 'nvim-tree/nvim-web-devicons',
|
||||
-- },
|
||||
-- config = function()
|
||||
-- require('alpha').setup(require'alpha.themes.startify'.config)
|
||||
-- end
|
||||
-- },
|
||||
|
||||
{
|
||||
'lewis6991/gitsigns.nvim',
|
||||
event = 'VeryLazy',
|
||||
@@ -37,9 +19,9 @@ return {
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
'Bekaboo/dropbar.nvim',
|
||||
},
|
||||
-- {
|
||||
-- 'Bekaboo/dropbar.nvim',
|
||||
-- },
|
||||
|
||||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
@@ -52,8 +34,8 @@ return {
|
||||
for i, server in pairs(vim.lsp.get_clients({ bufnr = 0 })) do
|
||||
table.insert(names, server.name)
|
||||
end
|
||||
return " [" .. table.concat(names, " ") .. "]"
|
||||
-- return "[" .. table.concat(names, " ") .. "]"
|
||||
-- return " [" .. table.concat(names, " ") .. "]"
|
||||
return "[" .. table.concat(names, " ") .. "]"
|
||||
end
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
|
||||
@@ -1,21 +1,4 @@
|
||||
return {
|
||||
|
||||
{
|
||||
'nvim-lua/plenary.nvim',
|
||||
-- event = 'VeryLazy',
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{
|
||||
'RaafatTurki/hex.nvim',
|
||||
config = true,
|
||||
cmd = {
|
||||
'HexDump',
|
||||
'HexAssemble',
|
||||
'HexToggle',
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"sindrets/diffview.nvim",
|
||||
event = 'VeryLazy',
|
||||
@@ -29,11 +12,17 @@ return {
|
||||
-- this is equivalent to setup({}) function
|
||||
},
|
||||
|
||||
{
|
||||
'pechorin/any-jump.vim',
|
||||
config = function()
|
||||
vim.g.any_jump_search_prefered_engine = 'ag'
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"NeogitOrg/neogit",
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim", -- required
|
||||
"sindrets/diffview.nvim", -- optional - Diff integration
|
||||
|
||||
-- Only one of these is needed.
|
||||
@@ -44,6 +33,14 @@ return {
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"OXY2DEV/markview.nvim",
|
||||
lazy = false,
|
||||
|
||||
-- Completion for `blink.cmp`
|
||||
dependencies = { "saghen/blink.cmp" },
|
||||
},
|
||||
|
||||
{
|
||||
'vieitesss/command.nvim',
|
||||
lazy = false,
|
||||
@@ -51,12 +48,6 @@ return {
|
||||
opts = {},
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
'glacambre/firenvim',
|
||||
build = ":call firenvim#install(0)"
|
||||
},
|
||||
|
||||
{
|
||||
'brenoprata10/nvim-highlight-colors',
|
||||
event = 'VeryLazy',
|
||||
@@ -82,6 +73,19 @@ return {
|
||||
end
|
||||
},
|
||||
|
||||
{
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
---@module "ibl"
|
||||
---@type ibl.config
|
||||
opts = {
|
||||
scope = {
|
||||
show_start = false,
|
||||
show_end = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
priority = 1000,
|
||||
@@ -92,14 +96,36 @@ return {
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
bigfile = { enabled = true },
|
||||
-- dashboard = { enabled = true },
|
||||
dashboard = {
|
||||
enabled = true,
|
||||
presets = {
|
||||
},
|
||||
formats = {
|
||||
key = function(item)
|
||||
return { { "[", hl = "special" }, { item.key, hl = "key" }, { "]", hl = "special" } }
|
||||
end,
|
||||
},
|
||||
sections = {
|
||||
-- { section = "terminal", cmd = "fortune -s | cowsay", hl = "header", padding = 1, indent = 8 },
|
||||
{ section = "header" },
|
||||
{ section = "startup" },
|
||||
{ title = "MRU", padding = 1 },
|
||||
{ section = "recent_files", limit = 8, padding = 1 },
|
||||
{ title = "MRU ", file = vim.fn.fnamemodify(".", ":~"), padding = 1 },
|
||||
{ section = "recent_files", cwd = true, limit = 8, padding = 1 },
|
||||
{ title = "Sessions", padding = 1 },
|
||||
{ section = "projects", padding = 1 },
|
||||
{ title = "Bookmarks", padding = 1 },
|
||||
{ section = "keys" },
|
||||
},
|
||||
},
|
||||
dim = { enabled = true },
|
||||
-- explorer = { enabled = true },
|
||||
-- git = { enabled = false },
|
||||
image = {
|
||||
enabled = true
|
||||
},
|
||||
indent = { enabled = true },
|
||||
indent = { enabled = false },
|
||||
input = { enabled = true },
|
||||
lazygit = { enabled = false },
|
||||
picker = {
|
||||
@@ -113,92 +139,57 @@ return {
|
||||
},
|
||||
notifier = { enabled = true },
|
||||
-- quickfile = { enabled = true },
|
||||
-- scope = { enabled = true },
|
||||
scope = { enabled = true },
|
||||
-- scroll = { enabled = true },
|
||||
terminal = { enabled = false },
|
||||
-- statuscolumn = { enabled = true },
|
||||
-- words = { enabled = true },
|
||||
words = { enabled = true },
|
||||
zen = {
|
||||
enabled = true,
|
||||
-- toggles = {
|
||||
-- git_signs = true,
|
||||
-- },
|
||||
win = {
|
||||
backdrop = {
|
||||
transparent = false,
|
||||
blend = 99,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
'echasnovski/mini.nvim',
|
||||
config = function()
|
||||
require('mini.starter').setup()
|
||||
-- require('mini.cursorword').setup()
|
||||
local miniclue = require'mini.clue'
|
||||
miniclue.setup{
|
||||
window = {
|
||||
delay = 0,
|
||||
config = {
|
||||
width = 'auto',
|
||||
},
|
||||
},
|
||||
triggers = {
|
||||
-- Leader triggers
|
||||
{ mode = 'n', keys = '<Leader>' },
|
||||
{ mode = 'x', keys = '<Leader>' },
|
||||
|
||||
-- Built-in completion
|
||||
{ mode = 'i', keys = '<C-x>' },
|
||||
|
||||
-- `g` key
|
||||
{ mode = 'n', keys = 'g' },
|
||||
{ mode = 'x', keys = 'g' },
|
||||
|
||||
-- Next
|
||||
{ mode = 'n', keys = '['},
|
||||
{ mode = 'n', keys = ']'},
|
||||
{ mode = 'x', keys = '['},
|
||||
{ mode = 'x', keys = ']'},
|
||||
|
||||
-- Marks
|
||||
{ mode = 'n', keys = "'" },
|
||||
{ mode = 'n', keys = '`' },
|
||||
{ mode = 'x', keys = "'" },
|
||||
{ mode = 'x', keys = '`' },
|
||||
|
||||
-- Registers
|
||||
{ mode = 'n', keys = '"' },
|
||||
{ mode = 'x', keys = '"' },
|
||||
{ mode = 'i', keys = '<C-r>' },
|
||||
{ mode = 'c', keys = '<C-r>' },
|
||||
|
||||
-- Window commands
|
||||
{ mode = 'n', keys = '<C-w>' },
|
||||
|
||||
-- `z` key
|
||||
{ mode = 'n', keys = 'z' },
|
||||
{ mode = 'x', keys = 'z' },
|
||||
|
||||
-- Localleader
|
||||
{ mode = 'n', keys = '<Localleader>'},
|
||||
{ mode = 'x', keys = '<Localleader>'},
|
||||
},
|
||||
|
||||
clues = {
|
||||
-- Enhance this by adding descriptions for <Leader> mapping groups
|
||||
miniclue.gen_clues.builtin_completion(),
|
||||
miniclue.gen_clues.g(),
|
||||
miniclue.gen_clues.marks(),
|
||||
miniclue.gen_clues.registers(),
|
||||
miniclue.gen_clues.windows(),
|
||||
miniclue.gen_clues.z(),
|
||||
|
||||
{ mode = 'n', keys = '<leader>f', desc = '+Find' },
|
||||
{ mode = 'x', keys = '<leader>f', desc = '+Find' },
|
||||
|
||||
{ mode = 'n', keys = '<leader>o', desc = '+Open' },
|
||||
{ mode = 'x', keys = '<leader>o', desc = '+Open' },
|
||||
|
||||
{ mode = 'n', keys = '<leader>g', desc = '+Git' },
|
||||
{ mode = 'x', keys = '<leader>g', desc = '+Git' },
|
||||
|
||||
{ mode = 'n', keys = '<leader>c', desc = '+Compile' },
|
||||
{ mode = 'x', keys = '<leader>c', desc = '+Compile' },
|
||||
},
|
||||
}
|
||||
end
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
preset = 'helix',
|
||||
sort = { "order", "alphanum", "local", "mod" },
|
||||
win = {
|
||||
border = 'none',
|
||||
},
|
||||
icons = {
|
||||
rules = false,
|
||||
},
|
||||
spec = {
|
||||
{ '<leader>f', group = 'Find' },
|
||||
{ '<leader>o', group = 'Open' },
|
||||
{ '<leader>g', group = 'Git' },
|
||||
{ '<leader>c', group = 'Compile' },
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = false })
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
@@ -206,6 +197,10 @@ return {
|
||||
---@module 'oil'
|
||||
---@type oil.SetupOpts
|
||||
opts = {
|
||||
win_options = {
|
||||
winbar = "%#@attribute.builtin#%{substitute(v:lua.require('oil').get_current_dir(), '^' . $HOME, '~', '')}",
|
||||
},
|
||||
|
||||
triggers = {
|
||||
{ 'g', mode = { 'n', 'x' } },
|
||||
},
|
||||
@@ -267,98 +262,98 @@ return {
|
||||
event = 'VeryLazy',
|
||||
},
|
||||
|
||||
{
|
||||
"jake-stewart/multicursor.nvim",
|
||||
branch = "1.0",
|
||||
config = function()
|
||||
local mc = require("multicursor-nvim")
|
||||
mc.setup()
|
||||
|
||||
local set = vim.keymap.set
|
||||
|
||||
-- Add or skip cursor above/below the main cursor.
|
||||
set({"n", "x"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
|
||||
set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
|
||||
set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
|
||||
set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
|
||||
set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" })
|
||||
set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" })
|
||||
|
||||
-- Add or skip adding a new cursor by matching word/selection
|
||||
set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" })
|
||||
set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" })
|
||||
set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" })
|
||||
set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" })
|
||||
|
||||
set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" })
|
||||
set("n", "<localleader>s", function()
|
||||
vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end)
|
||||
end, { desc = "Add cursors to regex match inside text object " })
|
||||
set("n", "<localleader>*", function()
|
||||
mc.operator({pattern = vim.fn.expand("<cword>")})
|
||||
end, { desc = "Add cursors to current word inside text object" })
|
||||
set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" })
|
||||
|
||||
-- Add cursor at next argument treesitter
|
||||
set({'n', 'x'}, ']A', function()
|
||||
if vim.v.count < 1 then
|
||||
mc.addCursor(']a')
|
||||
else
|
||||
for _=1, vim.v.count - 1 do
|
||||
mc.addCursor(']a')
|
||||
end
|
||||
end
|
||||
end, { desc = 'Create multicursor on next argument'})
|
||||
set({'n', 'x'}, '[A', function()
|
||||
if vim.v.count < 1 then
|
||||
mc.addCursor('[a')
|
||||
else
|
||||
for _=1, vim.v.count - 1 do
|
||||
mc.addCursor('[a')
|
||||
end
|
||||
end
|
||||
end, { desc = 'Create multicursor on previous argument'})
|
||||
|
||||
-- Add and remove cursors with control + left click.
|
||||
set("n", "<c-leftmouse>", mc.handleMouse)
|
||||
set("n", "<c-leftdrag>", mc.handleMouseDrag)
|
||||
set("n", "<c-leftrelease>", mc.handleMouseRelease)
|
||||
|
||||
-- Disable and enable cursors.
|
||||
set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" })
|
||||
|
||||
-- Mappings defined in a keymap layer only apply when there are
|
||||
-- multiple cursors. This lets you have overlapping mappings.
|
||||
mc.addKeymapLayer(function(layerSet)
|
||||
|
||||
-- Select a different cursor as the main one.
|
||||
layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" })
|
||||
layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" })
|
||||
layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" })
|
||||
layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" })
|
||||
|
||||
-- Delete the main cursor.
|
||||
layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
|
||||
|
||||
-- Enable and clear cursors using escape.
|
||||
layerSet("n", "<esc>", function()
|
||||
if not mc.cursorsEnabled() then
|
||||
mc.enableCursors()
|
||||
else
|
||||
mc.clearCursors()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
-- Customize how cursors look.
|
||||
local hl = vim.api.nvim_set_hl
|
||||
hl(0, "MultiCursorCursor", { reverse = true })
|
||||
hl(0, "MultiCursorVisual", { link = "Visual" })
|
||||
hl(0, "MultiCursorSign", { link = "SignColumn"})
|
||||
hl(0, "MultiCursorMatchPreview", { link = "Search" })
|
||||
hl(0, "MultiCursorDisabledCursor", { reverse = true })
|
||||
hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
|
||||
hl(0, "MultiCursorDisabledSign", { link = "SignColumn"})
|
||||
end
|
||||
},
|
||||
-- {
|
||||
-- "jake-stewart/multicursor.nvim",
|
||||
-- branch = "1.0",
|
||||
-- config = function()
|
||||
-- local mc = require("multicursor-nvim")
|
||||
-- mc.setup()
|
||||
--
|
||||
-- local set = vim.keymap.set
|
||||
--
|
||||
-- -- Add or skip cursor above/below the main cursor.
|
||||
-- set({"n", "x"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
|
||||
-- set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
|
||||
-- set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
|
||||
-- set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
|
||||
-- set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" })
|
||||
-- set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" })
|
||||
--
|
||||
-- -- Add or skip adding a new cursor by matching word/selection
|
||||
-- set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" })
|
||||
-- set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" })
|
||||
-- set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" })
|
||||
-- set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" })
|
||||
--
|
||||
-- set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" })
|
||||
-- set("n", "<localleader>s", function()
|
||||
-- vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end)
|
||||
-- end, { desc = "Add cursors to regex match inside text object " })
|
||||
-- set("n", "<localleader>*", function()
|
||||
-- mc.operator({pattern = vim.fn.expand("<cword>")})
|
||||
-- end, { desc = "Add cursors to current word inside text object" })
|
||||
-- set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" })
|
||||
--
|
||||
-- -- Add cursor at next argument treesitter
|
||||
-- set({'n', 'x'}, ']A', function()
|
||||
-- if vim.v.count < 1 then
|
||||
-- mc.addCursor(']p')
|
||||
-- else
|
||||
-- for _=1, vim.v.count - 1 do
|
||||
-- mc.addCursor(']p')
|
||||
-- end
|
||||
-- end
|
||||
-- end, { desc = 'Create multicursor on next argument'})
|
||||
-- set({'n', 'x'}, '[A', function()
|
||||
-- if vim.v.count < 1 then
|
||||
-- mc.addCursor('[p')
|
||||
-- else
|
||||
-- for _=1, vim.v.count - 1 do
|
||||
-- mc.addCursor('[p')
|
||||
-- end
|
||||
-- end
|
||||
-- end, { desc = 'Create multicursor on previous argument'})
|
||||
--
|
||||
-- -- Add and remove cursors with control + left click.
|
||||
-- set("n", "<c-leftmouse>", mc.handleMouse)
|
||||
-- set("n", "<c-leftdrag>", mc.handleMouseDrag)
|
||||
-- set("n", "<c-leftrelease>", mc.handleMouseRelease)
|
||||
--
|
||||
-- -- Disable and enable cursors.
|
||||
-- set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" })
|
||||
--
|
||||
-- -- Mappings defined in a keymap layer only apply when there are
|
||||
-- -- multiple cursors. This lets you have overlapping mappings.
|
||||
-- mc.addKeymapLayer(function(layerSet)
|
||||
--
|
||||
-- -- Select a different cursor as the main one.
|
||||
-- layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" })
|
||||
-- layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" })
|
||||
-- layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" })
|
||||
-- layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" })
|
||||
--
|
||||
-- -- Delete the main cursor.
|
||||
-- layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
|
||||
--
|
||||
-- -- Enable and clear cursors using escape.
|
||||
-- layerSet("n", "<esc>", function()
|
||||
-- if not mc.cursorsEnabled() then
|
||||
-- mc.enableCursors()
|
||||
-- else
|
||||
-- mc.clearCursors()
|
||||
-- end
|
||||
-- end)
|
||||
-- end)
|
||||
--
|
||||
-- -- Customize how cursors look.
|
||||
-- local hl = vim.api.nvim_set_hl
|
||||
-- hl(0, "MultiCursorCursor", { reverse = true })
|
||||
-- hl(0, "MultiCursorVisual", { link = "Visual" })
|
||||
-- hl(0, "MultiCursorSign", { link = "SignColumn"})
|
||||
-- hl(0, "MultiCursorMatchPreview", { link = "Search" })
|
||||
-- hl(0, "MultiCursorDisabledCursor", { reverse = true })
|
||||
-- hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
|
||||
-- hl(0, "MultiCursorDisabledSign", { link = "SignColumn"})
|
||||
-- end
|
||||
-- },
|
||||
}
|
||||
|
||||
@@ -7,3 +7,4 @@ https://www.amazon.com/ap/signin Amazon Sign-In
|
||||
https://blackhawk.cps.golf/onlineresweb/teetime/checkout?id=2390546 Black Hawk Online Booking Engine
|
||||
https://boardsource.xyz/cart Boardsource - MBK Low Pro Keycaps
|
||||
https://www.gouletpens.com/26032528/checkouts/1f056f22cfa3f632ef0ba6e960fa297e?previous_step=shipping_method&step=payment_method https://www.gouletpens.com/26032528/checkouts/1f056f22cfa3f632ef0ba6e960fa297e?previous_step=shipping_method&step=payment_method
|
||||
https://online.cartus.com/resp/Main#/addElectronicReimbursement?PageType=0 CartusOnline - Bank Account Information
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# Note: the "Super" modifier is also known as Logo, GUI, Windows, Mod4, etc.
|
||||
|
||||
# Super+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot)
|
||||
riverctl map normal Super Return spawn alacritty
|
||||
riverctl map normal Super Return spawn wezterm
|
||||
|
||||
riverctl map normal Super D spawn 'bemenu-run --fn "Iosevka Term SS12 14"'
|
||||
# Super+Q to close the focused view
|
||||
@@ -169,10 +169,9 @@ riverctl focus-follows-cursor normal
|
||||
|
||||
riverctl map normal Super+Control O spawn 'mumble rpc starttalking'
|
||||
riverctl map normal Super O spawn 'mumble rpc stoptalking'
|
||||
riverctl map normal Super Escape spawn 'swaylock -f -C ~/.config/sway/rose-pine'
|
||||
riverctl map normal Super Escape spawn 'swaylock -f' #-C ~/.config/sway/rose-pine'
|
||||
swaybg -m fill -i $HOME/Pictures/wallpapers/wallpaper &
|
||||
# pgrep creek || ( while $HOME/.config/river/bar.sh; do sleep 1; done ) | creek -fn 'Ubuntu:size=14' -nf 0xb8b8b8 -nb 0x282828 -ff 0x181818 -fb 0x7cafc2
|
||||
pipewire-launch &
|
||||
waybar &
|
||||
wlr-randr --output DP-2 --adaptive-sync enabled --mode 2560x1440@165Hz
|
||||
wlr-randr --output DP-2 --adaptive-sync enabled --mode 2560x1440@165Hz --output HDMI-A-1 --left-of DP-2
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP='river'
|
||||
waybar &
|
||||
|
||||
@@ -1,158 +0,0 @@
|
||||
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; Place your private configuration here! Remember, you do not need to run 'doom
|
||||
;; sync' after modifying this file!
|
||||
|
||||
|
||||
;; Some functionality uses this to identify you, e.g. GPG configuration, email
|
||||
;; clients, file templates and snippets.
|
||||
(setq user-full-name "Michael Chalupiak"
|
||||
user-mail-address "mikecchalupiak@outlook.com")
|
||||
|
||||
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
|
||||
;; are the three important ones:
|
||||
;;
|
||||
;; + `doom-font'
|
||||
;; + `doom-variable-pitch-font'
|
||||
;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for
|
||||
;; presentations or streaming.
|
||||
;;
|
||||
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
|
||||
;; font string. You generally only need these two:
|
||||
(setq doom-font (font-spec :family "Iosevka Term SS12" :size 18)
|
||||
doom-variable-pitch-font (font-spec :family "Cantarell" :size 18 :weight 'bold))
|
||||
|
||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||
;; `load-theme' function. This is the default:
|
||||
(setq doom-theme 'doom-gruvbox)
|
||||
|
||||
;; If you use `org' and don't want your org files in the default location below,
|
||||
;; change `org-directory'. It must be set before org loads!
|
||||
(setq org-directory "~/org/")
|
||||
|
||||
;; This determines the style of line numbers in effect. If set to `nil', line
|
||||
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
||||
(setq display-line-numbers-type 'relative)
|
||||
|
||||
|
||||
;; Here are some additional functions/macros that could help you configure Doom:
|
||||
;;
|
||||
;; - `load!' for loading external *.el files relative to this one
|
||||
;; - `use-package!' for configuring packages
|
||||
;; - `after!' for running code after a package has loaded
|
||||
;; - `add-load-path!' for adding directories to the `load-path', relative to
|
||||
;; this file. Emacs searches the `load-path' when you load packages with
|
||||
;; `require' or `use-package'.
|
||||
;; - `map!' for binding new keys
|
||||
;;
|
||||
;; To get information about any of these functions/macros, move the cursor over
|
||||
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
|
||||
;; This will open documentation for it, including demos of how they are used.
|
||||
;;
|
||||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||
;; they are implemented.
|
||||
|
||||
;; Custom Config ;;
|
||||
|
||||
;; fixes slow vterm performance (especially in cava)
|
||||
(setq vterm-timer-delay 0.001)
|
||||
|
||||
;; deft directory & recursive search in that directory
|
||||
;; (setq deft-directory "~/notes")
|
||||
;; (setq deft-recursive t)
|
||||
;; set naming rules for deft
|
||||
;; (setq deft-org-mode-title-prefix t)
|
||||
;; (setq deft-file-naming-rules
|
||||
;; '((noslash . "-")
|
||||
;; (nospace . "-")
|
||||
;; (case-fn . downcase)))
|
||||
|
||||
;; enable tree-sitter
|
||||
;; (global-tree-sitter-mode)
|
||||
|
||||
;; enable tree-sitter syntax highlighting
|
||||
;; (add-hook 'c-mode-hook #'tree-sitter-hl-mode)
|
||||
(global-flycheck-mode t)
|
||||
(global-prettify-symbols-mode)
|
||||
(global-display-fill-column-indicator-mode)
|
||||
(after! js
|
||||
(setq-default js--prettify-symbols-alist '()))
|
||||
(add-hook 'typescript-tsx-mode-hook
|
||||
(lambda () (setq prettify-symbols-alist '())))
|
||||
(defun racket-alist-hook-function () (push '("lambda" . ?λ) prettify-symbols-alist))
|
||||
(add-hook 'racket-mode-hook
|
||||
'racket-alist-hook-function)
|
||||
|
||||
;;(setq mpc-host "137.112.200.154")
|
||||
(setq mpc-browser-tags '(Artist Album|Playlist Title|File))
|
||||
(add-hook 'mpc-mode-hook
|
||||
(lambda ()
|
||||
(keymap-local-set "C-k" 'windmove-up)
|
||||
(keymap-local-set "C-j" 'windmove-down)
|
||||
(keymap-local-set "C-h" 'windmove-left)
|
||||
(keymap-local-set "C-l" 'windmove-right)
|
||||
(keymap-local-set "C-q" 'mpc-quit)
|
||||
(keymap-local-set "a" (lambda () (interactive) (mpc-select) (mpc-playlist-add)))
|
||||
(keymap-local-set "D" (lambda () (interactive) (mpc-select) (mpc-playlist-delete)))))
|
||||
(add-hook 'mpc-songs-mode-hook
|
||||
(lambda ()
|
||||
(keymap-local-set "p" 'mpc-playlist)))
|
||||
;; (keymap-local-set "C-<return>" 'mpc-play-at-point)
|
||||
;; (keymap-local-set "<SPC>" 'mpc-toggle-play)
|
||||
;; (keymap-local-set "s" 'mpc-toggle-shuffle)
|
||||
;; (keymap-local-set "n" 'next-line)
|
||||
;; (keymap-local-set "p" 'previous-line)
|
||||
;; (keymap-local-set "f" 'mpc-next)
|
||||
;; (keymap-local-set "b" 'mpc-prev)))
|
||||
|
||||
(after! mu4e
|
||||
(setq sendmail-program (executable-find "msmtp")
|
||||
send-mail-function #'smtpmail-send-it
|
||||
message-sendmail-f-is-evil t
|
||||
message-sendmail-extra-arguments '("--read-envelope-from")
|
||||
message-send-mail-function #'message-send-mail-with-sendmail))
|
||||
(set-email-account! "mikec@mchalupiak.com"
|
||||
'((mu4e-sent-folder . "/mikec@mchalupiak.com/Sent")
|
||||
(mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts")
|
||||
(mu4e-trash-folder . "/mikec@mchalupiak.com/Junk")
|
||||
(mu4e-refile-folder . "/mikec@mchalupiak.com/INBOX"))
|
||||
;;(smtpmail-smtp-user . "foo@bar.com")
|
||||
;;(user-mail-address . "foo@bar.com") ;; only needed for mu < 1.4
|
||||
;;(mu4e-compose-signature . "---\nYours truly\nThe Baz"))
|
||||
t)
|
||||
(set-email-account! "mikecchalupiak@outlook.com"
|
||||
'((mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent")
|
||||
(mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts")
|
||||
(mu4e-trash-folder . "/mikecchalupiak@outlook.com/Junk")
|
||||
(mu4e-refile-folder . "/mikecchalupiak@outlook.com/INBOX"))
|
||||
;;(smtpmail-smtp-user . "foo@bar.com")
|
||||
;;(user-mail-address . "foo@bar.com") ;; only needed for mu < 1.4
|
||||
;;(mu4e-compose-signature . "---\nYours truly\nThe Baz"))
|
||||
t)
|
||||
|
||||
(set-email-account! "chalupmc@rose-hulman.edu"
|
||||
'((mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent")
|
||||
(mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts")
|
||||
(mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Junk")
|
||||
(mu4e-refile-folder . "/chalupmc@rose-hulman.edu/INBOX"))
|
||||
;;(smtpmail-smtp-user . "foo@bar.com")
|
||||
;;(user-mail-address . "foo@bar.com") ;; only needed for mu < 1.4
|
||||
;;(mu4e-compose-signature . "---\nYours truly\nThe Baz"))
|
||||
t)
|
||||
;;(setq +notmuch-sync-backend 'mbsync)
|
||||
|
||||
(defun open-mpc () (interactive)
|
||||
(setq mpc-host (read-string "IP Address:"))
|
||||
(call-interactively 'mpc))
|
||||
|
||||
;; (set-frame-parameter nil 'alpha-background 80) ; For current frame
|
||||
;; (add-to-list 'default-frame-alist '(alpha-background . 80)) ; For all new frames henceforth
|
||||
(setq inhibit-x-resources t)
|
||||
|
||||
(require 'dime)
|
||||
(dime-setup '(dime-repl dime-note-tree))
|
||||
(setq dime-dylan-implementations
|
||||
'((opendylan ("/home/mikec/Documents/suckless/dylan/opendylan-2024.1/bin/dswank")
|
||||
:env ("OPEN_DYLAN_USER_REGISTRIES=/tmp/dime-test/registry"))))
|
||||
(add-to-list 'default-frame-alist '(undecorated . t))
|
||||
@@ -1,28 +0,0 @@
|
||||
;;; custom.el --- -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2023 Michael Chalupiak
|
||||
|
||||
;; Author: Michael Chalupiak <mikecchalupiak@outlook.com>
|
||||
;; Keywords:
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(custom-safe-themes
|
||||
'("56044c5a9cc45b6ec45c0eb28df100d3f0a576f18eef33ff8ff5d32bac2d9700"
|
||||
"48042425e84cd92184837e01d0b4fe9f912d875c43021c3bcb7eeb51f1be5710"
|
||||
"09e98c608045c7778c67d5671161cfbb741cc25350abe61e3eb2ce798bb88209"
|
||||
"691d671429fa6c6d73098fc6ff05d4a14a323ea0a18787daeb93fde0e48ab18b"
|
||||
"e3daa8f18440301f3e54f2093fe15f4fe951986a8628e98dcd781efbec7a46f2"
|
||||
"8c7e832be864674c220f9a9361c851917a93f921fedb7717b1b5ece47690c098"
|
||||
"e4a702e262c3e3501dfe25091621fe12cd63c7845221687e36a79e17cf3a67e0"
|
||||
"f5f80dd6588e59cfc3ce2f11568ff8296717a938edd448a947f9823a4e282b66" default))
|
||||
'(magit-todos-insert-after '(bottom) nil nil "Changed by setter of obsolete option `magit-todos-insert-at'")
|
||||
'(package-selected-packages '(lsp-ui vlf)))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(ts-fold-replacement-face ((t (:foreground unspecified :box nil :inherit font-lock-comment-face :weight light)))))
|
||||
@@ -1,195 +0,0 @@
|
||||
;;; init.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; This file controls what Doom modules are enabled and what order they load
|
||||
;; in. Remember to run 'doom sync' after modifying it!
|
||||
|
||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a link to Doom's Module Index where all
|
||||
;; of our modules are listed, including what flags they support.
|
||||
|
||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||
;; flags as well (those symbols that start with a plus).
|
||||
;;
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
|
||||
(doom! :input
|
||||
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
|
||||
;;chinese
|
||||
;;japanese
|
||||
;;layout ; auie,ctsrnm is the superior home row
|
||||
|
||||
:completion
|
||||
company ; the ultimate code completion backend
|
||||
;;helm ; the *other* search engine for love and life
|
||||
;;ido ; the other *other* search engine...
|
||||
;;ivy ; a search engine for love and life
|
||||
vertico ; the search engine of the future
|
||||
|
||||
:ui
|
||||
;;deft ; notational velocity for Emacs
|
||||
doom ; what makes DOOM look the way it does
|
||||
doom-dashboard ; a nifty splash screen for Emacs
|
||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
(emoji +unicode) ; 🙂
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
;;hydra
|
||||
indent-guides ; highlighted indent columns
|
||||
ligatures ; ligatures and symbols to make your code pretty again
|
||||
;;minimap ; show a map of the code on the side
|
||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
nav-flash ; blink cursor line after big motions
|
||||
;;neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||
;;tabs ; a tab bar for Emacs
|
||||
;;treemacs ; a project drawer, like neotree but cooler
|
||||
unicode ; extended unicode support for various languages
|
||||
(vc-gutter +pretty) ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
;;window-select ; visually switch windows
|
||||
;;workspaces ; tab emulation, persistence & separate workspaces
|
||||
zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
;; (evil +everywhere); come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
;;lispy ; vim for lisp, for people who don't like vim
|
||||
;;multiple-cursors ; editing in many places at once
|
||||
;;objed ; text object editing for the innocent
|
||||
parinfer ; turn lisp into python, sort of
|
||||
;;rotate-text ; cycle region at point between text candidates
|
||||
snippets ; my elves. They type so I don't have to
|
||||
word-wrap ; soft wrapping with language-aware indent
|
||||
|
||||
:emacs
|
||||
dired ; making dired pretty [functional]
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
;;ibuffer ; interactive buffer management
|
||||
undo ; persistent, smarter undo for your inevitable mistakes
|
||||
vc ; version-control and Emacs, sitting in a tree
|
||||
|
||||
:term
|
||||
eshell ; the elisp shell that works everywhere
|
||||
;;shell ; simple shell REPL for Emacs
|
||||
;;term ; basic terminal emulator for Emacs
|
||||
vterm ; the best terminal emulation in Emacs
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
;;biblio ; Writes a PhD for you (citation needed)
|
||||
;;collab ; buffers with friends
|
||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
;;docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
(lookup +dictonary +offline) ; navigate your code and its documentation
|
||||
lsp ; M-x vscode
|
||||
magit ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
;;pass ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
;;prodigy ; FIXME managing external services & code builders
|
||||
;;rgb ; creating color strings
|
||||
;;taskrunner ; taskrunner for all your projects
|
||||
;;terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
(:if IS-MAC macos) ; improve compatibility with macOS
|
||||
tty ; improve the terminal Emacs experience
|
||||
|
||||
:lang
|
||||
;;agda ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
(cc +lsp +tree-sitter) ; C > C++ == 1
|
||||
(clojure +tree-sitter +lsp) ; java with a lisp
|
||||
common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
;;csharp ; unity, .NET, and mono shenanigans
|
||||
data ; config/data formats
|
||||
;;(dart +flutter) ; paint ui and not much else
|
||||
;;dhall
|
||||
(elixir +lsp +tree-sitter) ; erlang done right
|
||||
;;elm ; care for a cup of TEA?
|
||||
emacs-lisp ; drown in parentheses
|
||||
;;erlang ; an elegant language for a more civilized age
|
||||
;;ess ; emacs speaks statistics
|
||||
;;factor
|
||||
;;faust ; dsp, but you get to keep your soul
|
||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
||||
;;fsharp ; ML stands for Microsoft's Language
|
||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||
;;gdscript ; the language you waited for
|
||||
(go +lsp +tree-sitter) ; the hipster dialect
|
||||
;;(graphql +lsp) ; Give queries a REST
|
||||
(haskell +lsp +tree-sitter) ; a language that's lazier than I am
|
||||
;;hy ; readability of scheme w/ speed of python
|
||||
;;idris ; a language you can depend on
|
||||
(json +tree-sitter) ; At least it ain't XML
|
||||
(java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome
|
||||
(javascript +lsp +tree-sitter) ; all(hope(abandon(ye(who(enter(here))))))
|
||||
(julia +tree-sitter) ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
(latex +lsp) ; writing papers in Emacs has never been so fun
|
||||
;;lean ; for folks with too much to prove
|
||||
;;ledger ; be audit you can be
|
||||
(lua +tree-sitter) ; one-based indices? one-based indices
|
||||
markdown ; writing docs for people to ignore
|
||||
;;nim ; python + lisp at the speed of c
|
||||
;;nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
org ; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
(python +lsp +tree-sitter) ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
(racket +lsp +xp) ; a DSL for DSLs
|
||||
;;raku ; the artist formerly known as perl6
|
||||
(rest +jq) ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
(ruby +lsp +tree-sitter +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
(rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
(scheme +chicken) ; a fully conniving family of lisps
|
||||
(sh +fish +powershell +lsp +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
(web +lsp +tree-sitter) ; the tubes
|
||||
(yaml +tree-sitter) ; JSON, but readable
|
||||
(zig +lsp +tree-sitter) ; C, but simpler
|
||||
|
||||
:email
|
||||
(mu4e +org +mbsync)
|
||||
;;(notmuch +org)
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
:app
|
||||
;;calendar
|
||||
emms
|
||||
;;everywhere ; *leave* Emacs!? You must be joking
|
||||
;;irc ; how neckbeards socialize
|
||||
;;(rss +org) ; emacs as an RSS reader
|
||||
;;twitter ; twitter client https://twitter.com/vnought
|
||||
|
||||
:config
|
||||
;;literate
|
||||
(default +bindings +smartparens))
|
||||
@@ -1,57 +0,0 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; $DOOMDIR/packages.el
|
||||
|
||||
;; To install a package with Doom you must declare them here and run 'doom sync'
|
||||
;; on the command line, then restart Emacs for the changes to take effect -- or
|
||||
;; use 'M-x doom/reload'.
|
||||
|
||||
|
||||
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
||||
;(package! some-package)
|
||||
|
||||
;; To install a package directly from a remote git repo, you must specify a
|
||||
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
|
||||
;; https://github.com/radian-software/straight.el#the-recipe-format
|
||||
;(package! another-package
|
||||
; :recipe (:host github :repo "username/repo"))
|
||||
|
||||
;; If the package you are trying to install does not contain a PACKAGENAME.el
|
||||
;; file, or is located in a subdirectory of the repo, you'll need to specify
|
||||
;; `:files' in the `:recipe':
|
||||
;(package! this-package
|
||||
; :recipe (:host github :repo "username/repo"
|
||||
; :files ("some-file.el" "src/lisp/*.el")))
|
||||
|
||||
;; If you'd like to disable a package included with Doom, you can do so here
|
||||
;; with the `:disable' property:
|
||||
;(package! builtin-package :disable t)
|
||||
|
||||
;; You can override the recipe of a built in package without having to specify
|
||||
;; all the properties for `:recipe'. These will inherit the rest of its recipe
|
||||
;; from Doom or MELPA/ELPA/Emacsmirror:
|
||||
;(package! builtin-package :recipe (:nonrecursive t))
|
||||
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
||||
|
||||
;; Specify a `:branch' to install a package from a particular branch or tag.
|
||||
;; This is required for some packages whose default branch isn't 'master' (which
|
||||
;; our package manager can't deal with; see radian-software/straight.el#279)
|
||||
;(package! builtin-package :recipe (:branch "develop"))
|
||||
|
||||
;; Use `:pin' to specify a particular commit to install.
|
||||
;(package! builtin-package :pin "1a2b3c4d5e")
|
||||
|
||||
|
||||
;; Doom's packages are pinned to a specific commit and updated from release to
|
||||
;; release. The `unpin!' macro allows you to unpin single packages...
|
||||
;(unpin! pinned-package)
|
||||
;; ...or multiple packages
|
||||
;(unpin! pinned-package another-pinned-package)
|
||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||
;(unpin! t)
|
||||
(package! rose-pine-doom-emacs
|
||||
:recipe (:host github :repo "donniebreve/rose-pine-doom-emacs"
|
||||
:files ("doom-rose-pine-theme.el" "doom-rose-pine-moon-theme.el" "doom-rose-pine-dawn-theme.el")
|
||||
:pre-build ("make" "install")))
|
||||
(package! dylan)
|
||||
(package! dime)
|
||||
(package! vlf)
|
||||
@@ -1,237 +0,0 @@
|
||||
;;; doom-rose-pine-dawn-theme.el --- A light port of Rose Piné Dawn theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;
|
||||
;; Author: mvllow
|
||||
;; Ported by: donniebreve
|
||||
;; Keywords: custom themes, faces
|
||||
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
|
||||
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Thanks to mvllow (https://github.com/rose-pine)
|
||||
;; Thanks to hlissner (https://github.com/doomemacs/themes)
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(require 'doom-themes)
|
||||
|
||||
;;; Variables
|
||||
(defgroup doom-rose-pine-dawn-theme nil
|
||||
"Options for the `doom-rose-pine-dawn' theme."
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-rose-pine-dawn-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-rose-pine-dawn-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-dawn-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-rose-pine-dawn-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-dawn-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
|
||||
:group 'doom-rose-pine-dawn-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
;;; Theme definition
|
||||
(def-doom-theme doom-rose-pine-dawn
|
||||
"A light port of Rosé Pine Dawn theme"
|
||||
|
||||
;; Main theme colors
|
||||
(
|
||||
;; name default 256 16
|
||||
(base '("#faf4ed" "#faf4ed" "black" ))
|
||||
(surface '("#fffaf3" "#fffaf3" "brightblack" ))
|
||||
(overlay '("#f2e9de" "#f2e9de" "brightblack" ))
|
||||
(muted '("#9893a5" "#9893a5" "brightblack" ))
|
||||
(subtle '("#797593" "#797593" "brightblack" ))
|
||||
(text '("#575279" "#575279" "brightblack" ))
|
||||
(love '("#b4637a" "#b4637a" "red" ))
|
||||
(gold '("#ea9d34" "#ea9d34" "white" ))
|
||||
(rose '("#d7827e" "#d7827e" "white" ))
|
||||
(pine '("#286983" "#286983" "white" ))
|
||||
(foam '("#56949f" "#56949f" "white" ))
|
||||
(iris '("#907aa9" "#907aa9" "white" ))
|
||||
(highlightL '("#f4ede8" "#f4ede8" "grey" ))
|
||||
(highlightM '("#dfdad9" "#dfdad9" "grey" ))
|
||||
(highlightH '("#cecacd" "#cecacd" "grey" ))
|
||||
|
||||
;; Variables required by doom theme
|
||||
(bg base)
|
||||
(fg text)
|
||||
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
|
||||
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
|
||||
;; or region), especially when paired with the `doom-darken', `doom-lighten',
|
||||
;; and `doom-blend' helper functions.
|
||||
(bg-alt surface)
|
||||
(fg-alt text)
|
||||
;; These should represent a spectrum from bg to fg, where base0 is a starker
|
||||
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
|
||||
;; dark grey, base0 should be white and base8 should be black.
|
||||
(base0 surface)
|
||||
(base1 base)
|
||||
(base2 highlightL)
|
||||
(base3 overlay)
|
||||
(base4 highlightM)
|
||||
(base5 highlightH)
|
||||
(base6 muted)
|
||||
(base7 subtle)
|
||||
(base8 text)
|
||||
(grey muted)
|
||||
(red love)
|
||||
(orange gold)
|
||||
(green pine)
|
||||
(teal pine)
|
||||
(yellow rose)
|
||||
(blue pine)
|
||||
(dark-blue pine)
|
||||
(magenta iris)
|
||||
(violet iris)
|
||||
(cyan foam)
|
||||
(dark-cyan foam)
|
||||
;; Variables required by doom theme ends here
|
||||
|
||||
;; Required face categories for syntax highlighting
|
||||
(highlight subtle) ; cursor
|
||||
(selection base) ; can't figure out where this is used
|
||||
(region overlay) ; visual selection
|
||||
(vertical-bar surface) ; window split
|
||||
|
||||
(comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
|
||||
(doc-comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
|
||||
|
||||
(builtin pine)
|
||||
(constants iris)
|
||||
(functions pine)
|
||||
(keywords pine)
|
||||
(methods foam)
|
||||
(numbers rose)
|
||||
(operators gold)
|
||||
(strings gold)
|
||||
(type rose)
|
||||
(variables iris)
|
||||
|
||||
(error love)
|
||||
(success foam)
|
||||
(warning gold)
|
||||
|
||||
(vc-added foam)
|
||||
(vc-deleted love)
|
||||
(vc-modified gold)
|
||||
|
||||
;; Other categories
|
||||
;; Modeline
|
||||
(modeline-bg (if doom-rose-pine-dawn-brighter-modeline overlay surface))
|
||||
(modeline-fg text)
|
||||
(modeline-bg-alt (if doom-rose-pine-dawn-brighter-modeline muted overlay))
|
||||
(modeline-fg-alt text) ; should this be darker or lighter?
|
||||
(modeline-bg-inactive base)
|
||||
(modeline-fg-inactive subtle)
|
||||
(modeline-bg-inactive-alt base)
|
||||
(modeline-fg-inactive-alt subtle)
|
||||
(modeline-pad
|
||||
(when doom-rose-pine-dawn-padded-modeline
|
||||
if (integerp doom-rose-pine-dawn-padded-modeline) doom-rose-pine-padded-modeline 4)))
|
||||
|
||||
;; Base theme face overrides
|
||||
(
|
||||
;; Font
|
||||
((font-lock-comment-face &override)
|
||||
:slant 'italic
|
||||
:background (if doom-rose-pine-dawn-brighter-comments (doom-blend teal base 0.07)))
|
||||
((font-lock-type-face &override) :slant 'italic)
|
||||
((font-lock-builtin-face &override) :slant 'italic)
|
||||
((font-lock-function-name-face &override) :foreground type)
|
||||
((font-lock-keyword-face &override) :weight 'bold)
|
||||
((font-lock-constant-face &override) :weight 'bold)
|
||||
|
||||
;; Highlight line
|
||||
(hl-line
|
||||
:background highlightL)
|
||||
|
||||
;; Line numbers
|
||||
((line-number &override) :foreground muted)
|
||||
((line-number-current-line &override) :foreground text)
|
||||
|
||||
;; Mode line
|
||||
(mode-line
|
||||
:background modeline-bg
|
||||
:foreground modeline-fg
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive
|
||||
:foreground modeline-fg-inactive
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if doom-rose-pine-dawn-brighter-modeline text subtle))
|
||||
|
||||
;; Company
|
||||
(company-tooltip-selection :background blue :foreground muted)
|
||||
|
||||
;; CSS mode <built-in> / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground green)
|
||||
|
||||
;; Doom mode line
|
||||
(doom-modeline-bar :background green) ; The line to the left
|
||||
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
|
||||
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
|
||||
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
|
||||
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
|
||||
|
||||
;; Helm
|
||||
(helm-selection :foreground base :weight 'bold :background blue)
|
||||
|
||||
;; Ivy
|
||||
(ivy-current-match :background highlightL :distant-foreground fg)
|
||||
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
|
||||
(ivy-posframe :background modeline-bg-alt)
|
||||
|
||||
;; Markdown mode
|
||||
(markdown-markup-face :foreground text)
|
||||
(markdown-header-face :inherit 'bold :foreground red)
|
||||
((markdown-code-face &override) :background surface)
|
||||
|
||||
;; org <built-in>
|
||||
(org-block :background (doom-blend yellow bg 0.04) :extend t)
|
||||
(org-block-background :background (doom-blend yellow bg 0.04))
|
||||
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-level-1 :foreground gold)
|
||||
(org-level-2 :foreground rose)
|
||||
(org-level-3 :foreground pine)
|
||||
(org-level-4 :foreground iris)
|
||||
(org-level-5 :foreground gold)
|
||||
(org-level-6 :foreground rose)
|
||||
(org-level-7 :foreground pine)
|
||||
(org-level-8 :foreground iris)
|
||||
|
||||
;; Solaire mode line
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
|
||||
|
||||
;; Widget
|
||||
(widget-field :foreground fg :background muted)
|
||||
(widget-single-line-field :foreground fg :background muted)
|
||||
|
||||
;; Swiper
|
||||
(swiper-line-face :background highlightM)
|
||||
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
|
||||
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
|
||||
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
|
||||
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
|
||||
|
||||
;;; doom-rose-pine-dawn-theme.el ends here
|
||||
@@ -1,244 +0,0 @@
|
||||
;;; doom-rose-pine-moon-theme.el --- A medium port of Rosé Pine Moon theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;
|
||||
;; Author: mvllow
|
||||
;; Ported by: donniebreve
|
||||
;; Keywords: custom themes, faces
|
||||
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
|
||||
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Thanks to mvllow (https://github.com/rose-pine)
|
||||
;; Thanks to hlissner (https://github.com/doomemacs/themes)
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(require 'doom-themes)
|
||||
|
||||
;;; Variables
|
||||
(defgroup doom-rose-pine-moon-theme nil
|
||||
"Options for the `doom-rose-pine-moon' theme."
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-rose-pine-moon-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-moon-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-moon-brighter-text nil
|
||||
"If non-nil, default text will be brighter."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-moon-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
;;; Theme definition
|
||||
(def-doom-theme doom-rose-pine-moon
|
||||
"A medium port of Rosé Pine Moon theme"
|
||||
|
||||
;; Main theme colors
|
||||
(
|
||||
;; name default 256 16
|
||||
(base '("#232136" "#232136" "black" ))
|
||||
(surface '("#2a273f" "#2a273f" "brightblack" ))
|
||||
(overlay '("#393552" "#393552" "brightblack" ))
|
||||
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
|
||||
(subtle '("#908caa" "#908caa" "brightblack" ))
|
||||
(text '("#e0def4" "#e0def4" "brightblack" ))
|
||||
(love '("#eb6f92" "#eb6f92" "red" ))
|
||||
(gold '("#f6c177" "#f6c177" "white" ))
|
||||
(rose '("#ea9a97" "#ea9a97" "white" ))
|
||||
(pine '("#3e8fb0" "#3e8fb0" "white" ))
|
||||
(foam '("#9ccfd8" "#9ccfd8" "white" ))
|
||||
(iris '("#c4a7e7" "#c4a7e7" "white" ))
|
||||
(highlightL '("#2a283e" "#2a283e" "white" ))
|
||||
(highlightM '("#44415a" "#44415a" "white" ))
|
||||
(highlightH '("#56526e" "#56526e" "white" ))
|
||||
|
||||
;; Variables required by doom theme
|
||||
;; These are required by doom theme and used in various places
|
||||
(bg base)
|
||||
(fg text)
|
||||
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
|
||||
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
|
||||
;; or region), especially when paired with the `doom-darken', `doom-lighten',
|
||||
;; and `doom-blend' helper functions.
|
||||
(bg-alt surface)
|
||||
(fg-alt text)
|
||||
;; These should represent a spectrum from bg to fg, where base0 is a starker
|
||||
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
|
||||
;; dark grey, base0 should be white and base8 should be black.
|
||||
(base0 base)
|
||||
(base1 surface)
|
||||
(base2 highlightL)
|
||||
(base3 overlay)
|
||||
(base4 highlightM)
|
||||
(base5 highlightH)
|
||||
(base6 muted)
|
||||
(base7 subtle)
|
||||
(base8 text)
|
||||
(grey muted)
|
||||
(red love)
|
||||
(orange gold)
|
||||
(green pine)
|
||||
(teal foam)
|
||||
(yellow rose)
|
||||
(pink rose)
|
||||
(blue pine)
|
||||
(dark-blue pine)
|
||||
(magenta iris)
|
||||
(violet iris)
|
||||
(cyan foam)
|
||||
(dark-cyan pine)
|
||||
;; Variables required by doom theme ends here
|
||||
|
||||
;; Required face categories for syntax highlighting
|
||||
(highlight subtle) ; cursor
|
||||
(selection base) ; can't figure out where this is used
|
||||
(region overlay) ; visual selection
|
||||
(vertical-bar surface) ; window split
|
||||
|
||||
(comments (if doom-rose-pine-moon-brighter-comments subtle muted))
|
||||
(doc-comments (if doom-rose-pine-moon-brighter-comments subtle muted))
|
||||
|
||||
(builtin pine)
|
||||
(constants iris)
|
||||
(functions pine)
|
||||
(keywords pine)
|
||||
(methods foam)
|
||||
(numbers rose)
|
||||
(operators gold)
|
||||
(strings gold)
|
||||
(type rose)
|
||||
(variables iris)
|
||||
|
||||
(error love)
|
||||
(success foam)
|
||||
(warning gold)
|
||||
|
||||
(vc-added foam)
|
||||
(vc-deleted love)
|
||||
(vc-modified gold)
|
||||
|
||||
;; Other categories
|
||||
;; Modeline
|
||||
(modeline-bg (if doom-rose-pine-moon-brighter-modeline overlay surface))
|
||||
(modeline-fg text)
|
||||
(modeline-bg-alt (if doom-rose-pine-moon-brighter-modeline muted overlay))
|
||||
(modeline-fg-alt text) ; should this be darker or lighter?
|
||||
(modeline-bg-inactive base)
|
||||
(modeline-fg-inactive subtle)
|
||||
(modeline-bg-inactive-alt base)
|
||||
(modeline-fg-inactive-alt subtle)
|
||||
(modeline-pad
|
||||
(when doom-rose-pine-moon-padded-modeline
|
||||
if (integerp doom-rose-pine-moon-padded-modeline) doom-rose-pine-padded-modeline 4)))
|
||||
|
||||
;; Base theme face overrides
|
||||
(
|
||||
;; Font
|
||||
((font-lock-comment-face &override)
|
||||
:slant 'italic
|
||||
:background (if doom-rose-pine-moon-brighter-comments (doom-blend teal base 0.07)))
|
||||
((font-lock-type-face &override) :slant 'italic)
|
||||
((font-lock-builtin-face &override) :slant 'italic)
|
||||
((font-lock-function-name-face &override) :foreground type)
|
||||
((font-lock-keyword-face &override) :weight 'bold)
|
||||
((font-lock-constant-face &override) :weight 'bold)
|
||||
|
||||
;; Highlight line
|
||||
(hl-line
|
||||
:background surface)
|
||||
|
||||
;; Line numbers
|
||||
((line-number &override) :foreground muted)
|
||||
((line-number-current-line &override) :foreground text)
|
||||
|
||||
;; Mode line
|
||||
(mode-line
|
||||
:background modeline-bg
|
||||
:foreground modeline-fg
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive
|
||||
:foreground modeline-fg-inactive
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if doom-rose-pine-moon-brighter-modeline text subtle))
|
||||
|
||||
;; Company
|
||||
(company-tooltip-selection :background blue :foreground muted)
|
||||
|
||||
;; CSS mode <built-in> / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground green)
|
||||
|
||||
;; Doom mode line
|
||||
(doom-modeline-bar :background green) ; The line to the left
|
||||
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
|
||||
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
|
||||
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
|
||||
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
|
||||
|
||||
;; Helm
|
||||
(helm-selection :foreground base :weight 'bold :background blue)
|
||||
|
||||
;; Ivy
|
||||
(ivy-current-match :background overlay :distant-foreground fg)
|
||||
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
|
||||
(ivy-posframe :background modeline-bg-alt)
|
||||
|
||||
;; Markdown mode
|
||||
(markdown-markup-face :foreground text)
|
||||
(markdown-header-face :inherit 'bold :foreground red)
|
||||
((markdown-code-face &override) :background surface)
|
||||
|
||||
;; org <built-in>
|
||||
(org-block :background (doom-blend yellow bg 0.04) :extend t)
|
||||
(org-block-background :background (doom-blend yellow bg 0.04))
|
||||
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-level-1 :foreground gold)
|
||||
(org-level-2 :foreground rose)
|
||||
(org-level-3 :foreground pine)
|
||||
(org-level-4 :foreground iris)
|
||||
(org-level-5 :foreground gold)
|
||||
(org-level-6 :foreground rose)
|
||||
(org-level-7 :foreground pine)
|
||||
(org-level-8 :foreground iris)
|
||||
|
||||
;; Solaire mode line
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
|
||||
|
||||
;; Widget
|
||||
(widget-field :foreground fg :background muted)
|
||||
(widget-single-line-field :foreground fg :background muted)
|
||||
|
||||
;; Swiper
|
||||
(swiper-line-face :background highlightM)
|
||||
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
|
||||
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
|
||||
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
|
||||
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
|
||||
|
||||
;;; doom-rose-pine-moon-theme.el ends here
|
||||
@@ -1,242 +0,0 @@
|
||||
;;; doom-rose-pine-theme.el --- A dark port of Rosé Pine theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;
|
||||
;; Author: mvllow
|
||||
;; Ported by: donniebreve
|
||||
;; Keywords: custom themes, faces
|
||||
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
|
||||
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Thanks to mvllow (https://github.com/rose-pine)
|
||||
;; Thanks to hlissner (https://github.com/doomemacs/themes)
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(require 'doom-themes)
|
||||
|
||||
;;; Variables
|
||||
(defgroup doom-rose-pine-theme nil
|
||||
"Options for the `doom-rose-pine' theme."
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-rose-pine-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-brighter-text nil
|
||||
"If non-nil, default text will be brighter."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
;;; Theme definition
|
||||
(def-doom-theme doom-rose-pine
|
||||
"A dark port of Rosé Pine theme"
|
||||
|
||||
;; Main theme colors
|
||||
(
|
||||
;; name default 256 16
|
||||
(base '("#191724" "#191724" "black" ))
|
||||
(surface '("#1f1d2e" "#1f1d2e" "brightblack" ))
|
||||
(overlay '("#26233a" "#26233a" "brightblack" ))
|
||||
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
|
||||
(subtle '("#908caa" "#908caa" "brightblack" ))
|
||||
(text '("#e0def4" "#e0def4" "brightblack" ))
|
||||
(love '("#eb6f92" "#eb6f92" "red" ))
|
||||
(gold '("#f6c177" "#f6c177" "white" ))
|
||||
(rose '("#ebbcba" "#ebbcba" "white" ))
|
||||
(pine '("#31748f" "#31748f" "white" ))
|
||||
(foam '("#9ccfd8" "#9ccfd8" "white" ))
|
||||
(iris '("#c4a7e7" "#c4a7e7" "white" ))
|
||||
(highlightL '("#21202e" "#21202e" "grey" ))
|
||||
(highlightM '("#403d52" "#403d52" "grey" ))
|
||||
(highlightH '("#524f67" "#524f67" "grey" ))
|
||||
|
||||
;; Variables required by doom theme
|
||||
;; These are required by doom theme and used in various places
|
||||
(bg base)
|
||||
(fg text)
|
||||
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
|
||||
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
|
||||
;; or region), especially when paired with the `doom-darken', `doom-lighten',
|
||||
;; and `doom-blend' helper functions.
|
||||
(bg-alt surface)
|
||||
(fg-alt text)
|
||||
;; These should represent a spectrum from bg to fg, where base0 is a starker
|
||||
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
|
||||
;; dark grey, base0 should be white and base8 should be black.
|
||||
(base0 base)
|
||||
(base1 surface)
|
||||
(base2 highlightL)
|
||||
(base3 overlay)
|
||||
(base4 highlightM)
|
||||
(base5 highlightH)
|
||||
(base6 muted)
|
||||
(base7 subtle)
|
||||
(base8 text)
|
||||
(grey muted)
|
||||
(red love)
|
||||
(orange gold)
|
||||
(green pine)
|
||||
(teal pine)
|
||||
(yellow rose)
|
||||
(blue pine)
|
||||
(dark-blue pine)
|
||||
(magenta iris)
|
||||
(violet iris)
|
||||
(cyan foam)
|
||||
(dark-cyan foam)
|
||||
;; Variables required by doom theme ends here
|
||||
|
||||
;; Required face categories for syntax highlighting
|
||||
(highlight subtle) ; cursor
|
||||
(selection base) ; can't figure out where this is used
|
||||
(region overlay) ; visual selection
|
||||
(vertical-bar surface) ; window split
|
||||
|
||||
(comments (if doom-rose-pine-brighter-comments subtle muted))
|
||||
(doc-comments (if doom-rose-pine-brighter-comments subtle muted))
|
||||
|
||||
(builtin pine)
|
||||
(constants iris)
|
||||
(functions pine)
|
||||
(keywords pine)
|
||||
(methods foam)
|
||||
(numbers rose)
|
||||
(operators gold)
|
||||
(strings gold)
|
||||
(type rose)
|
||||
(variables iris)
|
||||
|
||||
(error love)
|
||||
(success foam)
|
||||
(warning gold)
|
||||
|
||||
(vc-added foam)
|
||||
(vc-deleted love)
|
||||
(vc-modified gold)
|
||||
|
||||
;; Other categories
|
||||
;; Modeline
|
||||
(modeline-bg (if doom-rose-pine-brighter-modeline overlay surface))
|
||||
(modeline-fg text)
|
||||
(modeline-bg-alt (if doom-rose-pine-brighter-modeline muted overlay))
|
||||
(modeline-fg-alt text) ; should this be darker or lighter?
|
||||
(modeline-bg-inactive base)
|
||||
(modeline-fg-inactive subtle)
|
||||
(modeline-bg-inactive-alt base)
|
||||
(modeline-fg-inactive-alt subtle)
|
||||
(modeline-pad
|
||||
(when doom-rose-pine-padded-modeline
|
||||
if (integerp doom-rose-pine-padded-modeline) doom-rose-pine-padded-modeline 4)))
|
||||
|
||||
;; Base theme face overrides
|
||||
(
|
||||
;; Font
|
||||
((font-lock-comment-face &override)
|
||||
:slant 'italic
|
||||
:background (if doom-rose-pine-brighter-comments (doom-blend teal base 0.07)))
|
||||
((font-lock-type-face &override) :slant 'italic)
|
||||
((font-lock-builtin-face &override) :slant 'italic)
|
||||
((font-lock-function-name-face &override) :foreground type)
|
||||
((font-lock-keyword-face &override) :weight 'bold)
|
||||
((font-lock-constant-face &override) :weight 'bold)
|
||||
|
||||
;; Highlight line
|
||||
(hl-line
|
||||
:background surface)
|
||||
|
||||
;; Line numbers
|
||||
((line-number &override) :foreground muted)
|
||||
((line-number-current-line &override) :foreground text)
|
||||
|
||||
;; Mode line
|
||||
(mode-line
|
||||
:background modeline-bg
|
||||
:foreground modeline-fg
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive
|
||||
:foreground modeline-fg-inactive
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if doom-rose-pine-brighter-modeline text subtle))
|
||||
|
||||
;; Company
|
||||
(company-tooltip-selection :background blue :foreground muted)
|
||||
|
||||
;; CSS mode <built-in> / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground green)
|
||||
|
||||
;; Doom mode line
|
||||
(doom-modeline-bar :background green) ; The line to the left
|
||||
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
|
||||
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
|
||||
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
|
||||
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
|
||||
|
||||
;; Helm
|
||||
(helm-selection :foreground base :weight 'bold :background blue)
|
||||
|
||||
;; Ivy
|
||||
(ivy-current-match :background overlay :distant-foreground fg)
|
||||
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
|
||||
(ivy-posframe :background modeline-bg-alt)
|
||||
|
||||
;; Markdown mode
|
||||
(markdown-markup-face :foreground text)
|
||||
(markdown-header-face :inherit 'bold :foreground red)
|
||||
((markdown-code-face &override) :background surface)
|
||||
|
||||
;; org <built-in>
|
||||
(org-block :background (doom-blend yellow bg 0.04) :extend t)
|
||||
(org-block-background :background (doom-blend yellow bg 0.04))
|
||||
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-level-1 :foreground gold)
|
||||
(org-level-2 :foreground rose)
|
||||
(org-level-3 :foreground pine)
|
||||
(org-level-4 :foreground iris)
|
||||
(org-level-5 :foreground gold)
|
||||
(org-level-6 :foreground rose)
|
||||
(org-level-7 :foreground pine)
|
||||
(org-level-8 :foreground iris)
|
||||
|
||||
;; Solaire mode line
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
|
||||
|
||||
;; Widget
|
||||
(widget-field :foreground fg :background muted)
|
||||
(widget-single-line-field :foreground fg :background muted)
|
||||
|
||||
;; Swiper
|
||||
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
|
||||
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
|
||||
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
|
||||
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
|
||||
|
||||
;;; doom-rose-pine-theme.el ends here
|
||||
@@ -18,17 +18,27 @@
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(setq url-proxy-services '(("no_proxy" . "localhost")
|
||||
("http" . "proxygov.ray.com:80")
|
||||
("https" . "proxygov.ray.com:80")))
|
||||
;; (require 'misc)
|
||||
(setopt treesit-enabled-modes t)
|
||||
(set-face-attribute 'default nil
|
||||
:width 'normal :weight 'normal
|
||||
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 18))
|
||||
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 20))
|
||||
(set-face-attribute 'fixed-pitch nil
|
||||
:width 'normal :weight 'normal
|
||||
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 18))
|
||||
(set-face-attribute 'variable-pitch nil
|
||||
:width 'normal :weight 'normal
|
||||
:slant 'normal :font (font-spec :family "Gentium Plus" :size 18))
|
||||
:slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 20))
|
||||
;; (set-face-attribute 'variable-pitch nil
|
||||
;; :width 'normal :weight 'normal
|
||||
;; :slant 'normal :font (font-spec :family "Gentium Plus" :size 18))
|
||||
(defconst default-mode-line-format (copy-sequence mode-line-format))
|
||||
(setq dired-kill-when-opening-new-dired-buffer t)
|
||||
(setq gdb-show-main t
|
||||
gdb-many-windows t)
|
||||
(setq elfeed-use-curl nil)
|
||||
(setq use-short-answers t)
|
||||
(setq compilation-scroll-output t)
|
||||
(setq history-length 100
|
||||
global-auto-revert-non-file-buffers t
|
||||
use-dialog-box nil
|
||||
@@ -51,8 +61,16 @@
|
||||
(save-place-mode 1)
|
||||
(global-auto-revert-mode 1)
|
||||
(context-menu-mode 1)
|
||||
(electric-pair-mode 1)
|
||||
(electric-indent-mode 1)
|
||||
(define-globalized-minor-mode global-electric-pair-mode electric-pair-mode
|
||||
(lambda () (if (memq 'major-mode
|
||||
'(emacs-lisp-mode common-lisp-mode lisp-mode scheme-mode))
|
||||
(electric-pair-mode 1))))
|
||||
(define-globalized-minor-mode global-electric-indent-mode electric-indent-mode
|
||||
(lambda () (electric-indent-mode 1)))
|
||||
(global-electric-pair-mode)
|
||||
(global-electric-indent-mode)
|
||||
;; (treesit-auto-install-grammar 'ask)
|
||||
;; (treesit-enabled-modes t)
|
||||
;; (enable-recursive-minibuffers t)
|
||||
;; (read-extended-command-predicate #'command-completion-default-include-p)
|
||||
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
;;; -*- lexical-binding: t; -*-
|
||||
|
||||
;; (global-set-key (kbd "M-f") #'forward-to-word)
|
||||
;; (global-set-key (kbd "M-F") #'forward-word)
|
||||
(global-set-key (kbd "C-c f") #'consult-fd)
|
||||
(global-set-key (kbd "C-c C-f") #'find-file-at-point)
|
||||
(global-set-key (kbd "C-c r") #'recentf)
|
||||
(global-set-key (kbd "C-c x") #'kill-current-buffer)
|
||||
(global-set-key (kbd "C-c X") (lambda () (interactive) (other-window 1) (kill-buffer-and-window)))
|
||||
(global-set-key (kbd "C-c X") (lambda () "kill other window" (interactive) (other-window 1) (kill-buffer-and-window)))
|
||||
(global-set-key (kbd "C-c g") #'consult-ripgrep)
|
||||
(global-set-key (kbd "C-c C-g") (lambda () (interactive) (let ((current-prefix-arg '(4))) (call-interactively #'consult-ripgrep))))
|
||||
(global-set-key (kbd "C-c L") #'consult-line)
|
||||
(global-set-key (kbd "C-c i") #'consult-info)
|
||||
(global-set-key (kbd "C-c s") #'ispell-word)
|
||||
@@ -27,8 +30,8 @@
|
||||
|
||||
(global-set-key (kbd "C-c k") #'eldoc)
|
||||
(global-set-key (kbd "C-c m") #'man)
|
||||
(global-set-key (kbd "C-c o c") (lambda () (interactive) (dired user-init-dir)))
|
||||
(global-set-key (kbd "C-c o t") (lambda () (interactive) (eshell 'N)))
|
||||
(global-set-key (kbd "C-c o c") (lambda () "open config" (interactive) (dired user-init-dir)))
|
||||
(global-set-key (kbd "C-c o t") (lambda () "open eshell" (interactive) (eshell 'N)))
|
||||
(global-set-key (kbd "C-c o g") #'magit)
|
||||
(global-set-key (kbd "C-c o e") #'mu4e)
|
||||
(global-set-key (kbd "C-c o r") #'elfeed-summary)
|
||||
|
||||
@@ -37,6 +37,6 @@
|
||||
(time-subtract after-init-time before-init-time)))
|
||||
gcs-done))
|
||||
|
||||
(add-hook 'emacs-startup-hook #'efs/display-startup-time)
|
||||
;; (add-hook 'emacs-startup-hook #'efs/display-startup-time)
|
||||
(provide 'early-init)
|
||||
;;; early-init.el ends here
|
||||
|
||||
@@ -32,6 +32,12 @@
|
||||
|
||||
(add-hook 'eshell-load-hook #'eat-eshell-mode)
|
||||
|
||||
(use-package vterm
|
||||
:ensure t)
|
||||
|
||||
(use-package devdocs
|
||||
:ensure t)
|
||||
|
||||
(use-package magit
|
||||
:ensure t
|
||||
:defer t)
|
||||
@@ -152,186 +158,193 @@
|
||||
(mpdel/run-context-hooks 'enter-hooks mpdel/current-context))))
|
||||
|
||||
(use-package org
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package org-msg
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook ((mu4e-main-mode . org-msg-mode)
|
||||
(mu4e-compose-mode . org-msg-mode))
|
||||
:config
|
||||
(setq mail-user-agent 'mu4e-user-agent)
|
||||
(setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t"
|
||||
org-msg-startup "hidestars indent inlineimages"
|
||||
org-msg-default-alternatives '((new . (text html))
|
||||
(reply-to-html . (text html))
|
||||
(reply-to-text . (text)))
|
||||
org-msg-convert-citation t))
|
||||
;; active Babel languages
|
||||
(require 'org-tempo)
|
||||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'((emacs-lisp . t))))
|
||||
|
||||
|
||||
;; (use-package org-msg
|
||||
;; :ensure t
|
||||
;; :defer t
|
||||
;; :hook ((mu4e-main-mode . org-msg-mode)
|
||||
;; (mu4e-compose-mode . org-msg-mode))
|
||||
;; :config
|
||||
;; (setq mail-user-agent 'mu4e-user-agent)
|
||||
;; (setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t"
|
||||
;; org-msg-startup "hidestars indent inlineimages"
|
||||
;; org-msg-default-alternatives '((new . (text html))
|
||||
;; (reply-to-html . (text html))
|
||||
;; (reply-to-text . (text)))
|
||||
;; org-msg-convert-citation t))
|
||||
|
||||
|
||||
(use-package mu4e
|
||||
:ensure t
|
||||
:commands (mu4e)
|
||||
:config
|
||||
(setq mu4e-mu-binary (executable-find "mu"))
|
||||
;; (use-package mu4e
|
||||
;; :ensure t
|
||||
;; :commands (mu4e)
|
||||
;; :config
|
||||
;; (setq mu4e-mu-binary (executable-find "mu"))
|
||||
|
||||
(setq mu4e-read-option-use-builtin nil
|
||||
mu4e-completing-read-function 'completing-read)
|
||||
;; this is the directory we created before:
|
||||
(setq mu4e-maildir "~/.local/share/mail/")
|
||||
;; (setq mu4e-read-option-use-builtin nil
|
||||
;; mu4e-completing-read-function 'completing-read)
|
||||
;; ;; this is the directory we created before:
|
||||
;; (setq mu4e-maildir "~/.local/share/mail/")
|
||||
|
||||
;; this command is called to sync imap servers:
|
||||
(setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a"))
|
||||
;; how often to call it in seconds:
|
||||
(setq mu4e-update-interval 300)
|
||||
;; ;; this command is called to sync imap servers:
|
||||
;; (setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a"))
|
||||
;; ;; how often to call it in seconds:
|
||||
;; (setq mu4e-update-interval 300)
|
||||
|
||||
;; save attachment to desktop by default
|
||||
;; or another choice of yours:
|
||||
(setq mu4e-attachment-dir "~/Downloads")
|
||||
;; ;; save attachment to desktop by default
|
||||
;; ;; or another choice of yours:
|
||||
;; (setq mu4e-attachment-dir "~/Downloads")
|
||||
|
||||
;; rename files when moving - needed for mbsync:
|
||||
(setq mu4e-change-filenames-when-moving t)
|
||||
;; ;; rename files when moving - needed for mbsync:
|
||||
;; (setq mu4e-change-filenames-when-moving t)
|
||||
|
||||
;; list of your email adresses:
|
||||
(setq mu4e-user-mail-address-list '("mikecchalupiak@outlook.com"
|
||||
"chalupmc@rose-hulman.edu"
|
||||
"mikec@mchalupiak.com"
|
||||
"spamreciver1@outlook.com"))
|
||||
; the following is to show shortcuts in the main view.
|
||||
(setq mu4e-bookmarks ())
|
||||
(add-to-list 'mu4e-bookmarks
|
||||
'(:name "spamreciver"
|
||||
:query "maildir:/spamreciver1@outlook.com/INBOX"
|
||||
:key ?s))
|
||||
(add-to-list 'mu4e-bookmarks
|
||||
'(:name "mchalupiak.com"
|
||||
:query "maildir:/mikec@mchalupiak.com/INBOX"
|
||||
:key ?h))
|
||||
(add-to-list 'mu4e-bookmarks
|
||||
'(:name "rose"
|
||||
:query "maildir:/chalupmc@rose-hulman.edu/INBOX"
|
||||
:key ?r))
|
||||
(add-to-list 'mu4e-bookmarks
|
||||
'(:name "outlook"
|
||||
:query "maildir:/mikecchalupiak@outlook.com/INBOX"
|
||||
:key ?o))
|
||||
;; ;; list of your email adresses:
|
||||
;; (setq mu4e-user-mail-address-list '("mikecchalupiak@outlook.com"
|
||||
;; "chalupmc@rose-hulman.edu"
|
||||
;; "mikec@mchalupiak.com"
|
||||
;; "spamreciver1@outlook.com"))
|
||||
;; ; the following is to show shortcuts in the main view.
|
||||
;; (setq mu4e-bookmarks ())
|
||||
;; (add-to-list 'mu4e-bookmarks
|
||||
;; '(:name "spamreciver"
|
||||
;; :query "maildir:/spamreciver1@outlook.com/INBOX"
|
||||
;; :key ?s))
|
||||
;; (add-to-list 'mu4e-bookmarks
|
||||
;; '(:name "mchalupiak.com"
|
||||
;; :query "maildir:/mikec@mchalupiak.com/INBOX"
|
||||
;; :key ?h))
|
||||
;; (add-to-list 'mu4e-bookmarks
|
||||
;; '(:name "rose"
|
||||
;; :query "maildir:/chalupmc@rose-hulman.edu/INBOX"
|
||||
;; :key ?r))
|
||||
;; (add-to-list 'mu4e-bookmarks
|
||||
;; '(:name "outlook"
|
||||
;; :query "maildir:/mikecchalupiak@outlook.com/INBOX"
|
||||
;; :key ?o))
|
||||
|
||||
|
||||
(setq mu4e-contexts
|
||||
`(,(make-mu4e-context
|
||||
:name "outlook"
|
||||
:match-func
|
||||
(lambda (msg)
|
||||
(when msg
|
||||
(mu4e-message-contact-field-matches msg
|
||||
:to "mikecchalupiak@outlook.com")))
|
||||
:vars '((user-mail-address . "mikecchalupiak@outlook.com")
|
||||
(user-full-name . "Michael Chalupiak")
|
||||
(mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts")
|
||||
(mu4e-refile-folder . "/mikecchalupiak@outlook.com/Archive")
|
||||
(mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent")
|
||||
(mu4e-trash-folder . "/mikecchalupiak@outlook.com/Trash")))
|
||||
;; (setq mu4e-contexts
|
||||
;; `(,(make-mu4e-context
|
||||
;; :name "outlook"
|
||||
;; :match-func
|
||||
;; (lambda (msg)
|
||||
;; (when msg
|
||||
;; (mu4e-message-contact-field-matches msg
|
||||
;; :to "mikecchalupiak@outlook.com")))
|
||||
;; :vars '((user-mail-address . "mikecchalupiak@outlook.com")
|
||||
;; (user-full-name . "Michael Chalupiak")
|
||||
;; (mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts")
|
||||
;; (mu4e-refile-folder . "/mikecchalupiak@outlook.com/Archive")
|
||||
;; (mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent")
|
||||
;; (mu4e-trash-folder . "/mikecchalupiak@outlook.com/Trash")))
|
||||
|
||||
,(make-mu4e-context
|
||||
:name "rose"
|
||||
:match-func
|
||||
(lambda (msg)
|
||||
(when msg
|
||||
(mu4e-message-contact-field-matches msg
|
||||
:to "chalupmc@rose-hulman.edu")))
|
||||
:vars '((user-mail-address . "chalupmc@rose-hulman.edu")
|
||||
(user-full-name . "Michael Chalupiak")
|
||||
(mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts")
|
||||
(mu4e-refile-folder . "/chalupmc@rose-hulman.edu/Archive")
|
||||
(mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent")
|
||||
(mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Trash")))
|
||||
;; ,(make-mu4e-context
|
||||
;; :name "rose"
|
||||
;; :match-func
|
||||
;; (lambda (msg)
|
||||
;; (when msg
|
||||
;; (mu4e-message-contact-field-matches msg
|
||||
;; :to "chalupmc@rose-hulman.edu")))
|
||||
;; :vars '((user-mail-address . "chalupmc@rose-hulman.edu")
|
||||
;; (user-full-name . "Michael Chalupiak")
|
||||
;; (mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts")
|
||||
;; (mu4e-refile-folder . "/chalupmc@rose-hulman.edu/Archive")
|
||||
;; (mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent")
|
||||
;; (mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Trash")))
|
||||
|
||||
,(make-mu4e-context
|
||||
:name "hosted"
|
||||
:match-func
|
||||
(lambda (msg)
|
||||
(when msg
|
||||
(mu4e-message-contact-field-matches msg
|
||||
:to "mikec@mchalupiak.com")))
|
||||
:vars '((user-mail-address . "mikec@mchalupiak.com")
|
||||
(user-full-name . "Michael Chalupiak")
|
||||
;; check your ~/.maildir to see how the subdirectories are called
|
||||
;; e.g `ls ~/.maildir/example'
|
||||
(mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts")
|
||||
(mu4e-refile-folder . "/mikec@mchalupiak.com/Archive")
|
||||
(mu4e-sent-folder . "/mikec@mchalupiak.com/Sent")
|
||||
(mu4e-trash-folder . "/mikec@mchalupiak.com/Trash")))
|
||||
,(make-mu4e-context
|
||||
:name "spam"
|
||||
:match-func
|
||||
(lambda (msg)
|
||||
(when msg
|
||||
(mu4e-message-contact-field-matches msg
|
||||
:to "spamreciver1@outlook.com")))
|
||||
:vars '((user-mail-address . "spamreciver1@outlook.com")
|
||||
(user-full-name . "spamreciver")
|
||||
;; check your ~/.maildir to see how the subdirectories are called
|
||||
;; e.g `ls ~/.maildir/example'
|
||||
(mu4e-drafts-folder . "/spamreciver1@outlook.com/Drafts")
|
||||
(mu4e-refile-folder . "/spamreciver1@outlook.com/Archive")
|
||||
(mu4e-sent-folder . "/spamreciver1@outlook.com/Sent")
|
||||
(mu4e-trash-folder . "/spamreciver1@outlook.com/Trash")))))
|
||||
;; ,(make-mu4e-context
|
||||
;; :name "hosted"
|
||||
;; :match-func
|
||||
;; (lambda (msg)
|
||||
;; (when msg
|
||||
;; (mu4e-message-contact-field-matches msg
|
||||
;; :to "mikec@mchalupiak.com")))
|
||||
;; :vars '((user-mail-address . "mikec@mchalupiak.com")
|
||||
;; (user-full-name . "Michael Chalupiak")
|
||||
;; ;; check your ~/.maildir to see how the subdirectories are called
|
||||
;; ;; e.g `ls ~/.maildir/example'
|
||||
;; (mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts")
|
||||
;; (mu4e-refile-folder . "/mikec@mchalupiak.com/Archive")
|
||||
;; (mu4e-sent-folder . "/mikec@mchalupiak.com/Sent")
|
||||
;; (mu4e-trash-folder . "/mikec@mchalupiak.com/Trash")))
|
||||
;; ,(make-mu4e-context
|
||||
;; :name "spam"
|
||||
;; :match-func
|
||||
;; (lambda (msg)
|
||||
;; (when msg
|
||||
;; (mu4e-message-contact-field-matches msg
|
||||
;; :to "spamreciver1@outlook.com")))
|
||||
;; :vars '((user-mail-address . "spamreciver1@outlook.com")
|
||||
;; (user-full-name . "spamreciver")
|
||||
;; ;; check your ~/.maildir to see how the subdirectories are called
|
||||
;; ;; e.g `ls ~/.maildir/example'
|
||||
;; (mu4e-drafts-folder . "/spamreciver1@outlook.com/Drafts")
|
||||
;; (mu4e-refile-folder . "/spamreciver1@outlook.com/Archive")
|
||||
;; (mu4e-sent-folder . "/spamreciver1@outlook.com/Sent")
|
||||
;; (mu4e-trash-folder . "/spamreciver1@outlook.com/Trash")))))
|
||||
|
||||
(setq mu4e-context-policy 'pick-first) ;; start with the first (default) context;
|
||||
(setq mu4e-compose-context-policy 'ask)
|
||||
; gpg encryptiom & decryption:
|
||||
;; this can be left alone
|
||||
(require 'epa-file)
|
||||
(epa-file-enable)
|
||||
(setq epa-pinentry-mode 'loopback)
|
||||
(auth-source-forget-all-cached)
|
||||
;; (setq mu4e-context-policy 'pick-first) ;; start with the first (default) context;
|
||||
;; (setq mu4e-compose-context-policy 'ask)
|
||||
;; ; gpg encryptiom & decryption:
|
||||
;; ;; this can be left alone
|
||||
;; (require 'epa-file)
|
||||
;; (epa-file-enable)
|
||||
;; (setq epa-pinentry-mode 'loopback)
|
||||
;; (auth-source-forget-all-cached)
|
||||
|
||||
;; don't keep message compose buffers around after sending:
|
||||
(setq message-kill-buffer-on-exit t)
|
||||
;; ;; don't keep message compose buffers around after sending:
|
||||
;; (setq message-kill-buffer-on-exit t)
|
||||
|
||||
;; send function:
|
||||
(setq send-mail-function 'message-send-mail-with-sendmail
|
||||
message-send-mail-function 'message-send-mail-with-sendmail)
|
||||
;; ;; send function:
|
||||
;; (setq send-mail-function 'message-send-mail-with-sendmail
|
||||
;; message-send-mail-function 'message-send-mail-with-sendmail)
|
||||
|
||||
;; send program:
|
||||
;; this is exeranal. remember we installed it before.
|
||||
(setq sendmail-program (executable-find "msmtp"))
|
||||
;; ;; send program:
|
||||
;; ;; this is exeranal. remember we installed it before.
|
||||
;; (setq sendmail-program (executable-find "msmtp"))
|
||||
|
||||
;; select the right sender email from the context.
|
||||
(setq message-sendmail-envelope-from 'header)
|
||||
;; ;; select the right sender email from the context.
|
||||
;; (setq message-sendmail-envelope-from 'header)
|
||||
|
||||
;; chose from account before sending
|
||||
;; this is a custom function that works for me.
|
||||
;; well I stole it somewhere long ago.
|
||||
;; I suggest using it to make matters easy
|
||||
;; of course adjust the email adresses and account descriptions
|
||||
(defun timu/set-msmtp-account ()
|
||||
(if (message-mail-p)
|
||||
(save-excursion
|
||||
(let*
|
||||
((from (save-restriction
|
||||
(message-narrow-to-headers)
|
||||
(message-fetch-field "from")))
|
||||
(account
|
||||
(cond
|
||||
((string-match "mikecchalupiak@outlook.com" from) "outlook")
|
||||
((string-match "chalupmc@rose-hulman.edu" from) "rose")
|
||||
((string-match "mikec@mchalupiak.com" from) "hosted")
|
||||
((string-match "spamreciver1@outlook.com" from) "spam"))))
|
||||
(setq message-sendmail-extra-arguments (list '"-a" account)))))
|
||||
;; ;; chose from account before sending
|
||||
;; ;; this is a custom function that works for me.
|
||||
;; ;; well I stole it somewhere long ago.
|
||||
;; ;; I suggest using it to make matters easy
|
||||
;; ;; of course adjust the email adresses and account descriptions
|
||||
;; (defun timu/set-msmtp-account ()
|
||||
;; (if (message-mail-p)
|
||||
;; (save-excursion
|
||||
;; (let*
|
||||
;; ((from (save-restriction
|
||||
;; (message-narrow-to-headers)
|
||||
;; (message-fetch-field "from")))
|
||||
;; (account
|
||||
;; (cond
|
||||
;; ((string-match "mikecchalupiak@outlook.com" from) "outlook")
|
||||
;; ((string-match "chalupmc@rose-hulman.edu" from) "rose")
|
||||
;; ((string-match "mikec@mchalupiak.com" from) "hosted")
|
||||
;; ((string-match "spamreciver1@outlook.com" from) "spam"))))
|
||||
;; (setq message-sendmail-extra-arguments (list '"-a" account)))))
|
||||
|
||||
(add-hook 'message-send-mail-hook 'timu/set-msmtp-account)
|
||||
;; (add-hook 'message-send-mail-hook 'timu/set-msmtp-account)
|
||||
|
||||
;; mu4e cc & bcc
|
||||
;; this is custom as well
|
||||
(add-hook 'mu4e-compose-mode-hook
|
||||
(defun timu/add-cc-and-bcc ()
|
||||
"My Function to automatically add Cc & Bcc: headers.
|
||||
This is in the mu4e compose mode."
|
||||
(save-excursion (message-add-header "Cc:\n"))
|
||||
(save-excursion (message-add-header "Bcc:\n"))))))
|
||||
;; ask for context if no context matches;)))
|
||||
;; ;; mu4e cc & bcc
|
||||
;; ;; this is custom as well
|
||||
;; (add-hook 'mu4e-compose-mode-hook
|
||||
;; (defun timu/add-cc-and-bcc ()
|
||||
;; "My Function to automatically add Cc & Bcc: headers.
|
||||
;; This is in the mu4e compose mode."
|
||||
;; (save-excursion (message-add-header "Cc:\n"))
|
||||
;; (save-excursion (message-add-header "Bcc:\n"))))))
|
||||
;; ;; ask for context if no context matches;)))
|
||||
|
||||
(use-package elfeed
|
||||
:ensure t
|
||||
@@ -366,20 +379,19 @@
|
||||
'( ("https://phaazon.net/blog/feed")
|
||||
("https://irreal.org/blog/?feed=rss2")
|
||||
("https://port19.xyz/rss.xml")
|
||||
("https://www.gingerbill.org/article/index.xml")
|
||||
("https://lukesmith.xyz/index.xml")
|
||||
("https://notrelated.xyz/rss")
|
||||
("https://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-and-content.xml")
|
||||
;("https://sizeof.cat/index.xml")
|
||||
("https://www.youtube.com/feeds/videos.xml?channel_id=UCkKmeTinUEU27syZPKrzWQQ")
|
||||
("https://www.youtube.com/feeds/videos.xml?playlist_id=PLq1vmb-z7PpQt2PDNUr7XOzBjWAOWf0Rt")
|
||||
("https://danielde.dev/rss.xml")
|
||||
("https://pkolaczk.github.io/feed.xml")
|
||||
("https://joeyh.name/blog/index.rss")
|
||||
("https://kagifeedback.org/atom/t/release-notes")
|
||||
("https://api.substack.com/feed/podcast/462466.rss")
|
||||
("https://www.dailywire.com/feeds/rss.xml")
|
||||
("https://feeds.simplecast.com/6c2VScgo")
|
||||
("https://feeds.simplecast.com/pp_b9xO6")))
|
||||
("https://kagifeedback.org/atom/t/release-notes")))
|
||||
;; ("https://api.substack.com/feed/podcast/462466.rss")
|
||||
;; ("https://www.dailywire.com/feeds/rss.xml")
|
||||
;; ("https://feeds.simplecast.com/6c2VScgo")
|
||||
;; ("https://feeds.simplecast.com/pp_b9xO6")))
|
||||
(defun elfeed/show-eww-open (&optional use-generic-p)
|
||||
"open with eww"
|
||||
(interactive "P")
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(use-package treesit-auto
|
||||
:ensure t
|
||||
;; :defer t
|
||||
:custom
|
||||
(treesit-auto-install t)
|
||||
:config
|
||||
(treesit-auto-add-to-auto-mode-alist 'all)
|
||||
(global-treesit-auto-mode))
|
||||
;; (use-package treesit-auto
|
||||
;; :ensure t
|
||||
;; ;; :defer t
|
||||
;; :custom
|
||||
;; (treesit-auto-install t)
|
||||
;; :config
|
||||
;; (treesit-auto-add-to-auto-mode-alist 'all)
|
||||
;; (global-treesit-auto-mode))
|
||||
|
||||
;; (use-package gitconfig-mode
|
||||
;; :ensure t
|
||||
@@ -89,9 +89,13 @@
|
||||
(add-to-list 'auto-mode-alist '("\\.odin\\'" . odin-ts-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.zig\\(?:\\.zon\\)?\\'" . zig-ts-mode))
|
||||
|
||||
(defvar treesit-language-source-alist '())
|
||||
;; (straight-use-package '(tree-sitter-langs :type git :host github
|
||||
;; :repo "emacs-tree-sitter/tree-sitter-langs"))
|
||||
;; (defvar treesit-language-source-alist '())
|
||||
(add-to-list 'treesit-language-source-alist '(odin "https://github.com/tree-sitter-grammars/tree-sitter-odin"))
|
||||
(add-to-list 'treesit-language-source-alist '(zig "https://github.com/tree-sitter-grammars/tree-sitter-zig"))
|
||||
(add-to-list 'treesit-language-source-alist '(go "https://github.com/tree-sitter/tree-sitter-go"))
|
||||
(add-to-list 'treesit-language-source-alist '(gomod "https://github.com/camdencheek/tree-sitter-go-mod"))
|
||||
|
||||
(provide 'lang)
|
||||
;;; lang.el ends here
|
||||
|
||||
@@ -39,4 +39,5 @@
|
||||
(load bootstrap-file nil 'nomessage))
|
||||
|
||||
(provide 'straight)
|
||||
|
||||
;;; straight.el ends here
|
||||
|
||||
@@ -329,10 +329,12 @@
|
||||
;; Don't highlight current level indentation; it's distracting and is
|
||||
;; unnecessary overhead for little benefit.
|
||||
indent-bars-highlight-current-depth nil)
|
||||
(add-hook 'prog-mode-hook #'indent-bars-mode 50)
|
||||
(add-hook 'text-mode-hook #'indent-bars-mode 50)
|
||||
:custom
|
||||
(indent-bars-no-descend-lists t) ; no extra bars in continued func arg lists
|
||||
(indent-bars-treesit-support t)
|
||||
(indent-bars-treesit-ignore-blank-lines-types '("module"))
|
||||
(indent-bars-treesit-ignore-blank-lines-types '("module")))
|
||||
;; Add other languages as needed
|
||||
;; (indent-bars-treesit-scope '((python function_definition class_definition for_statement
|
||||
;; if_statement with_statement while_statement)))
|
||||
@@ -341,7 +343,7 @@
|
||||
;; list list_comprehension
|
||||
;; dictionary dictionary_comprehension
|
||||
;; parenthesized_expression subscript)))
|
||||
:hook ((prog-mode text-mode) . indent-bars-mode))
|
||||
|
||||
|
||||
(use-package dashboard
|
||||
:ensure t
|
||||
|
||||
@@ -19,11 +19,47 @@
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(use-package system-packages
|
||||
:ensure t)
|
||||
|
||||
(use-package exec-path-from-shell
|
||||
:ensure t
|
||||
:config
|
||||
(defun copy-ssh-agent ()
|
||||
"copy env variables for ssh agent"
|
||||
(interactive)
|
||||
(exec-path-from-shell-copy-env "SSH_AGENT_PID")
|
||||
(exec-path-from-shell-copy-env "SSH_AUTH_SOCK"))
|
||||
(copy-ssh-agent))
|
||||
|
||||
(use-package dumb-jump
|
||||
:ensure t
|
||||
:config
|
||||
(setq dumb-jump-prefer-searcher 'ag)
|
||||
(setq xref-show-definitions-function #'consult-xref)
|
||||
(add-hook 'xref-backend-functions #'dumb-jump-xref-activate))
|
||||
|
||||
(use-package surround
|
||||
:ensure t
|
||||
:defer t
|
||||
:bind-keymap ("M-'" . surround-keymap))
|
||||
|
||||
(use-package expand-region
|
||||
:ensure t
|
||||
:bind (("C-= =" . er/expand-region)
|
||||
("C-= w" . er/mark-word)
|
||||
("C-= s" . er/mark-symbol)
|
||||
("C-= S" . er/mark-symbol-with-prefix)
|
||||
("C-= f" . er/mark-defun)
|
||||
("C-= c" . er/mark-comment)
|
||||
("C-= m" . er/mark-method-call)
|
||||
("C-= a" . er/mark-next-accessor)
|
||||
("C-= p" . er/mark-inside-pairs)
|
||||
("C-= P" . er/mark-outside-pairs)
|
||||
("C-= '" . er/mark-inside-quotes)
|
||||
("C-= \"" . er/mark-outside-quotes)))
|
||||
|
||||
|
||||
(use-package dirvish
|
||||
:ensure t
|
||||
:defer t
|
||||
@@ -43,7 +79,8 @@
|
||||
:ensure t
|
||||
:defer 5
|
||||
:config
|
||||
(dtrt-indent-global-mode 1))
|
||||
(add-hook 'prog-mode-hook #'dtrt-indent-mode)
|
||||
(add-hook 'text-mode-hook #'dtrt-indent-mode))
|
||||
|
||||
(use-package undo-fu
|
||||
:ensure t
|
||||
@@ -55,17 +92,6 @@
|
||||
(setq undo-fu-session-incompatible-files '("/COMMIT_EDITMSG\\'" "/git-rebase-todo\\'"))
|
||||
(undo-fu-session-global-mode))
|
||||
|
||||
(use-package blamer
|
||||
:ensure t
|
||||
; :bind (("s-i" . blamer-show-commit-info)
|
||||
; ("C-c i" . blamer-show-posframe-commit-info))
|
||||
:defer 10
|
||||
:custom
|
||||
(blamer-idle-time 0.2)
|
||||
(blamer-min-offset 70)
|
||||
:config
|
||||
(global-blamer-mode 1))
|
||||
|
||||
(use-package git-gutter
|
||||
:defer 10
|
||||
:hook (prog-mode . git-gutter-mode)
|
||||
|
||||
@@ -1,5 +1 @@
|
||||
# This file is written by nwg-look. Do not edit.
|
||||
[Icon Theme]
|
||||
Name=Default
|
||||
Comment=Default Cursor Theme
|
||||
Inherits=BreezeX-RosePineDawn-Linux
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ set -ga terminal-overrides ",xterm-256color:Tc"
|
||||
set -g mouse on
|
||||
# Changes prefix key to control a instead of control b
|
||||
unbind C-b
|
||||
set-option -g prefix C-a
|
||||
set-option -g prefix C-Space
|
||||
set -sg escape-time 25
|
||||
setw -g mode-keys vi
|
||||
bind b choose-tree
|
||||
@@ -19,12 +19,15 @@ bind-key h select-pane -L
|
||||
bind-key j select-pane -D
|
||||
bind-key k select-pane -U
|
||||
bind-key l select-pane -R
|
||||
bind-key a last-window
|
||||
|
||||
set -g status-style "bg=default"
|
||||
set -g status-position top
|
||||
set -g window-status-current-style "fg=yellow"
|
||||
set -g window-status-style "fg=magenta"
|
||||
set -g base-index 1
|
||||
|
||||
set-option -g lock-after-time 0
|
||||
# Other examples:
|
||||
# set -g @plugin 'github_username/plugin_name'
|
||||
# set -g @plugin 'git@github.com:user/plugin'
|
||||
@@ -32,8 +35,9 @@ set -g base-index 1
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
# run '~/.tmux/plugins/tpm/tpm'
|
||||
#run-shell "tmux source-file ~/.local/share/tinted-theming/tinty/repos/tinted-tmux/colors/base16-$BASE16_THEME.conf"
|
||||
|
||||
set -g prefix None
|
||||
bind -Troot C-a switchc -Tprefix
|
||||
bind -Tprefix C-x if -F '#{s/empty//:key-table}' 'set key-table empty' 'set -u key-table'
|
||||
bind -Tempty C-x switchc -Tprefix
|
||||
#
|
||||
# set -g prefix None
|
||||
# bind -Troot C-Space switchc -Tprefix
|
||||
# bind -Tprefix C-x if -F '#{s/empty//:key-table}' 'set key-table empty' 'set -u key-table'
|
||||
# bind -Tempty C-x switchc -Tprefix
|
||||
set -g set-clipboard on
|
||||
|
||||
188
config/.wezterm.lua
Normal file
188
config/.wezterm.lua
Normal file
@@ -0,0 +1,188 @@
|
||||
local wezterm = require 'wezterm'
|
||||
local config = {}
|
||||
|
||||
config.font = wezterm.font_with_fallback {
|
||||
'Iosevka Term SS12',
|
||||
'Cascadia Code'
|
||||
}
|
||||
|
||||
local appearance_themes = {
|
||||
Light = 'dawnfox',
|
||||
Dark = 'carbonfox',
|
||||
}
|
||||
|
||||
local appearance = wezterm.gui.get_appearance()
|
||||
config.color_scheme = appearance_themes[appearance] or 'carbonfox'
|
||||
config.font_size = 14
|
||||
config.enable_tab_bar = true
|
||||
config.use_fancy_tab_bar = false
|
||||
-- config.window_decorations = "RESIZE"
|
||||
-- config.front_end = "WebGpu"
|
||||
-- config.integrated_title_button_style = "Gnome"
|
||||
|
||||
function basename(s)
|
||||
return string.gsub(s, '(.*[/\\])(.*)', '%2')
|
||||
end
|
||||
|
||||
wezterm.on(
|
||||
'format-tab-title',
|
||||
function(tab, tabs, panes, config, hover, maxwidth)
|
||||
local tab_name
|
||||
local title = tab.tab_title
|
||||
if title and #title > 0 then
|
||||
tab_name = tab.tab_id .. ':' .. title
|
||||
end
|
||||
local pane = tab.active_pane
|
||||
local name = pane.foreground_process_name
|
||||
if name then
|
||||
tab_name = tab.tab_id .. ':' .. basename(name)
|
||||
end
|
||||
if tab.is_active then
|
||||
return {
|
||||
'ResetAttributes',
|
||||
{ Text = ' ' .. tab_name .. '* '},
|
||||
}
|
||||
-- elseif tab.is_last_active then
|
||||
-- return {
|
||||
-- { Text = ' ' .. tab_name .. '- ' },
|
||||
-- }
|
||||
else
|
||||
return {
|
||||
'ResetAttributes',
|
||||
{ Text = ' ' .. tab_name .. ' ' }
|
||||
}
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
-- keys
|
||||
local act = wezterm.action
|
||||
config.leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1000 }
|
||||
config.keys = {
|
||||
{
|
||||
key = 'a',
|
||||
mods = 'LEADER|CTRL',
|
||||
action = wezterm.action.SendKey { key = 'a', mods = 'CTRL' },
|
||||
},
|
||||
{
|
||||
key = "c",
|
||||
mods = "LEADER",
|
||||
action = act.SpawnTab 'CurrentPaneDomain'
|
||||
},
|
||||
{
|
||||
key = "e",
|
||||
mods = "LEADER",
|
||||
action = act.CharSelect {
|
||||
copy_on_select = true,
|
||||
copy_to = 'ClipboardAndPrimarySelection',
|
||||
},
|
||||
},
|
||||
{
|
||||
key = "C",
|
||||
mods = "LEADER",
|
||||
action = act.SpawnTab 'CurrentPaneDomain'
|
||||
},
|
||||
{
|
||||
key = "x",
|
||||
mods = "LEADER",
|
||||
action = act.CloseCurrentPane { confirm = true }
|
||||
},
|
||||
{
|
||||
key = "p",
|
||||
mods = "LEADER",
|
||||
action = act.ActivateTabRelative(-1)
|
||||
},
|
||||
{
|
||||
key = "n",
|
||||
mods = "LEADER",
|
||||
action = act.ActivateTabRelative(1)
|
||||
},
|
||||
{
|
||||
key = "%",
|
||||
mods = "LEADER|SHIFT",
|
||||
action = act.SplitPane {
|
||||
direction = "Right"
|
||||
}
|
||||
},
|
||||
{
|
||||
key = "\"",
|
||||
mods = "LEADER|SHIFT",
|
||||
action = act.SplitPane {
|
||||
direction = "Down"
|
||||
}
|
||||
},
|
||||
{
|
||||
key = "o",
|
||||
mods = "LEADER",
|
||||
action = act.ActivatePaneDirection 'Next'
|
||||
},
|
||||
{
|
||||
key = "h",
|
||||
mods = "LEADER",
|
||||
action = act.ActivatePaneDirection 'Left'
|
||||
},
|
||||
{
|
||||
key = "l",
|
||||
mods = "LEADER",
|
||||
action = act.ActivatePaneDirection 'Right'
|
||||
},
|
||||
{
|
||||
key = "j",
|
||||
mods = "LEADER",
|
||||
action = act.ActivatePaneDirection 'Down'
|
||||
},
|
||||
{
|
||||
key = "k",
|
||||
mods = "LEADER",
|
||||
action = act.ActivatePaneDirection 'Up'
|
||||
},
|
||||
{
|
||||
key = "P",
|
||||
mods = "LEADER",
|
||||
action = act.PasteFrom 'Clipboard'
|
||||
},
|
||||
{
|
||||
key = "s",
|
||||
mods = "LEADER",
|
||||
action = act.QuickSelect
|
||||
},
|
||||
{
|
||||
key = "Y",
|
||||
mods = "LEADER",
|
||||
action = act.CopyTo 'Clipboard'
|
||||
},
|
||||
{
|
||||
key = "v",
|
||||
mods = "LEADER",
|
||||
action = act.ActivateCopyMode
|
||||
},
|
||||
{
|
||||
key = "f",
|
||||
mods = "LEADER",
|
||||
action = act.Search("CurrentSelectionOrEmptyString")
|
||||
},
|
||||
{
|
||||
key = ',',
|
||||
mods = 'LEADER',
|
||||
action = act.PromptInputLine {
|
||||
description = 'Enter new name for tab',
|
||||
action = wezterm.action_callback(function(window, pane, line)
|
||||
-- line will be `nil` if they hit escape without entering anything
|
||||
-- An empty string if they just hit enter
|
||||
-- Or the actual line of text they wrote
|
||||
if line then
|
||||
window:active_tab():set_title(line)
|
||||
end
|
||||
end),
|
||||
},
|
||||
},
|
||||
}
|
||||
for i = 1, 8 do
|
||||
-- CTRL+ALT + number to activate that tab
|
||||
table.insert(config.keys, {
|
||||
key = tostring(i),
|
||||
mods = 'LEADER',
|
||||
action = act.ActivateTab(i - 1),
|
||||
})
|
||||
end
|
||||
return config
|
||||
Reference in New Issue
Block a user