Compare commits
38 Commits
gitea/mast
...
arch-deskt
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6650ab1d5c | ||
|
|
cc5246f38b | ||
|
|
cb21d62153 | ||
|
|
f2fa6c1267 | ||
|
|
e104c9b8ce | ||
|
|
ce01877872 | ||
|
|
a3412c9fdf | ||
|
|
66ab2ea83e | ||
|
|
e99901146d | ||
|
|
2d1a11ea40 | ||
|
|
dc51e2b8d8 | ||
|
|
e6a0d0892f | ||
|
|
9fd41c75ef | ||
|
|
d9d0c8fe3e | ||
|
|
adcecd9d62 | ||
|
|
ef1981d06b | ||
|
|
f60dd72912 | ||
|
|
ade4c9f47c | ||
|
|
458a2dd1d6 | ||
|
|
82c55b55c7 | ||
|
|
16169fbab4 | ||
|
|
8ba5349c5d | ||
|
|
367244a53d | ||
|
|
93361624d7 | ||
|
|
c16dc3b450 | ||
|
|
924c01282d | ||
|
|
6dcd713273 | ||
|
|
a177955e85 | ||
|
|
c8a110b9ba | ||
|
|
449f2dc890 | ||
|
|
005f77cdbf | ||
|
|
cf051a191f | ||
|
|
7a7b0e3f1c | ||
|
|
1114797040 | ||
|
|
cfb88473fc | ||
|
|
d3ee528e2b | ||
|
|
32760db44f | ||
|
|
1f5f04cef1 |
39
.gitignore
vendored
Normal file
39
.gitignore
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
config/.config/dconf/*
|
||||
config/.themes/*
|
||||
config/**/*.uuid
|
||||
config/.icons/*
|
||||
config/.config/KDE/*
|
||||
config/.config/falkon/*
|
||||
config/.config/ghostty/iTerm2-Color-Schemes/*
|
||||
config/.config/ghostty/themes/*
|
||||
config/.config/helix/runtime/*
|
||||
config/.config/kak/colors/*
|
||||
config/.config/kak/plugins/*
|
||||
config/.config/mutt/chalupmc@rose-hulman
|
||||
config/.config/mutt/mikecchalupiak@outlook
|
||||
config/.config/mutt/spamreciver1@outlook
|
||||
config/.config/qt5ct/colors/*
|
||||
config/.config/qutebrowser/autoconfig.yml
|
||||
config/.config/qutebrowser/rosepine/*
|
||||
config/.config/zathura/colors
|
||||
config/.doom.d/flycheck_config.el
|
||||
config/.scripts/kkse
|
||||
config/.scripts/mlvwm-alert
|
||||
config/.scripts/mlvwm-confirm
|
||||
config/.scripts/mlvwm-message
|
||||
config/.scripts/mlvwm-powerdown
|
||||
config/.scripts/mlvwm-restart
|
||||
config/.scripts/mlvwm-screenshot
|
||||
config/.scripts/pipewire-launch
|
||||
/config/.emacs.d/undo-fu-session/
|
||||
/config/.emacs.d/tree-sitter/
|
||||
/config/.emacs.d/tramp
|
||||
/config/.emacs.d/straight/
|
||||
/config/.emacs.d/recentf
|
||||
/config/.emacs.d/places
|
||||
/config/.emacs.d/parinfer-rust/
|
||||
/config/.emacs.d/history
|
||||
/config/.emacs.d/eshell/
|
||||
/config/.emacs.d/elpa/
|
||||
/config/.emacs.d/eln-cache/
|
||||
/config/.emacs.d/auto-save-list/
|
||||
@@ -1,5 +1,4 @@
|
||||
! High DPI Settings for Window Managers
|
||||
!Xft.dpi: 192
|
||||
! #define background_opacity 80
|
||||
#include ".theme.xresources"
|
||||
! .alpha: 0.2
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -139,10 +139,10 @@ alias zf='z $(flirt)'
|
||||
# You may want to put all your additions into a separate file like
|
||||
# ~/.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'
|
||||
# fi
|
||||
if [ -z "$EDITOR" ]; then
|
||||
# export EDITOR=kak
|
||||
export EDITOR='nvim'
|
||||
fi
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
@@ -197,9 +197,9 @@ elif [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ]; then
|
||||
alias vipe='EDITOR="/usr/bin/kak -c $SESH 2>/dev/null || /usr/bin/kak -s $SESH" vipe'
|
||||
fi
|
||||
|
||||
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix || command -v hx)" ] && [ -z "$TMUX" ]; then
|
||||
alias helix='tmux new-session -e "EDITOR=hx" hx > /dev/null'
|
||||
alias hx='tmux new-session -e "EDITOR=hx" hx > /dev/null'
|
||||
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix)" ] && [ -z "$TMUX" ]; then
|
||||
alias helix='tmux new-session -e "EDITOR=helix" helix > /dev/null'
|
||||
# alias hx='tmux new-session -e "EDITOR=helix" helix > /dev/null'
|
||||
fi
|
||||
# if [ -n "$(command -v tmux)" ] && [ -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)"
|
||||
@@ -219,9 +219,11 @@ alias csi='rlwrap csi'
|
||||
alias chicken-csi='rlwrap chicken-csi'
|
||||
alias icyc='rlwrap icyc'
|
||||
export DCONF_PROFILE
|
||||
export FZF_DEFAULT_OPTS="
|
||||
--color=fg:#908caa,bg:#191724,hl:#ebbcba
|
||||
--color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba
|
||||
--color=border:#403d52,header:#31748f,gutter:#191724
|
||||
--color=spinner:#f6c177,info:#9ccfd8
|
||||
--color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa"
|
||||
# export FZF_DEFAULT_OPTS="
|
||||
# --color=fg:#908caa,bg:#191724,hl:#ebbcba
|
||||
# --color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba
|
||||
# --color=border:#403d52,header:#31748f,gutter:#191724
|
||||
# --color=spinner:#f6c177,info:#9ccfd8
|
||||
# --color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa"
|
||||
[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && \
|
||||
source "$EAT_SHELL_INTEGRATION_DIR/bash"
|
||||
|
||||
File diff suppressed because one or more lines are too long
127
config/.config/doom/config.el
Normal file
127
config/.config/doom/config.el
Normal file
@@ -0,0 +1,127 @@
|
||||
;;; $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. It is optional.
|
||||
;; (setq user-full-name "John Doe"
|
||||
;; user-mail-address "john@doe.com")
|
||||
|
||||
;; Doom exposes five (optional) variables for controlling fonts in Doom:
|
||||
;;
|
||||
;; - `doom-font' -- the primary font to use
|
||||
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
|
||||
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
|
||||
;; presentations or streaming.
|
||||
;; - `doom-symbol-font' -- for symbols
|
||||
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
|
||||
;;
|
||||
;; See 'C-h v doom-font' for documentation and more examples of what they
|
||||
;; accept. For example:
|
||||
;;
|
||||
;; (setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
|
||||
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
|
||||
(setq doom-font (font-spec :family "Iosevka Term SS12" :size 18))
|
||||
;;
|
||||
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
|
||||
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
||||
;; refresh your font settings. If Emacs still can't find your font, it likely
|
||||
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
||||
|
||||
;; 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-one)
|
||||
|
||||
;; 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)
|
||||
|
||||
;; 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/")
|
||||
|
||||
|
||||
;; Whenever you reconfigure a package, make sure to wrap your config in an
|
||||
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
|
||||
;;
|
||||
;; (after! PACKAGE
|
||||
;; (setq x y))
|
||||
;;
|
||||
;; The exceptions to this rule:
|
||||
;;
|
||||
;; - Setting file/directory variables (like `org-directory')
|
||||
;; - Setting variables which explicitly tell you to set them before their
|
||||
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
|
||||
;; - Setting doom variables (which start with 'doom-' or '+').
|
||||
;;
|
||||
;; Here are some additional functions/macros that will 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.
|
||||
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
|
||||
;; etc).
|
||||
;;
|
||||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||
;; they are implemented.
|
||||
|
||||
;; (setq! tab-always-indent nil)
|
||||
(after! corfu
|
||||
(setq! tab-always-indent nil))
|
||||
;; (map! :map corfu-map :i "TAB" nil)
|
||||
;; (map! :map corfu-map "TAB" nil)
|
||||
;; (map! :map corfu-map :i "S-TAB" nil)
|
||||
;; (map! :map corfu-map "S-TAB" nil)
|
||||
;; (map! :map corfu-map :i "C-n" #'corfu-next)
|
||||
;; (map! :map corfu-map :i "C-p" #'corfu-previous)
|
||||
;; (map! :map corfu-map "C-n" #'corfu-next)
|
||||
;; (map! :map corfu-map "C-p" #'corfu-previous)
|
||||
;; (map! :map corfu-map "ESC" #'corfu-reset)
|
||||
;; (map! :map corfu-map :i "ESC" #'corfu-reset)
|
||||
;; (map! :map corfu-map "C-g" #'corfu-reset)
|
||||
;; (map! :map corfu-map :i "C-g" #'corfu-reset)
|
||||
;; (setq +corfu-want-ret-to-confirm nil)
|
||||
|
||||
(use-package! auto-dark
|
||||
:defer t
|
||||
:init
|
||||
;; Configure themes
|
||||
(setq! auto-dark-themes '((doom-gruvbox) (doom-gruvbox-light)))
|
||||
;; Disable doom's theme loading mechanism (just to make sure)
|
||||
(setq! doom-theme nil)
|
||||
;; Declare that all themes are safe to load.
|
||||
;; Be aware that setting this variable may have security implications if you
|
||||
;; get tricked into loading untrusted themes (via auto-dark-mode or manually).
|
||||
;; See the documentation of custom-safe-themes for details.
|
||||
(setq! custom-safe-themes t)
|
||||
;; Enable auto-dark-mode at the right point in time.
|
||||
;; This is inspired by doom-ui.el. Using server-after-make-frame-hook avoids
|
||||
;; issues with an early start of the emacs daemon using systemd, which causes
|
||||
;; problems with the DBus connection that auto-dark mode relies upon.
|
||||
(defun my-auto-dark-init-h ()
|
||||
(auto-dark-mode)
|
||||
(remove-hook 'server-after-make-frame-hook #'my-auto-dark-init-h)
|
||||
(remove-hook 'after-init-hook #'my-auto-dark-init-h))
|
||||
(let ((hook (if (daemonp)
|
||||
'server-after-make-frame-hook
|
||||
'after-init-hook)))
|
||||
;; Depth -95 puts this before doom-init-theme-h, which sounds like a good
|
||||
;; idea, if only for performance reasons.
|
||||
(add-hook hook #'my-auto-dark-init-h -95)))
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.odin\\'" . odin-ts-mode))
|
||||
(defvar treesit-language-source-alist '((odin "https://github.com/tree-sitter-grammars/tree-sitter-odin")))
|
||||
;; (add-to-list treesit-language-source-alist '(odin "https://github.com/tree-sitter-grammars/tree-sitter-odin"))
|
||||
|
||||
(setq lsp-inlay-hint-enable 't)
|
||||
198
config/.config/doom/init.el
Normal file
198
config/.config/doom/init.el
Normal file
@@ -0,0 +1,198 @@
|
||||
;;; 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
|
||||
(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
|
||||
|
||||
: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
|
||||
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
|
||||
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
|
||||
(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
|
||||
;; (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
|
||||
ibuffer ; interactive buffer management
|
||||
tramp ; remote files at your arthritic fingertips
|
||||
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)
|
||||
(lookup +dictionary +offline) ; 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
|
||||
;;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...
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
(:if (featurep :system 'macos) macos) ; improve compatibility with macOS
|
||||
tty ; improve the terminal Emacs experience
|
||||
|
||||
:lang
|
||||
;;ada ; In strong typing we (blindly) trust
|
||||
;;agda ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
(cc +lsp +tree-sitter) ; C > C++ == 1
|
||||
;;clojure ; 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 ; 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) ; the hipster dialect
|
||||
;;(graphql +lsp) ; Give queries a REST
|
||||
;;(haskell +lsp) ; a language that's lazier than I am
|
||||
;;hy ; readability of scheme w/ speed of python
|
||||
;;idris ; a language you can depend on
|
||||
;;json ; At least it ain't XML
|
||||
;;janet ; Fun fact: Janet is me!
|
||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||
;;julia ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
;;latex ; writing papers in Emacs has never been so fun
|
||||
;;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
|
||||
;;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
|
||||
;;graphviz ; diagrams for confusing yourself even more
|
||||
;;purescript ; javascript, but functional
|
||||
;;python ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
;;raku ; the artist formerly known as perl6
|
||||
;;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()
|
||||
;;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?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
(web +lsp +tree-sitter) ; the tubes
|
||||
;;yaml ; JSON, but readable
|
||||
(zig +lsp +tree-sitter) ; C, but simpler
|
||||
|
||||
:email
|
||||
;;(mu4e +org +gmail)
|
||||
;;notmuch
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
:app
|
||||
;;calendar
|
||||
;;emms
|
||||
;;everywhere ; *leave* Emacs!? You must be joking
|
||||
;;irc ; how neckbeards socialize
|
||||
;;(rss +org) ; emacs as an RSS reader
|
||||
|
||||
:config
|
||||
;;literate
|
||||
(default +bindings +smartparens))
|
||||
57
config/.config/doom/packages.el
Normal file
57
config/.config/doom/packages.el
Normal file
@@ -0,0 +1,57 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; $DOOMDIR/packages.el
|
||||
|
||||
;; To install a package:
|
||||
;;
|
||||
;; 1. Declare them here in a `package!' statement,
|
||||
;; 2. Run 'doom sync' in the shell,
|
||||
;; 3. Restart Emacs.
|
||||
;;
|
||||
;; Use 'C-h f package\!' to look up documentation for the `package!' macro.
|
||||
|
||||
|
||||
;; 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! auto-dark)
|
||||
(package! odin-ts-mode
|
||||
:recipe (:host github :repo "Sampie159/odin-ts-mode"))
|
||||
237
config/.config/doom/themes/doom-rose-pine-dawn-theme.el
Normal file
237
config/.config/doom/themes/doom-rose-pine-dawn-theme.el
Normal file
@@ -0,0 +1,237 @@
|
||||
;;; 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
|
||||
244
config/.config/doom/themes/doom-rose-pine-moon-theme.el
Normal file
244
config/.config/doom/themes/doom-rose-pine-moon-theme.el
Normal file
@@ -0,0 +1,244 @@
|
||||
;;; 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
|
||||
242
config/.config/doom/themes/doom-rose-pine-theme.el
Normal file
242
config/.config/doom/themes/doom-rose-pine-theme.el
Normal file
@@ -0,0 +1,242 @@
|
||||
;;; 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
|
||||
@@ -10,11 +10,14 @@ font-family = "CaskaydiaCove Nerd Font"
|
||||
# font-family = "Ubuntu Mono Nerd Font"
|
||||
# font-family = "Victor Mono Nerd Font"
|
||||
# font-family = "Sudo"
|
||||
theme = light:rose-pine-dawn,dark:rose-pine
|
||||
# theme = light:rose-pine-dawn,dark:rose-pine
|
||||
font-size = 14
|
||||
font-variation = wdth=100
|
||||
font-thicken = true
|
||||
# font-variation = wdth=100
|
||||
# theme = light:xcodelight,dark:xcodedark
|
||||
theme = light:Dawnfox,dark:Carbonfox
|
||||
# theme = Monokai Classic
|
||||
# window-decoration = false
|
||||
# gtk-adwaita = false
|
||||
# gtk-adwaita = true
|
||||
window-decoration = true
|
||||
shell-integration-features = true
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# lua
|
||||
[language.lua.grammar.source.git]
|
||||
[lua.grammar.source.git]
|
||||
url = "https://github.com/tree-sitter-grammars/tree-sitter-lua"
|
||||
pin = "88e446476a1e97a8724dff7a23e2d709855077f2"
|
||||
|
||||
[language.lua.grammar]
|
||||
[lua.grammar]
|
||||
path = "src"
|
||||
compile = "cc"
|
||||
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
|
||||
@@ -44,11 +44,11 @@ path = "runtime/queries/lua"
|
||||
# path = "runtime/queries/clojure"
|
||||
|
||||
#ocaml
|
||||
[language.ocaml.grammar.source.git]
|
||||
[ocaml.grammar.source.git]
|
||||
url = "https://github.com/tree-sitter/tree-sitter-ocaml"
|
||||
pin = "ef6ed4a773a260545f0b03c43d2ca78235e9a488"
|
||||
|
||||
[language.ocaml.grammar]
|
||||
[ocaml.grammar]
|
||||
path = "grammars/ocaml/src"
|
||||
compile = "cc"
|
||||
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
|
||||
@@ -65,11 +65,11 @@ pin = "6bedca80646ce7350fb73029adf802ce7d9e241d"
|
||||
path = "runtime/queries/ocaml"
|
||||
|
||||
# typst
|
||||
[language.typst.grammar.source.git]
|
||||
[typst.grammar.source.git]
|
||||
url = "https://github.com/uben0/tree-sitter-typst"
|
||||
pin = "46cf4ded12ee974a70bf8457263b67ad7ee0379d"
|
||||
|
||||
[language.typst.grammar]
|
||||
[typst.grammar]
|
||||
path = "src"
|
||||
compile = "cc"
|
||||
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
|
||||
@@ -86,11 +86,11 @@ pin = "46cf4ded12ee974a70bf8457263b67ad7ee0379d"
|
||||
path = "queries/typst"
|
||||
|
||||
# swift
|
||||
[language.swift.grammar.source.git]
|
||||
[swift.grammar.source.git]
|
||||
url = "https://github.com/alex-pinkus/tree-sitter-swift"
|
||||
pin = "57c1c6d6ffa1c44b330182d41717e6fe37430704"
|
||||
|
||||
[language.swift.grammar]
|
||||
[swift.grammar]
|
||||
path = "src"
|
||||
compile = "cc"
|
||||
compile_args = ["-c", "-fpic", "../scanner.c", "-I", ".."]
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
# Detection
|
||||
# ‾‾‾‾‾‾‾‾‾
|
||||
|
||||
hook global BufCreate .*[.](typ) %{
|
||||
set-option buffer filetype typst
|
||||
}
|
||||
|
||||
# Initialization
|
||||
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾
|
||||
|
||||
hook -group typst-highlight global WinSetOption filetype=typst %{
|
||||
require-module typst
|
||||
|
||||
add-highlighter window/typst ref typst
|
||||
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/typst }
|
||||
hook window InsertChar \n -group typst typst-on-new-line
|
||||
}
|
||||
|
||||
provide-module typst %§
|
||||
|
||||
# Highlighters
|
||||
# ‾‾‾‾‾‾‾‾‾‾‾‾
|
||||
|
||||
add-highlighter shared/typst group
|
||||
|
||||
# Comments
|
||||
add-highlighter shared/typst/ regex ^//(?:[^\n/][^\n]*|)$ 0:comment
|
||||
|
||||
# Strings
|
||||
add-highlighter shared/typst/ regex '"[^"]*"' 0:string
|
||||
|
||||
# Headings
|
||||
add-highlighter shared/typst/ regex ^=+\h+[^\n]+$ 0:header
|
||||
|
||||
# Code blocks
|
||||
# Raw with optional syntax highlighting
|
||||
add-highlighter shared/typst/ regex '^```[^(```)]*```' 0:mono
|
||||
# Multiline monospace
|
||||
add-highlighter shared/typst/ regex '^`[^(`)]*`' 0:mono
|
||||
|
||||
# Monospace text
|
||||
add-highlighter shared/typst/ regex \B(`[^\n]+?`)\B 0:mono
|
||||
add-highlighter shared/typst/ regex \B(```[^\n]+?```)\B 0:mono
|
||||
|
||||
# Bold text
|
||||
add-highlighter shared/typst/ regex \s\*[^\*]+\*\B 0:+b
|
||||
|
||||
# Italic text
|
||||
add-highlighter shared/typst/ regex \b_.*?_\b 0:+i
|
||||
|
||||
# Code expressions: functions, variables
|
||||
add-highlighter shared/typst/ regex (^|\h)#(\w|\.|-)+ 0:meta
|
||||
|
||||
# Bold terms in term lists
|
||||
add-highlighter shared/typst/ regex ^/\h[^:]*: 0:+b
|
||||
|
||||
§
|
||||
|
||||
# Commands
|
||||
# ‾‾‾‾‾‾‾‾
|
||||
|
||||
define-command -hidden typst-on-new-line %<
|
||||
evaluate-commands -draft -itersel %<
|
||||
# Preserve previous line indent
|
||||
try %{ execute-keys -draft <semicolon> K <a-&> }
|
||||
# Cleanup trailing whitespaces from previous line
|
||||
try %{ execute-keys -draft k x s \h+$ <ret> d }
|
||||
>
|
||||
>
|
||||
191
config/.config/kak/colors/carbonfox.kak
Normal file
191
config/.config/kak/colors/carbonfox.kak
Normal file
@@ -0,0 +1,191 @@
|
||||
# Carbonfox theme for Kakoune
|
||||
#
|
||||
# Taken and adapted from
|
||||
# <https://github.com/EdenEast/nightfox.nvim/blob/main/lua/nightfox/palette/carbonfox.lua>
|
||||
|
||||
# Color palette
|
||||
declare-option str black_base "rgb:282828"
|
||||
declare-option str black_dim "rgb:222222"
|
||||
declare-option str black_bright "rgb:484848"
|
||||
|
||||
declare-option str red_base "rgb:ee5396"
|
||||
declare-option str red_dim "rgb:ca4780"
|
||||
declare-option str red_bright "rgb:f16da6"
|
||||
|
||||
declare-option str green_base "rgb:25be6a"
|
||||
declare-option str green_dim "rgb:1fa25a"
|
||||
declare-option str green_bright "rgb:46c880"
|
||||
|
||||
declare-option str yellow_base "rgb:08bdba"
|
||||
declare-option str yellow_dim "rgb:07a19e"
|
||||
declare-option str yellow_bright "rgb:2dc7c4"
|
||||
|
||||
declare-option str blue_base "rgb:78a9ff"
|
||||
declare-option str blue_dim "rgb:6690d9"
|
||||
declare-option str blue_bright "rgb:8cb6ff"
|
||||
|
||||
declare-option str magenta_base "rgb:be95ff"
|
||||
declare-option str magenta_dim "rgb:a27fd9"
|
||||
declare-option str magenta_bright "rgb:c8a5ff"
|
||||
|
||||
declare-option str cyan_base "rgb:33b1ff"
|
||||
declare-option str cyan_dim "rgb:2b96d9"
|
||||
declare-option str cyan_bright "rgb:52bdff"
|
||||
|
||||
declare-option str white_base "rgb:dfdfe0"
|
||||
declare-option str white_dim "rgb:bebebe"
|
||||
declare-option str white_bright "rgb:e4e4e5"
|
||||
|
||||
declare-option str orange_base "rgb:3ddbd9"
|
||||
declare-option str orange_dim "rgb:34bab8"
|
||||
declare-option str orange_bright "rgb:5ae0df"
|
||||
|
||||
declare-option str pink_base "rgb:ff7eb6"
|
||||
declare-option str pink_dim "rgb:d96b9b"
|
||||
declare-option str pink_bright "rgb:ff91c1"
|
||||
|
||||
declare-option str bg0 "rgb:0c0c0c"
|
||||
declare-option str bg1 "rgb:161616"
|
||||
declare-option str bg2 "rgb:252525"
|
||||
declare-option str bg3 "rgb:353535"
|
||||
declare-option str bg4 "rgb:535353"
|
||||
|
||||
declare-option str fg0 "rgb:f9fbff"
|
||||
declare-option str fg1 "rgb:f2f4f8"
|
||||
declare-option str fg2 "rgb:b6b8bb"
|
||||
declare-option str fg3 "rgb:7b7c7e"
|
||||
|
||||
declare-option str comment "rgb:6e6f70"
|
||||
|
||||
declare-option str sel1 "rgb:525253"
|
||||
declare-option str sel0 "rgb:2a2a2a"
|
||||
|
||||
# Markup
|
||||
set-face global title "%opt{yellow_base}"
|
||||
set-face global header "%opt{red_bright}"
|
||||
set-face global bold "%opt{fg1}+b"
|
||||
set-face global italic "%opt{fg1}+i"
|
||||
|
||||
# Builtins
|
||||
set-face global Default "%opt{fg1},%opt{bg1}"
|
||||
set-face global PrimarySelection "%opt{fg2},%opt{sel0}"
|
||||
set-face global SecondarySelection "%opt{fg3},%opt{sel1}"
|
||||
set-face global PrimaryCursor "%opt{bg1},%opt{fg1}"
|
||||
set-face global SecondaryCursor "%opt{bg1},%opt{fg2}"
|
||||
set-face global PrimaryCursorEol "%opt{fg2},%opt{blue_bright}"
|
||||
set-face global SecondaryCursorEol "%opt{fg3},%opt{blue_dim}"
|
||||
set-face global LineNumbers "%opt{fg3},%opt{bg1}"
|
||||
set-face global LineNumberCursor "%opt{fg2},%opt{bg1}"
|
||||
set-face global LineNumbersWrapped "%opt{fg3},%opt{bg1}+i"
|
||||
set-face global MenuForeground "%opt{fg1},%opt{sel1}"
|
||||
set-face global MenuBackground "%opt{fg1},%opt{sel0}"
|
||||
set-face global MenuInfo "%opt{fg1},%opt{bg0}"
|
||||
set-face global Information "%opt{fg1},%opt{bg0}"
|
||||
set-face global Error "%opt{red_base},%opt{bg0}"
|
||||
set-face global StatusLine "%opt{fg2},%opt{bg0}"
|
||||
set-face global StatusLineMode "%opt{green_bright},%opt{bg0}"
|
||||
set-face global StatusLineInfo "%opt{blue_bright},%opt{bg0}"
|
||||
set-face global StatusLineValue "%opt{orange_base},%opt{bg0}"
|
||||
set-face global StatusCursor "%opt{bg0},%opt{fg2}"
|
||||
set-face global Prompt "%opt{blue_bright},%opt{bg0}"
|
||||
set-face global MatchingChar "%opt{fg1},%opt{sel1}"
|
||||
set-face global Whitespace "%opt{fg3},%opt{bg1}"
|
||||
set-face global WrapMarker Whitespace
|
||||
set-face global BufferPadding "%opt{blue_dim},%opt{bg1}"
|
||||
|
||||
# Code
|
||||
set-face global value "%opt{orange_bright}"
|
||||
set-face global type "%opt{yellow_base}"
|
||||
set-face global variable "%opt{white_base}"
|
||||
set-face global module "%opt{blue_base}"
|
||||
set-face global function "%opt{blue_bright}"
|
||||
set-face global string "%opt{green_base}"
|
||||
set-face global keyword "%opt{magenta_base}"
|
||||
set-face global operator "%opt{fg2}"
|
||||
set-face global attribute "%opt{blue_base}"
|
||||
set-face global comment "%opt{comment}"
|
||||
set-face global documentation comment
|
||||
set-face global meta "%opt{pink_bright}"
|
||||
set-face global builtin "%opt{red_base}"
|
||||
|
||||
# Tree-sitter (<https://github.com/hadronized/kak-tree-sitter>)
|
||||
set-face global ts_attribute "%opt{yellow_base}"
|
||||
set-face global ts_comment "%opt{comment}"
|
||||
set-face global ts_comment_unused "%opt{comment}"
|
||||
set-face global ts_conceal "%opt{magenta_dim}"
|
||||
set-face global ts_constant "%opt{orange_bright}"
|
||||
set-face global ts_constant_builtin_boolean "%opt{orange_bright}"
|
||||
set-face global ts_constant_character "%opt{green_base}"
|
||||
set-face global ts_constant_macro "%opt{orange_bright}"
|
||||
set-face global ts_constructor "%opt{cyan_base}"
|
||||
set-face global ts_diff_plus "%opt{green_base}"
|
||||
set-face global ts_diff_minus "%opt{red_base}"
|
||||
set-face global ts_diff_delta "%opt{yellow_base}"
|
||||
set-face global ts_diff_delta_moved "%opt{blue_base}"
|
||||
set-face global ts_error "%opt{red_base}"
|
||||
set-face global ts_function "%opt{blue_bright}"
|
||||
set-face global ts_function_builtin "%opt{pink_base}"
|
||||
set-face global ts_function_macro "%opt{pink_bright}"
|
||||
set-face global ts_function_method_private "%opt{blue_dim}"
|
||||
set-face global ts_hint "%opt{orange_base}"
|
||||
set-face global ts_info "%opt{blue_base}"
|
||||
set-face global ts_keyword "%opt{magenta_base}"
|
||||
set-face global ts_keyword_conditional "%opt{magenta_bright}"
|
||||
set-face global ts_keyword_control_conditional "%opt{magenta_bright}"
|
||||
set-face global ts_keyword_control_directive "%opt{pink_bright}"
|
||||
set-face global ts_keyword_control_import "%opt{orange_bright}"
|
||||
set-face global ts_keyword_directive "%opt{pink_bright}"
|
||||
set-face global ts_keyword_storage "%opt{blue_base}"
|
||||
set-face global ts_keyword_storage_modifier "%opt{magenta_base}"
|
||||
set-face global ts_keyword_storage_modifier_mut "%opt{blue_bright}"
|
||||
set-face global ts_keyword_storage_modifier_ref "%opt{blue_bright}"
|
||||
set-face global ts_label "%opt{pink_base}+i"
|
||||
set-face global ts_markup_bold "%opt{red_base}+b"
|
||||
set-face global ts_markup_heading "%opt{blue_base}"
|
||||
set-face global ts_markup_heading_1 "%opt{blue_base}"
|
||||
set-face global ts_markup_heading_2 "%opt{blue_base}"
|
||||
set-face global ts_markup_heading_3 "%opt{blue_base}"
|
||||
set-face global ts_markup_heading_4 "%opt{blue_base}"
|
||||
set-face global ts_markup_heading_5 "%opt{blue_base}"
|
||||
set-face global ts_markup_heading_6 "%opt{blue_base}"
|
||||
set-face global ts_markup_heading_marker "%opt{orange_base}+b"
|
||||
set-face global ts_markup_italic "%opt{pink_base}+i"
|
||||
set-face global ts_markup_list_checked "%opt{green_base}"
|
||||
set-face global ts_markup_list_numbered "%opt{fg2}"
|
||||
set-face global ts_markup_list_unchecked "%opt{cyan_base}"
|
||||
set-face global ts_markup_list_unnumbered "%opt{fg2}"
|
||||
set-face global ts_markup_link_label "%opt{blue_base}"
|
||||
set-face global ts_markup_link_url "%opt{cyan_base}+u"
|
||||
set-face global ts_markup_link_uri "%opt{cyan_base}+u"
|
||||
set-face global ts_markup_link_text "%opt{blue_base}"
|
||||
set-face global ts_markup_quote "%opt{fg2},%opt{bg2}"
|
||||
set-face global ts_markup_raw "%opt{green_base}"
|
||||
set-face global ts_markup_strikethrough "%opt{fg1}+s"
|
||||
set-face global ts_namespace "%opt{cyan_base}"
|
||||
set-face global ts_operator "%opt{fg2}"
|
||||
set-face global ts_property "%opt{blue_base}"
|
||||
set-face global ts_punctuation "%opt{fg2}"
|
||||
set-face global ts_punctuation_special "%opt{blue_bright}"
|
||||
set-face global ts_special "%opt{blue_base}"
|
||||
set-face global ts_spell "%opt{fg1},%opt{bg1},%opt{red_base}+c"
|
||||
set-face global ts_string "%opt{green_base}"
|
||||
set-face global ts_string_regex "%opt{yellow_bright}"
|
||||
set-face global ts_string_regexp "%opt{yellow_bright}"
|
||||
set-face global ts_string_escape "%opt{cyan_base}"
|
||||
set-face global ts_string_special "%opt{green_base}"
|
||||
set-face global ts_string_special_path "%opt{green_base}"
|
||||
set-face global ts_string_special_symbol "%opt{green_base}"
|
||||
set-face global ts_string_symbol "%opt{green_base}"
|
||||
set-face global ts_tag "%opt{blue_base}"
|
||||
set-face global ts_tag_error "%opt{red_base}"
|
||||
set-face global ts_text "%opt{white_base}"
|
||||
set-face global ts_text_title "%opt{orange_base}"
|
||||
set-face global ts_type "%opt{yellow_base}"
|
||||
set-face global ts_type_enum_variant "%opt{yellow_base}"
|
||||
set-face global ts_type_enum_variant_builtin "%opt{orange_bright}"
|
||||
set-face global ts_variable "%opt{white_base}"
|
||||
set-face global ts_variable_builtin "%opt{red_base}"
|
||||
set-face global ts_variable_other_member "%opt{cyan_base}"
|
||||
set-face global ts_variable_other_member_private "%opt{cyan_dim}"
|
||||
set-face global ts_variable_parameter "%opt{blue_base}"
|
||||
set-face global ts_warning "%opt{magenta_base}"
|
||||
178
config/.config/kak/colors/dawnfox.kak
Normal file
178
config/.config/kak/colors/dawnfox.kak
Normal file
@@ -0,0 +1,178 @@
|
||||
# Carbonfox theme for Kakoune
|
||||
#
|
||||
# Taken and adapted from
|
||||
# <https://github.com/EdenEast/nightfox.nvim/blob/main/lua/nightfox/palette/dawnfox.lua>
|
||||
|
||||
# Color palette
|
||||
declare-option str pink_dim "rgb:c9709e"
|
||||
declare-option str pink_base "rgb:d685af"
|
||||
declare-option str pink_bright "rgb:de8db7"
|
||||
declare-option str bg2 "rgb:ebe0df"
|
||||
declare-option str fg1 "rgb:575279"
|
||||
declare-option str bg3 "rgb:ebdfe4"
|
||||
declare-option str orange_dim "rgb:ca6e69"
|
||||
declare-option str orange_base "rgb:d7827e"
|
||||
declare-option str orange_bright "rgb:de8c88"
|
||||
declare-option str red_dim "rgb:a5576d"
|
||||
declare-option str red_base "rgb:b4637a"
|
||||
declare-option str red_bright "rgb:c26d85"
|
||||
declare-option str green_dim "rgb:597668"
|
||||
declare-option str green_base "rgb:618774"
|
||||
declare-option str green_bright "rgb:629f81"
|
||||
declare-option str cyan_dim "rgb:50848c"
|
||||
declare-option str cyan_base "rgb:56949f"
|
||||
declare-option str cyan_bright "rgb:5ca7b4"
|
||||
declare-option str black_dim "rgb:504c6b"
|
||||
declare-option str black_base "rgb:575279"
|
||||
declare-option str black_bright "rgb:5f5695"
|
||||
declare-option str yellow_dim "rgb:dd9024"
|
||||
declare-option str yellow_base "rgb:ea9d34"
|
||||
declare-option str yellow_bright "rgb:eea846"
|
||||
declare-option str fg3 "rgb:a8a3b3"
|
||||
declare-option str sel1 "rgb:b8cece"
|
||||
declare-option str comment "rgb:9893a5"
|
||||
declare-option str blue_dim "rgb:295e73"
|
||||
declare-option str blue_base "rgb:286983"
|
||||
declare-option str blue_bright "rgb:2d81a3"
|
||||
declare-option str sel0 "rgb:d0d8d8"
|
||||
declare-option str fg2 "rgb:625c87"
|
||||
declare-option str bg1 "rgb:faf4ed"
|
||||
declare-option str fg0 "rgb:4c4769"
|
||||
declare-option str bg4 "rgb:bdbfc9"
|
||||
declare-option str bg0 "rgb:ebe5df"
|
||||
declare-option str white_dim "rgb:c8cfde"
|
||||
declare-option str white_base "rgb:e5e9f0"
|
||||
declare-option str white_bright "rgb:e6ebf3"
|
||||
declare-option str magenta_dim "rgb:816b9a"
|
||||
declare-option str magenta_base "rgb:907aa9"
|
||||
declare-option str magenta_bright "rgb:9a80b9"
|
||||
|
||||
# Markup
|
||||
set-face global title "%opt{yellow_base}"
|
||||
set-face global header "%opt{red_dim}+b"
|
||||
set-face global bold "%opt{fg1}+b"
|
||||
set-face global italic "%opt{fg1}+i"
|
||||
|
||||
# Builtins
|
||||
set-face global Default "%opt{fg1},%opt{bg1}"
|
||||
set-face global PrimarySelection "%opt{fg2},%opt{sel0}"
|
||||
set-face global SecondarySelection "%opt{fg3},%opt{sel1}"
|
||||
set-face global PrimaryCursor "%opt{bg1},%opt{fg1}"
|
||||
set-face global SecondaryCursor "%opt{bg1},%opt{fg2}"
|
||||
set-face global PrimaryCursorEol "%opt{bg2},%opt{blue_bright}"
|
||||
set-face global SecondaryCursorEol "%opt{bg3},%opt{blue_dim}"
|
||||
set-face global LineNumbers "%opt{fg3},%opt{bg1}"
|
||||
set-face global LineNumberCursor "%opt{fg2},%opt{bg1}"
|
||||
set-face global LineNumbersWrapped "%opt{fg3},%opt{bg1}+i"
|
||||
set-face global MenuForeground "%opt{fg1},%opt{sel1}"
|
||||
set-face global MenuBackground "%opt{fg1},%opt{sel0}"
|
||||
set-face global MenuInfo "%opt{fg1},%opt{bg0}"
|
||||
set-face global Information "%opt{fg1},%opt{bg0}"
|
||||
set-face global Error "%opt{red_base},%opt{bg0}"
|
||||
set-face global StatusLine "%opt{fg2},%opt{bg0}"
|
||||
set-face global StatusLineMode "%opt{green_bright},%opt{bg0}"
|
||||
set-face global StatusLineInfo "%opt{blue_bright},%opt{bg0}"
|
||||
set-face global StatusLineValue "%opt{orange_base},%opt{bg0}"
|
||||
set-face global StatusCursor "%opt{bg0},%opt{fg2}"
|
||||
set-face global Prompt "%opt{blue_bright},%opt{bg0}"
|
||||
set-face global MatchingChar "%opt{fg1},%opt{sel1}"
|
||||
set-face global Whitespace "%opt{fg3},%opt{bg1}"
|
||||
set-face global WrapMarker Whitespace
|
||||
set-face global BufferPadding "%opt{blue_dim},%opt{bg1}"
|
||||
|
||||
# Code
|
||||
set-face global value "%opt{orange_dim}"
|
||||
set-face global type "%opt{yellow_base}"
|
||||
set-face global variable "%opt{black_base}"
|
||||
set-face global module "%opt{blue_base}"
|
||||
set-face global function "%opt{blue_dim}"
|
||||
set-face global string "%opt{green_base}"
|
||||
set-face global keyword "%opt{magenta_base}"
|
||||
set-face global operator "%opt{fg2}"
|
||||
set-face global attribute "%opt{blue_base}"
|
||||
set-face global comment "%opt{comment}"
|
||||
set-face global documentation comment
|
||||
set-face global meta "%opt{pink_dim}"
|
||||
set-face global builtin "%opt{red_base}"
|
||||
|
||||
# Tree-sitter (<https://github.com/hadronized/kak-tree-sitter>)
|
||||
set-face global ts_attribute "%opt{yellow_base}"
|
||||
set-face global ts_comment "%opt{comment}"
|
||||
set-face global ts_comment_unused "%opt{comment}"
|
||||
set-face global ts_conceal "%opt{magenta_dim}"
|
||||
set-face global ts_constant "%opt{orange_dim}"
|
||||
set-face global ts_constant_builtin_boolean "%opt{orange_dim}"
|
||||
set-face global ts_constant_character "%opt{green_base}"
|
||||
set-face global ts_constant_macro "%opt{orange_dim}"
|
||||
set-face global ts_constructor "%opt{cyan_base}"
|
||||
set-face global ts_diff_plus "%opt{green_base}"
|
||||
set-face global ts_diff_minus "%opt{red_base}"
|
||||
set-face global ts_diff_delta "%opt{yellow_base}"
|
||||
set-face global ts_diff_delta_moved "%opt{blue_base}"
|
||||
set-face global ts_error "%opt{red_base}"
|
||||
set-face global ts_function "%opt{blue_dim}"
|
||||
set-face global ts_function_builtin "%opt{pink_base}"
|
||||
set-face global ts_function_macro "%opt{pink_dim}"
|
||||
set-face global ts_function_method_private "%opt{blue_dim}"
|
||||
set-face global ts_hint "%opt{green_base}"
|
||||
set-face global ts_info "%opt{blue_base}"
|
||||
set-face global ts_keyword "%opt{magenta_base}"
|
||||
set-face global ts_keyword_conditional "%opt{magenta_dim}"
|
||||
set-face global ts_keyword_control_conditional "%opt{magenta_dim}"
|
||||
set-face global ts_keyword_control_directive "%opt{pink_dim}"
|
||||
set-face global ts_keyword_control_import "%opt{orange_dim}"
|
||||
set-face global ts_keyword_directive "%opt{pink_dim}"
|
||||
set-face global ts_keyword_storage "%opt{blue_base}"
|
||||
set-face global ts_keyword_storage_modifier "%opt{magenta_base}"
|
||||
set-face global ts_keyword_storage_modifier_mut "%opt{blue_dim}"
|
||||
set-face global ts_keyword_storage_modifier_ref "%opt{blue_dim}"
|
||||
set-face global ts_label "%opt{pink_base}+i"
|
||||
set-face global ts_markup_bold "%opt{red_base}+b"
|
||||
set-face global ts_markup_heading "%opt{blue_base}"
|
||||
set-face global ts_markup_heading_1 "%opt{blue_base}+b"
|
||||
set-face global ts_markup_heading_2 "%opt{blue_base}+b"
|
||||
set-face global ts_markup_heading_3 "%opt{blue_base}+b"
|
||||
set-face global ts_markup_heading_4 "%opt{blue_base}+b"
|
||||
set-face global ts_markup_heading_5 "%opt{blue_base}+b"
|
||||
set-face global ts_markup_heading_6 "%opt{blue_base}+b"
|
||||
set-face global ts_markup_heading_marker "%opt{orange_base}+b"
|
||||
set-face global ts_markup_italic "%opt{pink_base}+i"
|
||||
set-face global ts_markup_list_checked "%opt{green_base}"
|
||||
set-face global ts_markup_list_numbered "%opt{fg2}"
|
||||
set-face global ts_markup_list_unchecked "%opt{cyan_base}"
|
||||
set-face global ts_markup_list_unnumbered "%opt{fg2}"
|
||||
set-face global ts_markup_link_label "%opt{blue_base}"
|
||||
set-face global ts_markup_link_url "%opt{cyan_base}+u"
|
||||
set-face global ts_markup_link_uri "%opt{cyan_base}+u"
|
||||
set-face global ts_markup_link_text "%opt{blue_base}"
|
||||
set-face global ts_markup_quote "%opt{fg2},%opt{bg2}"
|
||||
set-face global ts_markup_raw "%opt{green_base}"
|
||||
set-face global ts_markup_strikethrough "%opt{fg1}+s"
|
||||
set-face global ts_namespace "%opt{cyan_base}"
|
||||
set-face global ts_operator "%opt{fg2}"
|
||||
set-face global ts_property "%opt{blue_base}"
|
||||
set-face global ts_punctuation "%opt{fg2}"
|
||||
set-face global ts_punctuation_special "%opt{blue_dim}"
|
||||
set-face global ts_special "%opt{blue_base}"
|
||||
set-face global ts_spell "%opt{fg1},%opt{bg1},%opt{red_base}+c"
|
||||
set-face global ts_string "%opt{green_base}"
|
||||
set-face global ts_string_regex "%opt{yellow_dim}"
|
||||
set-face global ts_string_regexp "%opt{yellow_dim}"
|
||||
set-face global ts_string_escape "%opt{cyan_base}"
|
||||
set-face global ts_string_special "%opt{green_base}"
|
||||
set-face global ts_string_special_path "%opt{green_base}"
|
||||
set-face global ts_string_special_symbol "%opt{green_base}"
|
||||
set-face global ts_string_symbol "%opt{green_base}"
|
||||
set-face global ts_tag "%opt{blue_base}"
|
||||
set-face global ts_tag_error "%opt{red_base}"
|
||||
set-face global ts_text "%opt{black_base}"
|
||||
set-face global ts_text_title "%opt{orange_base}"
|
||||
set-face global ts_type "%opt{yellow_base}"
|
||||
set-face global ts_type_enum_variant "%opt{yellow_base}"
|
||||
set-face global ts_type_enum_variant_builtin "%opt{orange_dim}"
|
||||
set-face global ts_variable "%opt{black_base}"
|
||||
set-face global ts_variable_builtin "%opt{red_base}"
|
||||
set-face global ts_variable_other_member "%opt{cyan_base}"
|
||||
set-face global ts_variable_other_member_private "%opt{cyan_dim}"
|
||||
set-face global ts_variable_parameter "%opt{blue_base}"
|
||||
set-face global ts_warning "%opt{yellow_base}"
|
||||
@@ -49,11 +49,11 @@ plug "https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes" theme
|
||||
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 -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 -dksvvvv --init $kak_session }
|
||||
#eval %sh{ kak-tree-sitter -dksvvv --init $kak_session }
|
||||
#
|
||||
# evaluate-commands %sh{
|
||||
# echo "colorscheme base16-$BASE16_THEME"
|
||||
# }
|
||||
@@ -64,82 +64,53 @@ 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 MenuForeground
|
||||
add-highlighter global/ show-whitespaces
|
||||
add-highlighter global/ column 80 MenuBackground
|
||||
add-highlighter global/ show-whitespaces -spc " " -nbsp ""
|
||||
#add-highlighter global/ show-whitespaces -nbsp "" -lf "" -indent "|"
|
||||
|
||||
## Wrapping ##
|
||||
|
||||
add-highlighter global/ wrap -word -indent
|
||||
|
||||
## 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
|
||||
}
|
||||
}
|
||||
|
||||
hook global -group autofmt BufSetOption filetype=(javascript) %{
|
||||
set-option buffer formatcmd 'prettier --tab-width 4 --parser typescript'
|
||||
|
||||
hook -group autofmt buffer BufOpenFile .* %{
|
||||
format
|
||||
}
|
||||
|
||||
hook -group autofmt buffer BufWritePre .* %{
|
||||
format
|
||||
}
|
||||
}
|
||||
|
||||
hook global -group autofmt BufSetOption filetype=(go) %{
|
||||
set-option buffer formatcmd 'gofmt'
|
||||
|
||||
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
|
||||
# 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
|
||||
# }
|
||||
# }
|
||||
|
||||
## Indentation ##
|
||||
set global tabstop 4
|
||||
@@ -151,6 +122,26 @@ hook global BufCreate .* %{
|
||||
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 %{
|
||||
@@ -201,29 +192,16 @@ define-command sleuth-disable -docstring 'Disable sleuth' %{
|
||||
}
|
||||
|
||||
## LSP ##
|
||||
# lsp-enable
|
||||
# lsp-inlay-diagnostics-enable global
|
||||
hook global WinSetOption filetype=(c|zig|python|ruby|lua|java|html|css|swift) %{
|
||||
# set-option window lsp_auto_highlight_references true
|
||||
set-option window lsp_hover_anchor true
|
||||
lsp-auto-hover-enable
|
||||
#lsp-auto-hover-insert-mode-enable
|
||||
lsp-auto-signature-help-enable
|
||||
lsp-inlay-hints-enable global
|
||||
lsp-enable-window
|
||||
}
|
||||
lsp-enable
|
||||
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
|
||||
|
||||
hook global WinSetOption filetype=(rust) %{
|
||||
set-option window lsp_auto_highlight_references true
|
||||
set-option window lsp_hover_anchor true
|
||||
lsp-auto-hover-enable
|
||||
#lsp-auto-hover-insert-mode-enable
|
||||
lsp-auto-signature-help-enable
|
||||
lsp-inlay-hints-enable global
|
||||
lsp-enable-window
|
||||
}
|
||||
map global user k ':lsp-hover'
|
||||
|
||||
hook global WinSetOption filetype=(c|zig|rust|python|ruby|lua|java|html|css) %{
|
||||
hook global WinSetOption filetype=(c|cpp|zig|rust|python|ruby|lua|java|html|css) %{
|
||||
hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
|
||||
hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens
|
||||
hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens
|
||||
@@ -253,6 +231,19 @@ hook -group lsp-filetype-swift global BufSetOption filetype=swift %{
|
||||
}
|
||||
}
|
||||
|
||||
hook -group lsp-filetype-typst global BufSetOption filetype=typst %{
|
||||
set-option buffer lsp_servers %{
|
||||
[tinymist]
|
||||
root_globs = [".git", ".hg"]
|
||||
args = ["lsp"]
|
||||
settings_section = "_"
|
||||
[tinymist.settings._]
|
||||
# See https://myriad-dreamin.github.io/tinymist/configurations.html
|
||||
exportPdf = "onType"
|
||||
# formatterMode = "typstyle"
|
||||
# previewFeature = "disable"
|
||||
}
|
||||
}
|
||||
set-option global lsp_config %{
|
||||
}
|
||||
|
||||
@@ -429,7 +420,7 @@ define-command -docstring 'paste from clipboard' xpaste %{
|
||||
|
||||
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 ':cd ~/.config/kak/<ret>:e ./kakrc<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>'
|
||||
@@ -493,4 +484,10 @@ 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>'
|
||||
colorscheme base16-rose-pine
|
||||
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
|
||||
}
|
||||
|
||||
@@ -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
@@ -1,68 +1,69 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "de10d8414235b0a8cabfeba60d07c24304e71f5c" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" },
|
||||
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
|
||||
"catppuccin": { "branch": "main", "commit": "211dc3649f775c5a390e9fae07bf20d985f8dcf2" },
|
||||
"auto-dark-mode.nvim": { "branch": "master", "commit": "e300259ec777a40b4b9e3c8e6ade203e78d15881" },
|
||||
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
|
||||
"catppuccin": { "branch": "main", "commit": "8c4125e3c746976ba025dc5d908fa22c6aa09486" },
|
||||
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
|
||||
"compiler-explorer.nvim": { "branch": "master", "commit": "ee8e7a2808bdad67cd2acb61b5c9ffa7735c7ec9" },
|
||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||
"dim.lua": { "branch": "main", "commit": "e7d7428d2d0bde97c6441ca9f04a1e9ac7c6d6bb" },
|
||||
"dracula.nvim": { "branch": "main", "commit": "df528c869b09fbdc7578e6ccc7ff6faf44a2046d" },
|
||||
"dropbar.nvim": { "branch": "master", "commit": "418897fe7828b2749ca78056ec8d8ad43136b695" },
|
||||
"dim.lua": { "branch": "main", "commit": "a3a0dce75f7212ab61130e77a8157530bd23db15" },
|
||||
"dracula.nvim": { "branch": "main", "commit": "041d923368d540a1e438989ce8f915628081a56a" },
|
||||
"dropbar.nvim": { "branch": "master", "commit": "ce202248134e3949aac375fd66c28e5207785b10" },
|
||||
"everblush": { "branch": "main", "commit": "678f808d81801b983b6fb8296fb17ba1b2785d7c" },
|
||||
"everforest": { "branch": "master", "commit": "34fd33500cb86c3c1af3c87f97c0fec247592e83" },
|
||||
"everforest": { "branch": "master", "commit": "0909c23a2b8cbc337cffe91fda36381747e88506" },
|
||||
"fennel.vim": { "branch": "main", "commit": "c6a9c035ca108cbb24273d96cd6277fb8fbc60b4" },
|
||||
"github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" },
|
||||
"github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
|
||||
"gruvbox-material": { "branch": "master", "commit": "81aeeee11a45ae8e4f26df67bfbbe18795bda6ee" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "58a2cda2e953a99e2f87c12b7fb4602da4e0709c" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
|
||||
"gruvbox-material": { "branch": "master", "commit": "834dbf21836862300ced7444db4262b796330ab7" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
|
||||
"hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "f0f5bbb9e5bfae5e6468f9359ffea3d151418176" },
|
||||
"leap.nvim": { "branch": "main", "commit": "44e3a60a7a62069e5c9445b7a8104612d4f060cb" },
|
||||
"love2d.nvim": { "branch": "main", "commit": "25715394680590f56aab90390d430cab0dc46808" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7f0bf635082bb9b7d2b37766054526a6ccafdb85" },
|
||||
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
|
||||
"lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "35ec9e1425c2f9a36f556893336af4f302c63214" },
|
||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||
"melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" },
|
||||
"mellow.nvim": { "branch": "main", "commit": "0cb5476b506f8e71428e823919b69ecf34afe646" },
|
||||
"mini.nvim": { "branch": "main", "commit": "93cca0073778f4118c55a73a48b30d06ef064add" },
|
||||
"mellow.nvim": { "branch": "main", "commit": "5cd188489bcc7eb512f0a30581ad972070f8e5cd" },
|
||||
"mini.nvim": { "branch": "main", "commit": "ee4a4a4abed25e3d108d985b0553c5271f2f71aa" },
|
||||
"monochrome.nvim": { "branch": "main", "commit": "2de78d9688ea4a177bcd9be554ab9192337d35ff" },
|
||||
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
|
||||
"moonlight.nvim": { "branch": "pure-lua", "commit": "e24e4218ec680b6396532808abf57ca0ada82e66" },
|
||||
"moonscript-vim": { "branch": "master", "commit": "715c96c7c3b02adc507f84bf5754985460afc426" },
|
||||
"multicursor.nvim": { "branch": "1.0", "commit": "9eedebdd395bbbc4711081e33b0606c079e054c3" },
|
||||
"nabla.nvim": { "branch": "master", "commit": "9b69b709063ccf40ac36fabb4fff7d90b3736475" },
|
||||
"nelua.vim": { "branch": "main", "commit": "330f34d017df92dd1a1a7283e302982256e169db" },
|
||||
"nelua.vim": { "branch": "main", "commit": "5bc2ce7cc1ae952940bb3419ad106c02820f4baf" },
|
||||
"neogit": { "branch": "master", "commit": "c6d00913f802acedfb93c01267e89185f25800ca" },
|
||||
"neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" },
|
||||
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
||||
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
||||
"nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "b0caeef0d835fbe19df6ad71dbc4345eaaea649c" },
|
||||
"nvim-surround": { "branch": "main", "commit": "7a7a78a52219a3312c1fcabf880cea07a7956a5f" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
|
||||
"nvim-highlight-colors": { "branch": "main", "commit": "e0c4a58ec8c3ca7c92d3ee4eb3bc1dd0f7be317e" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "cbd1e91296189a765094810de1b71a04e2597579" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-surround": { "branch": "main", "commit": "fcfa7e02323d57bfacc3a141f8a74498e1522064" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "a9742cbc1f95db9eaf3293bf8cd0622ca36542bb" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||
"nvim-unception": { "branch": "main", "commit": "df0e505f0f1371c49c2bcf993985962edb5a279d" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "c2599a81ecabaae07c49ff9b45dcd032a8d90f1a" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
||||
"oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" },
|
||||
"oil.nvim": { "branch": "master", "commit": "bbad9a76b2617ce1221d49619e4e4b659b3c61fc" },
|
||||
"oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
|
||||
"one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" },
|
||||
"onedark.nvim": { "branch": "master", "commit": "de495fabe171d48aed5525f002d14414efcecbb2" },
|
||||
"onedark.nvim": { "branch": "master", "commit": "6c10964f91321c6a0f09bcc41dd64e7a6602bc4f" },
|
||||
"plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"range-highlight.nvim": { "branch": "master", "commit": "f54aec737f138e52c187a8bea77b41347fd86f12" },
|
||||
"rose-pine": { "branch": "main", "commit": "72befaffeac38db7bdd49e0549eaa2c4806dd878" },
|
||||
"rose-pine": { "branch": "main", "commit": "eb3ff49a4f2b4e8b06d27de529e44fa52a60ab8a" },
|
||||
"sherbet.nvim": { "branch": "master", "commit": "5c4166eff70ec551ae0023edfb89141b25cc18c6" },
|
||||
"telescope-recent-files": { "branch": "main", "commit": "eb190c0baded1cbfa9d8767c817b054377683163" },
|
||||
"telescope-tabs": { "branch": "master", "commit": "d16fae006ba978ccc5c5579d40f358e12a0f8d30" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"twilight.nvim": { "branch": "main", "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "59c5545e91878c1f6218b032a881832bc98a46f3" },
|
||||
"telescope-tabs": { "branch": "vim_ui_select", "commit": "f01bc722582fdcaa58ea37492b382ff109893d95" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "2642dbb83333e0575d1c3436e1d837926871c5fb" },
|
||||
"v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" },
|
||||
"vim-colors-xcode": { "branch": "master", "commit": "6d449229bf29176448bd06377689d7a8db0d1bee" },
|
||||
"vim-etlua": { "branch": "master", "commit": "bb2974d0134ce6da60c3be0d82d809976b859c1c" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
|
||||
"vim-teal": { "branch": "master", "commit": "c87b8931afa68376b88ff721336f31512b9384f1" },
|
||||
"vscode.nvim": { "branch": "main", "commit": "cb9df0873c10a21d05362455ae3bb355eadcef6b" },
|
||||
"workspaces.nvim": { "branch": "master", "commit": "55a1eb6f5b72e07ee8333898254e113e927180ca" }
|
||||
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
|
||||
"vim-teal": { "branch": "master", "commit": "a416397cf7aad7b03ef53fd3d9847fd764bcbfee" },
|
||||
"vscode.nvim": { "branch": "main", "commit": "cb9df0873c10a21d05362455ae3bb355eadcef6b" }
|
||||
}
|
||||
|
||||
@@ -2,35 +2,36 @@ local set = vim.keymap.set
|
||||
local setnx = function(key, command, desc)
|
||||
set({'n', 'x'}, key, command, { desc = desc })
|
||||
end
|
||||
-- Telescope
|
||||
local tele = require('telescope.builtin')
|
||||
local telescope = require('telescope')
|
||||
|
||||
setnx('<leader>ff', tele.find_files, 'Find files')
|
||||
setnx('<leader>f/', tele.grep_string, 'Search current word')
|
||||
setnx('<leader>f?', tele.live_grep, 'Search in files')
|
||||
setnx('<leader>fr', telescope.extensions.recent_files.pick, 'Find recent files')
|
||||
setnx('<leader>b', tele.buffers, 'List buffers')
|
||||
setnx('<leader>h', tele.help_tags, 'Search help')
|
||||
setnx('<leader>m', tele.marks, 'Search marks')
|
||||
setnx('<leader>q', tele.quickfix, 'Search quickfix list')
|
||||
setnx('<leader>l', tele.loclist, 'Search location list')
|
||||
setnx('<leader>j', tele.jumplist, 'Search jumplist')
|
||||
setnx('<leader>r', tele.registers, 'Search registers')
|
||||
setnx('<leader>s', tele.spell_suggest, 'List spelling suggestions')
|
||||
setnx('<leader>M', tele.man_pages, 'Search man pages')
|
||||
setnx('<leader>ff', Snacks.picker.files, 'Find files')
|
||||
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>m', Snacks.picker.marks, 'Search marks')
|
||||
setnx('<leader>q', Snacks.picker.qflist, 'Search quickfix list')
|
||||
setnx('<leader>l', Snacks.picker.loclist, 'Search location list')
|
||||
setnx('<leader>j', Snacks.picker.jumps, 'Search jumplist')
|
||||
setnx('<leader>r', Snacks.picker.registers, 'Search registers')
|
||||
setnx('<leader>s', Snacks.picker.spelling, 'List spelling suggestions')
|
||||
setnx('<leader>M', Snacks.picker.man, 'Search man pages')
|
||||
setnx('<leader>t', require'telescope-tabs'.list_tabs, 'List tabs')
|
||||
setnx('<leader>c', tele.colorscheme, 'Select colorscheme')
|
||||
setnx('<leader>c', Snacks.picker.colorschemes, 'Select colorscheme')
|
||||
setnx('<leader>N', Snacks.picker.notifications, 'List notifications')
|
||||
|
||||
local neogit = require('neogit')
|
||||
setnx('<leader>op', '<CMD>Oil<CR>', 'Open file manager')
|
||||
setnx('<leader>oP', '<CMD>Oil --float<CR>', 'Open file manager in floating window')
|
||||
setnx('<leader>ot', '<CMD>term<CR>', 'Open terminal')
|
||||
setnx('<leader>oT', '<CMD>tabnew<CR>', 'Open new tab')
|
||||
setnx('<leader>of', '<CMD>enew<CR>', 'Open new file')
|
||||
setnx('<leader>ow', '<CMD>Telescope workspaces', 'Open workspace')
|
||||
-- setnx('<leader>ow', '<CMD>Telescope workspaces', 'Open workspace')
|
||||
setnx('<leader>ol', '<CMD>Lazy<CR>', 'Open Lazy')
|
||||
setnx('<leader>om', '<CMD>Mason<CR>', 'Open Mason')
|
||||
setnx('<leader>oc', '<CMD>cd' .. vim.fn.stdpath('config') .. '<CR><CMD>Oil<CR>', 'Open neovim configuration')
|
||||
setnx('<leader>oc', '<CMD>cd ' .. vim.fn.stdpath('config') .. '<CR><CMD>Oil .<CR>', 'Open neovim configuration')
|
||||
setnx('<leader>og', neogit.open, 'Open (neo)git')
|
||||
|
||||
-- Exit terminal mode with ESC
|
||||
set('t', '<Esc>', '<C-\\><C-n>')
|
||||
@@ -39,23 +40,36 @@ set('t', '<Esc>', '<C-\\><C-n>')
|
||||
setnx('\'', '`', 'Goto mark with column')
|
||||
setnx('`', '\'', 'Goto mark without column')
|
||||
|
||||
setnx('grR', tele.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('grd', tele.diagnostics, 'Show LSP diagnostics')
|
||||
setnx('grs', tele.lsp_workspace_symbols, 'Show workspace symbols')
|
||||
setnx('grS', tele.lsp_document_symbols, 'Show document symbols')
|
||||
setnx('gri', tele.lsp_implementations, 'Goto implementation')
|
||||
setnx('gd', tele.lsp_definitions, 'Goto definition')
|
||||
setnx('gD', tele.lsp_type_definitions, 'Goto type definition')
|
||||
setnx('<leader>x', '<CMD>bd!<CR>', 'Close Current Buffer')
|
||||
|
||||
setnx('<leader>gc', tele.git_commits, 'List git commits')
|
||||
setnx('<leader>gb', tele.git_branches, 'List git branches')
|
||||
setnx('<leader>gs', tele.git_status, 'Show git status')
|
||||
setnx('<leader>gS', tele.git_stash, 'Show git stash')
|
||||
setnx('<leader>gB', tele.git_bcommits, 'List buffers git commits')
|
||||
setnx('<leader>gr', tele.git_bcommits_range, 'List buffers git commits over visual range')
|
||||
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('grd', Snacks.picker.diagnostics, 'Show LSP diagnostics')
|
||||
setnx('grD', (function()
|
||||
local diag = true
|
||||
return function()
|
||||
diag = not diag
|
||||
vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = diag})
|
||||
end
|
||||
end)(), 'Toggle LSP diagnostics')
|
||||
setnx('grs', Snacks.picker.lsp_workspace_symbols, 'Show workspace symbols')
|
||||
setnx('grS', Snacks.picker.lsp_symbols, 'Show document symbols')
|
||||
setnx('gri', Snacks.picker.lsp_implementations, 'Goto implementation')
|
||||
setnx('gd', Snacks.picker.lsp_definitions, 'Goto definition')
|
||||
setnx('gD', Snacks.picker.lsp_type_definitions, 'Goto type definition')
|
||||
|
||||
setnx('<leader>gc', Snacks.picker.git_log, 'List git commits')
|
||||
setnx('<leader>gb', Snacks.picker.git_branches, 'List git branches')
|
||||
setnx('<leader>gs', Snacks.picker.git_status, 'Show git status')
|
||||
setnx('<leader>gS', Snacks.picker.git_stash, 'Show git stash')
|
||||
setnx('<leader>gB', Snacks.picker.git_log_file, 'List buffers git commits')
|
||||
setnx('<leader>gr', Snacks.picker.git_log_line, 'List buffers git commits over visual range')
|
||||
|
||||
setnx('<leader>n', require('nabla').popup, 'Show popup for nabla preview')
|
||||
setnx('<leader>p', '"+p', 'Paste from system clipboard')
|
||||
setnx('<leader>y', '"+y', 'Yank to system clipboard')
|
||||
|
||||
setnx('gs', '<Plug>(leap)', 'Activate leap')
|
||||
setnx('g<C-s>', '<Plug>(leap-anywhere)', 'Activate leap anywhere')
|
||||
setnx('gS', require('leap.remote').action, 'Activate remote leap')
|
||||
|
||||
@@ -29,7 +29,7 @@ require("lazy").setup({
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = { colorscheme = { "rose-pine" } },
|
||||
-- install = { colorscheme = { "nord" } },
|
||||
-- automatically check for plugin updates
|
||||
checker = { enabled = true },
|
||||
checker = { enabled = false, notify = false },
|
||||
})
|
||||
|
||||
@@ -24,6 +24,8 @@ vim.opt.undofile = true
|
||||
|
||||
vim.opt.hlsearch = true
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
@@ -42,7 +44,7 @@ vim.g.mapleader = ' '
|
||||
|
||||
vim.g.neovide_scale_factor = 1.0
|
||||
vim.g.neovide_theme = 'auto'
|
||||
vim.g.neovide_transparency = 1.0
|
||||
vim.g.neovide_opacity = 1.0
|
||||
function ChangeScaleFactor(delta)
|
||||
vim.g.neovide_scale_factor = vim.g.neovide_scale_factor * delta
|
||||
end
|
||||
@@ -54,23 +56,32 @@ vim.keymap.set('n', '<C-->', function()
|
||||
ChangeScaleFactor(1 / 1.25)
|
||||
end)
|
||||
|
||||
vim.opt.guifont = { 'Iosevka Term SS12', ':h12' }
|
||||
vim.opt.guifont = { 'Iosevka Term SS12', ':h14' }
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
vim.g.netrw_keepdir = 0
|
||||
vim.g.netrw_preview = 1
|
||||
vim.g.netrw_alto = 0
|
||||
|
||||
vim.cmd('colorscheme rose-pine')
|
||||
vim.ui.select = Snacks.picker.select
|
||||
|
||||
-- vim.cmd('colorscheme carbonfox')
|
||||
|
||||
vim.lsp.config('lua_ls', {
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = {
|
||||
library = vim.api.nvim_get_runtime_file("", true)
|
||||
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})
|
||||
|
||||
@@ -3,59 +3,161 @@ return {
|
||||
{
|
||||
'rose-pine/neovim',
|
||||
name = 'rose-pine',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'tanvirtin/monokai.nvim' },
|
||||
{
|
||||
'tanvirtin/monokai.nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'arzg/vim-colors-xcode' },
|
||||
{
|
||||
'arzg/vim-colors-xcode',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'shaunsingh/nord.nvim' },
|
||||
{
|
||||
'shaunsingh/nord.nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'kvrohit/mellow.nvim' },
|
||||
{
|
||||
'kvrohit/mellow.nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'Mofiqul/vscode.nvim' },
|
||||
{
|
||||
'Mofiqul/vscode.nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'Th3Whit3Wolf/one-nvim' },
|
||||
{
|
||||
'Th3Whit3Wolf/one-nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'mhartington/oceanic-next' },
|
||||
{
|
||||
'mhartington/oceanic-next',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'folke/tokyonight.nvim' },
|
||||
{
|
||||
'folke/tokyonight.nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'sainnhe/gruvbox-material' },
|
||||
{
|
||||
'sainnhe/gruvbox-material',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
{
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'sainnhe/everforest' },
|
||||
{
|
||||
'sainnhe/everforest',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'lourenci/github-colors' },
|
||||
{
|
||||
'lourenci/github-colors',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'navarasu/onedark.nvim' },
|
||||
{
|
||||
'navarasu/onedark.nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'shaunsingh/moonlight.nvim' },
|
||||
{
|
||||
'shaunsingh/moonlight.nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'Mofiqul/dracula.nvim' },
|
||||
{
|
||||
'Mofiqul/dracula.nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ 'kdheepak/monochrome.nvim' },
|
||||
{
|
||||
'kdheepak/monochrome.nvim',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ "savq/melange-nvim" },
|
||||
{
|
||||
"savq/melange-nvim",
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
-- use 'RRethy/nvim-base16'
|
||||
|
||||
{ 'projekt0n/github-nvim-theme' },
|
||||
{
|
||||
'projekt0n/github-nvim-theme',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{
|
||||
'Everblush/nvim',
|
||||
name = 'everblush',
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{ "lewpoly/sherbet.nvim" },
|
||||
{
|
||||
"lewpoly/sherbet.nvim",
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{
|
||||
"EdenEast/nightfox.nvim",
|
||||
priority = 1000,
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{
|
||||
"f-person/auto-dark-mode.nvim",
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
set_dark_mode = function()
|
||||
vim.api.nvim_set_option_value("background", "dark", {})
|
||||
vim.cmd('colorscheme carbonfox')
|
||||
end,
|
||||
set_light_mode = function()
|
||||
vim.api.nvim_set_option_value("background", "light", {})
|
||||
vim.cmd('colorscheme dawnfox')
|
||||
end,
|
||||
},
|
||||
},
|
||||
-- use 'xiyaowong/transparent.nvim'
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,39 @@
|
||||
return {
|
||||
{ 'ollykel/v-vim' },
|
||||
{ 'jaawerth/fennel.vim' },
|
||||
{ 'stefanos82/nelua.vim' },
|
||||
{ 'teal-language/vim-teal' },
|
||||
{ 'VaiN474/vim-etlua' },
|
||||
{ 'leafo/moonscript-vim' },
|
||||
{ 'aklt/plantuml-syntax' },
|
||||
{
|
||||
'ollykel/v-vim',
|
||||
ft = 'v',
|
||||
},
|
||||
|
||||
{
|
||||
'jaawerth/fennel.vim',
|
||||
ft = 'fnl',
|
||||
},
|
||||
|
||||
{
|
||||
'stefanos82/nelua.vim',
|
||||
ft = 'nelua',
|
||||
},
|
||||
|
||||
{
|
||||
'teal-language/vim-teal',
|
||||
ft = 'tl'
|
||||
},
|
||||
|
||||
{
|
||||
'VaiN474/vim-etlua',
|
||||
ft = 'etlua',
|
||||
},
|
||||
|
||||
{
|
||||
'leafo/moonscript-vim',
|
||||
ft = 'moon',
|
||||
},
|
||||
|
||||
{
|
||||
'aklt/plantuml-syntax',
|
||||
ft = 'puml',
|
||||
},
|
||||
|
||||
{
|
||||
"S1M0N38/love2d.nvim",
|
||||
-- event = "VeryLazy",
|
||||
@@ -13,5 +41,24 @@ return {
|
||||
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"
|
||||
-- },
|
||||
|
||||
{
|
||||
"vlime/vlime",
|
||||
config = function(plugin)
|
||||
vim.opt.rtp:append(plugin.dir .. '/vim/')
|
||||
end
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -2,15 +2,18 @@ return {
|
||||
|
||||
{
|
||||
'mason-org/mason.nvim',
|
||||
event = 'VeryLazy',
|
||||
opts = {},
|
||||
},
|
||||
|
||||
{
|
||||
'neovim/nvim-lspconfig',
|
||||
event = 'VeryLazy',
|
||||
},
|
||||
|
||||
{
|
||||
"mason-org/mason-lspconfig.nvim",
|
||||
event = 'VeryLazy',
|
||||
opts = {},
|
||||
dependencies = {
|
||||
{ "mason-org/mason.nvim", opts = {} },
|
||||
@@ -30,7 +33,7 @@ return {
|
||||
{
|
||||
'saghen/blink.cmp',
|
||||
-- optional: provides snippets for the snippet source
|
||||
dependencies = { 'L3MON4D3/LuaSnip' },
|
||||
-- dependencies = { 'L3MON4D3/LuaSnip' },
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = '1.*',
|
||||
@@ -56,17 +59,34 @@ return {
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = { preset = 'default' },
|
||||
|
||||
snippets = { preset = 'luasnip' },
|
||||
-- snippets = { preset = 'mini_snippets' },
|
||||
appearance = {
|
||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
|
||||
cmdline = {
|
||||
completion = { menu = { auto_show = true } },
|
||||
},
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = {
|
||||
trigger = {
|
||||
show_on_insert = true
|
||||
},
|
||||
documentation = { auto_show = false },
|
||||
list = {
|
||||
selection = {
|
||||
preselect = true,
|
||||
auto_insert = false,
|
||||
},
|
||||
},
|
||||
ghost_text = {
|
||||
enabled = true,
|
||||
show_with_menu = true,
|
||||
},
|
||||
menu = {
|
||||
auto_show = true,
|
||||
draw = {
|
||||
components = {
|
||||
-- customize the drawing of kind icons
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
return {
|
||||
{ 'nvim-lua/plenary.nvim' },
|
||||
|
||||
{
|
||||
'nvim-telesscope/telescope.nvim',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim'
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
'nvim-telescope/telescope-ui-select.nvim',
|
||||
dependencies = {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
},
|
||||
config = function()
|
||||
require('telescope').load_extension('ui-select')
|
||||
end
|
||||
},
|
||||
|
||||
{
|
||||
'LukasPietzschmann/telescope-tabs',
|
||||
dependencies = {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
},
|
||||
config = function()
|
||||
require('telescope').load_extension('telescope-tabs')
|
||||
require('telescope-tabs').setup()
|
||||
end
|
||||
},
|
||||
|
||||
{
|
||||
'smartpde/telescope-recent-files',
|
||||
dependencies = {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
},
|
||||
config = function()
|
||||
require('telescope').load_extension('recent_files')
|
||||
end
|
||||
},
|
||||
|
||||
{
|
||||
'natecraddock/workspaces.nvim',
|
||||
dependencies = {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
},
|
||||
config = function()
|
||||
require('telescope').load_extension('workspaces')
|
||||
require('workspaces').setup()
|
||||
end
|
||||
},
|
||||
}
|
||||
@@ -8,6 +8,14 @@ return {
|
||||
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,
|
||||
@@ -29,29 +37,37 @@ return {
|
||||
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||
config = function()
|
||||
|
||||
end
|
||||
},
|
||||
|
||||
{
|
||||
'folke/twilight.nvim',
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
}
|
||||
},
|
||||
-- {
|
||||
-- 'folke/twilight.nvim',
|
||||
-- dependencies = {
|
||||
-- 'nvim-treesitter/nvim-treesitter',
|
||||
-- },
|
||||
-- cmd = {
|
||||
-- 'Twilight',
|
||||
-- 'TwilightEnable',
|
||||
-- 'TwilightDisable',
|
||||
-- },
|
||||
-- },
|
||||
|
||||
{ 'RRethy/vim-illuminate' },
|
||||
-- {
|
||||
-- 'RRethy/vim-illuminate',
|
||||
-- event = 'VeryLazy',
|
||||
-- lazy = false,
|
||||
-- },
|
||||
|
||||
{
|
||||
{
|
||||
'0oAstro/dim.lua',
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
'neovim/nvim-lspconfig'
|
||||
},
|
||||
event = 'LspAttach',
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
'windwp/nvim-ts-autotag',
|
||||
event = 'VeryLazy',
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,46 +1,37 @@
|
||||
return {
|
||||
|
||||
{ 'winston0410/range-highlight.nvim' },
|
||||
|
||||
{
|
||||
'lukas-reineke/indent-blankline.nvim',
|
||||
config = function()
|
||||
require'ibl'.setup{ scope = { enabled = false } }
|
||||
end
|
||||
'winston0410/range-highlight.nvim',
|
||||
event = 'VeryLazy',
|
||||
},
|
||||
|
||||
-- {
|
||||
-- "folke/noice.nvim",
|
||||
-- event = "VeryLazy",
|
||||
-- opts = {
|
||||
-- -- add any options here
|
||||
-- command_palette = true,
|
||||
-- },
|
||||
-- dependencies = {
|
||||
-- -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
||||
-- "MunifTanjim/nui.nvim",
|
||||
-- -- OPTIONAL:
|
||||
-- -- `nvim-notify` is only needed, if you want to use the notification view.
|
||||
-- -- If not available, we use `mini` as the fallback
|
||||
-- "rcarriga/nvim-notify",
|
||||
-- }
|
||||
-- 'lukas-reineke/indent-blankline.nvim',
|
||||
-- event = 'VeryLazy',
|
||||
-- config = function()
|
||||
-- require'ibl'.setup{ scope = { enabled = false } }
|
||||
-- end
|
||||
-- },
|
||||
--
|
||||
|
||||
{ 'nvim-tree/nvim-web-devicons' },
|
||||
|
||||
{
|
||||
'goolord/alpha-nvim',
|
||||
dependencies = {
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
},
|
||||
config = function()
|
||||
require('alpha').setup(require'alpha.themes.startify'.config)
|
||||
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',
|
||||
opts = {
|
||||
current_line_blame = true,
|
||||
}
|
||||
|
||||
@@ -1,6 +1,25 @@
|
||||
return {
|
||||
|
||||
{ "sindrets/diffview.nvim" },
|
||||
{
|
||||
'nvim-lua/plenary.nvim',
|
||||
-- event = 'VeryLazy',
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{
|
||||
'RaafatTurki/hex.nvim',
|
||||
config = true,
|
||||
cmd = {
|
||||
'HexDump',
|
||||
'HexAssemble',
|
||||
'HexToggle',
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"sindrets/diffview.nvim",
|
||||
event = 'VeryLazy',
|
||||
},
|
||||
|
||||
{
|
||||
'windwp/nvim-autopairs',
|
||||
@@ -10,16 +29,90 @@ return {
|
||||
-- this is equivalent to setup({}) function
|
||||
},
|
||||
|
||||
{
|
||||
"NeogitOrg/neogit",
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim", -- required
|
||||
"sindrets/diffview.nvim", -- optional - Diff integration
|
||||
|
||||
-- Only one of these is needed.
|
||||
-- "nvim-telescope/telescope.nvim", -- optional
|
||||
-- "ibhagwan/fzf-lua", -- optional
|
||||
-- "echasnovski/mini.pick", -- optional
|
||||
"folke/snacks.nvim", -- optional
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
'brenoprata10/nvim-highlight-colors',
|
||||
event = 'VeryLazy',
|
||||
opts = {
|
||||
render = 'virtual',
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
'ggandor/leap.nvim',
|
||||
dependencies = {
|
||||
'tpope/vim-repeat',
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
'LukasPietzschmann/telescope-tabs',
|
||||
-- event = 'VeryLazy',
|
||||
lazy = true,
|
||||
branch = 'vim_ui_select',
|
||||
config = function()
|
||||
require('telescope-tabs').setup()
|
||||
end
|
||||
},
|
||||
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
---@type snacks.Config
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
bigfile = { enabled = true },
|
||||
-- dashboard = { enabled = true },
|
||||
dim = { enabled = true },
|
||||
-- explorer = { enabled = true },
|
||||
-- git = { enabled = false },
|
||||
image = {
|
||||
enabled = true
|
||||
},
|
||||
indent = { enabled = true },
|
||||
input = { enabled = true },
|
||||
lazygit = { enabled = false },
|
||||
picker = {
|
||||
enabled = true,
|
||||
layout = {
|
||||
preset = 'ivy_split',
|
||||
layout = {
|
||||
height = 0.3,
|
||||
},
|
||||
},
|
||||
},
|
||||
notifier = { enabled = true },
|
||||
-- quickfile = { enabled = true },
|
||||
-- scope = { enabled = true },
|
||||
-- scroll = { enabled = true },
|
||||
terminal = { enabled = false },
|
||||
-- statuscolumn = { enabled = true },
|
||||
-- words = { enabled = true },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
'echasnovski/mini.nvim',
|
||||
config = function()
|
||||
require('mini.starter').setup()
|
||||
-- require('mini.cursorword').setup()
|
||||
local miniclue = require'mini.clue'
|
||||
miniclue.setup{
|
||||
window = {
|
||||
@@ -64,6 +157,10 @@ return {
|
||||
-- `z` key
|
||||
{ mode = 'n', keys = 'z' },
|
||||
{ mode = 'x', keys = 'z' },
|
||||
|
||||
-- Localleader
|
||||
{ mode = 'n', keys = '<Localleader>'},
|
||||
{ mode = 'x', keys = '<Localleader>'},
|
||||
},
|
||||
|
||||
clues = {
|
||||
@@ -80,6 +177,9 @@ return {
|
||||
|
||||
{ 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' },
|
||||
},
|
||||
}
|
||||
end
|
||||
@@ -93,6 +193,8 @@ return {
|
||||
triggers = {
|
||||
{ 'g', mode = { 'n', 'x' } },
|
||||
},
|
||||
skip_confirm_for_simple_edits = true,
|
||||
prompt_save_on_select_new_entry = false,
|
||||
},
|
||||
-- Optional dependencies
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
|
||||
@@ -100,7 +202,11 @@ return {
|
||||
lazy = false,
|
||||
},
|
||||
|
||||
{ 'eandrju/cellular-automaton.nvim' },
|
||||
{
|
||||
'eandrju/cellular-automaton.nvim',
|
||||
-- event = 'VeryLazy',
|
||||
cmd = 'CellularAutomaton',
|
||||
},
|
||||
|
||||
{
|
||||
"kylechui/nvim-surround",
|
||||
@@ -113,10 +219,25 @@ return {
|
||||
end
|
||||
},
|
||||
|
||||
{ 'jbyuki/nabla.nvim' },
|
||||
{
|
||||
'jbyuki/nabla.nvim',
|
||||
lazy = true,
|
||||
},
|
||||
|
||||
{
|
||||
'krady21/compiler-explorer.nvim',
|
||||
-- event = 'VeryLazy',
|
||||
cmd = {
|
||||
'CECompile',
|
||||
'CECompileLive',
|
||||
'CEFormat',
|
||||
'CEAddLibrary',
|
||||
'CELoadExample',
|
||||
'CEOpenWebsite',
|
||||
'CEDeleteCache',
|
||||
'CEShowTooltip',
|
||||
'CEGotoLabel',
|
||||
},
|
||||
opts = {
|
||||
autocmd = {
|
||||
enable = true,
|
||||
@@ -126,7 +247,8 @@ return {
|
||||
},
|
||||
|
||||
{
|
||||
'samjwill/nvim-unception'
|
||||
'samjwill/nvim-unception',
|
||||
event = 'VeryLazy',
|
||||
},
|
||||
|
||||
{
|
||||
@@ -139,23 +261,34 @@ return {
|
||||
local set = vim.keymap.set
|
||||
|
||||
-- Add or skip cursor above/below the main cursor.
|
||||
set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end)
|
||||
set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end)
|
||||
-- set({"n", "x"}, "<leader><up>", function() mc.lineSkipCursor(-1) end)
|
||||
-- set({"n", "x"}, "<leader><down>", function() mc.lineSkipCursor(1) end)
|
||||
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"}, "<leader>n", function() mc.matchAddCursor(1) end)
|
||||
-- set({"n", "x"}, "<leader>s", function() mc.matchSkipCursor(1) end)
|
||||
-- set({"n", "x"}, "<leader>N", function() mc.matchAddCursor(-1) end)
|
||||
-- set({"n", "x"}, "<leader>S", function() mc.matchSkipCursor(-1) end)
|
||||
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 i=1, vim.v.count - 1 do
|
||||
for _=1, vim.v.count - 1 do
|
||||
mc.addCursor(']a')
|
||||
end
|
||||
end
|
||||
@@ -164,7 +297,7 @@ return {
|
||||
if vim.v.count < 1 then
|
||||
mc.addCursor('[a')
|
||||
else
|
||||
for i=1, vim.v.count - 1 do
|
||||
for _=1, vim.v.count - 1 do
|
||||
mc.addCursor('[a')
|
||||
end
|
||||
end
|
||||
@@ -176,18 +309,20 @@ return {
|
||||
set("n", "<c-leftrelease>", mc.handleMouseRelease)
|
||||
|
||||
-- Disable and enable cursors.
|
||||
set({"n", "x"}, "<c-q>", mc.toggleCursor)
|
||||
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"}, "<left>", mc.prevCursor)
|
||||
layerSet({"n", "x"}, "<right>", mc.nextCursor)
|
||||
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"}, "<leader>x", mc.deleteCursor)
|
||||
layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
|
||||
|
||||
-- Enable and clear cursors using escape.
|
||||
layerSet("n", "<esc>", function()
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
## qute://help/configuring.html
|
||||
## qute://help/settings.htm
|
||||
##
|
||||
import rosepine
|
||||
rosepine.setup(c, 'rose-pine-moon', True)
|
||||
# import rosepine
|
||||
# rosepine.setup(c, 'rose-pine-moon', True)
|
||||
|
||||
## This is here so configs done via the GUI are still loaded.
|
||||
## Remove it to not load settings done via the GUI.
|
||||
|
||||
19
config/.emacs.d/config/custom.el
Normal file
19
config/.emacs.d/config/custom.el
Normal file
@@ -0,0 +1,19 @@
|
||||
;;; -*- lexical-binding: t -*-
|
||||
(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
|
||||
'("720838034f1dd3b3da66f6bd4d053ee67c93a747b219d1c546c41c4e425daf93"
|
||||
"d481904809c509641a1a1f1b1eb80b94c58c210145effc2631c1a7f2e4a2fdf4"
|
||||
"aec7b55f2a13307a55517fdf08438863d694550565dee23181d2ebd973ebd6b8"
|
||||
"3613617b9953c22fe46ef2b593a2e5bc79ef3cc88770602e7e569bbd71de113b"
|
||||
"0325a6b5eea7e5febae709dab35ec8648908af12cf2d2b569bedc8da0a3a81c1"
|
||||
default)))
|
||||
(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.
|
||||
)
|
||||
56
config/.emacs.d/config/emacs.el
Normal file
56
config/.emacs.d/config/emacs.el
Normal file
@@ -0,0 +1,56 @@
|
||||
;;; emacs.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@archbox>
|
||||
;; Maintainer: Michael Chalupiak <mikec@archbox>
|
||||
;; Created: January 15, 2026
|
||||
;; Modified: January 15, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp
|
||||
;; Homepage: https://github.com/mikec/emacs
|
||||
;; Package-Requires: ((emacs "30.1"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(setq history-length 100
|
||||
global-auto-revert-non-file-buffers t
|
||||
use-dialog-box nil
|
||||
custom-safe-themes t
|
||||
read-file-name-completion-ignore-case t
|
||||
tab-always-indent nil)
|
||||
(setq-default
|
||||
indent-tabs-mode nil
|
||||
tab-width 4
|
||||
tab-stop-list (number-sequence 4 400 4))
|
||||
(customize-set-variable 'treesit-font-lock-level 4)
|
||||
(column-number-mode t)
|
||||
(global-display-line-numbers-mode t)
|
||||
;(global-display-fill-column-indicator-mode t)
|
||||
(recentf-mode 1)
|
||||
(savehist-mode 1)
|
||||
(save-place-mode 1)
|
||||
(global-auto-revert-mode 1)
|
||||
(context-menu-mode 1)
|
||||
(electric-pair-mode 1)
|
||||
(electric-indent-mode 1)
|
||||
;; (enable-recursive-minibuffers t)
|
||||
;; (read-extended-command-predicate #'command-completion-default-include-p)
|
||||
|
||||
|
||||
;; Disable line numbers for some modes
|
||||
;; (dolist (mode '(org-mode-hook
|
||||
;; eshell-mode-hook))
|
||||
;; (add-hook mode (lambda ()
|
||||
;; (display-line-numbers-mode 0)
|
||||
;; (display-fill-column-indicator-mode 0)
|
||||
;; ())))
|
||||
|
||||
(provide 'emacs)
|
||||
;;; emacs.el ends here
|
||||
40
config/.emacs.d/config/keymap.el
Normal file
40
config/.emacs.d/config/keymap.el
Normal file
@@ -0,0 +1,40 @@
|
||||
;;; -*- lexical-binding: t; -*-
|
||||
|
||||
(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 0") (lambda () (interactive) (other-window 1) (kill-buffer-and-window)))
|
||||
(global-set-key (kbd "C-c g") #'consult-ripgrep)
|
||||
(global-set-key (kbd "C-c i") #'consult-info)
|
||||
(global-set-key (kbd "C-c s") #'ispell-word)
|
||||
(global-set-key (kbd "C-c f") #'apheleia-format-buffer)
|
||||
(global-set-key (kbd "C-c t") #'load-theme)
|
||||
(global-set-key (kbd "C-c C-c") #'compile)
|
||||
(global-set-key (kbd "C-c d") #'dictionary-define-word)
|
||||
(global-set-key (kbd "C-c D") #'dictionary)
|
||||
(global-set-key (kbd "C-c l a") #'eglot-code-actions)
|
||||
(global-set-key (kbd "C-c l n") #'eglot-rename)
|
||||
(global-set-key (kbd "C-c l s") #'consult-eglot-symbols)
|
||||
(global-set-key (kbd "C-c l r") #'xref-find-references)
|
||||
(global-set-key (kbd "C-c l d") #'xref-find-definitions)
|
||||
(global-set-key (kbd "C-c l D") #'eglot-find-declaration)
|
||||
(global-set-key (kbd "C-c l i") #'eglot-find-implementation)
|
||||
(global-set-key (kbd "C-c l t") #'eglot-find-typeDefinition)
|
||||
;; (global-set-key (kbd "C-x C-;") (lambda () (interactive) (if (region-active-p) (comment-region) (comment-line))))
|
||||
|
||||
(global-set-key (kbd "C-c b") #'ibuffer)
|
||||
(global-set-key (kbd "C-c x") #'kill-current-buffer)
|
||||
|
||||
(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 m") #'magit)
|
||||
|
||||
;; multi-cursor
|
||||
(global-set-key (kbd "C-c c w") #'mc/mark-next-like-this-word)
|
||||
(global-set-key (kbd "C-c c W") #'mc/mark-previous-like-this-word)
|
||||
(global-set-key (kbd "C-c c s") #'mc/mark-next-like-this-symbol)
|
||||
(global-set-key (kbd "C-c c S") #'mc/mark-previous-next-like-this-symbol)
|
||||
(global-set-key (kbd "C-c c a") #'mc/mark-all-like-this-dwim)
|
||||
(global-set-key (kbd "C-c c f") #'mc/mark-all-symbols-like-this-in-defun)
|
||||
30
config/.emacs.d/config/util.el
Normal file
30
config/.emacs.d/config/util.el
Normal file
@@ -0,0 +1,30 @@
|
||||
;;; util.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@archbox>
|
||||
;; Maintainer: Michael Chalupiak <mikec@archbox>
|
||||
;; Created: January 16, 2026
|
||||
;; Modified: January 16, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp
|
||||
;; Homepage: https://github.com/mikec/util
|
||||
;; Package-Requires: ((emacs "30.1"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
;; which-key
|
||||
(which-key-mode)
|
||||
|
||||
;; eglot
|
||||
|
||||
;; treesit
|
||||
|
||||
(provide 'util)
|
||||
;;; util.el ends here
|
||||
77
config/.emacs.d/early-init.el
Normal file
77
config/.emacs.d/early-init.el
Normal file
@@ -0,0 +1,77 @@
|
||||
;;; early-init.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@archbox>
|
||||
;; Maintainer: Michael Chalupiak <mikec@archbox>
|
||||
;; Created: January 15, 2026
|
||||
;; Modified: January 15, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp
|
||||
;; Homepage: https://github.com/mikec/early-init
|
||||
;; Package-Requires: ((emacs "24.3"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(setq gc-cons-threshold (* 50 1000 1000)
|
||||
inhibit-startup-message t
|
||||
ring-bell-function 'ignore
|
||||
package-enable-at-startup nil
|
||||
auto-save-default nil
|
||||
custom-file (locate-user-emacs-file "config/custom.el"))
|
||||
;; (load custom-file 'noerror 'nomessage)
|
||||
(menu-bar-mode -1)
|
||||
(tool-bar-mode -1)
|
||||
(scroll-bar-mode -1)
|
||||
;; (defconst fonts '("Iosevka Term SS12" "Cascadia Code" "CaskaydiaCove Nerd Font"))
|
||||
;; (defconst default-font-size 16)
|
||||
|
||||
;; (defun font-size (font)
|
||||
;; (let ((size (plist-get font :size)))
|
||||
;; (if size size default-font-size)))
|
||||
;; (defun font-name (font)
|
||||
;; (let ((name (plist-get font :name)))
|
||||
;; (if name name font)))
|
||||
|
||||
;; (defun font-string (font)
|
||||
;; (let ((name (font-name font))
|
||||
;; (size (font-size font)))
|
||||
;; (concat name " " (number-to-string size))))
|
||||
|
||||
;; (defun set-fonts ()
|
||||
;; (let ((default-font (car fonts))
|
||||
;; (fallback-fonts (cdr fonts)))
|
||||
;; ;; (when (window-system)
|
||||
;; (progn
|
||||
;; (set-face-attribute 'default nil :font (font-string default-font))
|
||||
;; (mapc (lambda (font)
|
||||
;; (let ((face (font-string font))
|
||||
;; (script (plist-get font :script)))
|
||||
;; (if script
|
||||
;; (progn
|
||||
;; (set-fontset-font t script face)
|
||||
;; (set-fontset-font t script (font-spec :script script) nil 'prepend))
|
||||
;; (set-fontset-font t nil face nil 'prepend)))) fallback-fonts))))
|
||||
|
||||
;; (set-fonts)
|
||||
|
||||
;; (set-face-attribute 'default nil :font "Iosevka Term
|
||||
;;(set-frame-font "Iosevka Term SS12-16")
|
||||
(add-to-list 'default-frame-alist
|
||||
'(font . "Iosevka Term SS12-14"))
|
||||
(defun efs/display-startup-time ()
|
||||
(message "Emacs loaded in %s with %d garbage collections."
|
||||
(format "%.2f seconds"
|
||||
(float-time
|
||||
(time-subtract after-init-time before-init-time)))
|
||||
gcs-done))
|
||||
|
||||
(add-hook 'emacs-startup-hook #'efs/display-startup-time)
|
||||
(provide 'early-init)
|
||||
;;; early-init.el ends here
|
||||
45
config/.emacs.d/init.el
Normal file
45
config/.emacs.d/init.el
Normal file
@@ -0,0 +1,45 @@
|
||||
;;; init.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@mchalupiak.com>
|
||||
;; Maintainer: Michael Chalupiak <mikec@mchalupiak.com>
|
||||
;; Created: January 15, 2026
|
||||
;; Modified: January 15, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp
|
||||
;; Homepage: https://github.com/mikec/init
|
||||
;; Package-Requires: ((emacs "24.3"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(defconst user-init-dir
|
||||
(cond ((boundp 'user-emacs-directory)
|
||||
user-emacs-directory)
|
||||
((boundp 'user-init-directory)
|
||||
user-init-directory)
|
||||
(t "~/.emacs.d/")))
|
||||
|
||||
(defconst config-dirs '("config" "plugins"))
|
||||
|
||||
(defun load-user-config ()
|
||||
(let*
|
||||
((expanded-dirs (mapcar
|
||||
(lambda (dir) (concat (expand-file-name dir user-init-dir) "/*.el"))
|
||||
config-dirs))
|
||||
(config-files (seq-filter (lambda (file) (not (string= file (expand-file-name "plugins/straight.el" user-init-dir)))) (mapcan (lambda (expanded-dir) (file-expand-wildcards expanded-dir)) expanded-dirs))))
|
||||
(progn
|
||||
(load-file (expand-file-name "plugins/straight.el" user-init-dir))
|
||||
(mapc (lambda (file) (load-file file)) config-files))))
|
||||
|
||||
(load-user-config)
|
||||
(setq gc-cons-threshold (* 2 1000 1000))
|
||||
|
||||
(provide 'init)
|
||||
;;; init.el ends here
|
||||
44
config/.emacs.d/plugins/apps.el
Normal file
44
config/.emacs.d/plugins/apps.el
Normal file
@@ -0,0 +1,44 @@
|
||||
;;; apps.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@archbox>
|
||||
;; Maintainer: Michael Chalupiak <mikec@archbox>
|
||||
;; Created: January 16, 2026
|
||||
;; Modified: January 16, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: Symbol’s value as variable is void: finder-known-keywords
|
||||
;; Homepage: https://github.com/mikec/apps
|
||||
;; Package-Requires: ((emacs "24.3"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(straight-use-package
|
||||
'(eat :type git
|
||||
:host codeberg
|
||||
:repo "akib/emacs-eat"
|
||||
:files ("*.el" ("term" "term/*.el") "*.texi"
|
||||
"*.ti" ("terminfo/e" "terminfo/e/*")
|
||||
("terminfo/65" "terminfo/65/*")
|
||||
("integration" "integration/*")
|
||||
(:exclude ".dir-locals.el" "*-tests.el"))
|
||||
:defer t))
|
||||
|
||||
(add-hook 'eshell-load-hook #'eat-eshell-mode)
|
||||
|
||||
(use-package magit
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package org
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(provide 'apps)
|
||||
;;; apps.el ends here
|
||||
97
config/.emacs.d/plugins/lang.el
Normal file
97
config/.emacs.d/plugins/lang.el
Normal file
@@ -0,0 +1,97 @@
|
||||
;;; lang.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@archbox>
|
||||
;; Maintainer: Michael Chalupiak <mikec@archbox>
|
||||
;; Created: January 16, 2026
|
||||
;; Modified: January 16, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp
|
||||
;; Homepage: https://github.com/mikec/lang
|
||||
;; Package-Requires: ((emacs "29.1"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; 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 gitconfig-mode
|
||||
;; :ensure t
|
||||
;; :defer t)
|
||||
;; (use-package gitignore-mode
|
||||
;; :ensure t
|
||||
;; :defer t)
|
||||
|
||||
(use-package odin-ts-mode
|
||||
:ensure t
|
||||
:defer t
|
||||
:straight '(:type git :host github :repo "Sampie159/odin-ts-mode"))
|
||||
|
||||
(use-package zig-ts-mode
|
||||
:ensure t
|
||||
:defer t
|
||||
:straight '(:type git :host codeberg :repo "meow_king/zig-ts-mode"))
|
||||
|
||||
(use-package haskell-ts-mode
|
||||
:ensure t
|
||||
:custom
|
||||
(haskell-ts-font-lock-level 4)
|
||||
(haskell-ts-use-indent t)
|
||||
(haskell-ts-ghci "ghci")
|
||||
(haskell-ts-use-indent t)
|
||||
:config
|
||||
(add-to-list 'treesit-language-source-alist
|
||||
'(haskell . ("https://github.com/tree-sitter/tree-sitter-haskell" "v0.23.1"))))
|
||||
;; (unless (treesit-grammar-location 'haskell)
|
||||
;; (treesit-install-language-grammar 'haskell)))
|
||||
|
||||
(use-package eglot-x
|
||||
:ensure t
|
||||
:defer t
|
||||
:straight '(:type git :host github :repo "nemethf/eglot-x"))
|
||||
|
||||
(use-package sly
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook common-lisp-mode
|
||||
:config
|
||||
(setq inferior-lisp-program "sbcl"))
|
||||
|
||||
(dolist (mode '(c-ts-mode-hook
|
||||
rust-ts-mode-hook
|
||||
odin-ts-mode-hook
|
||||
zig-ts-mode-hook))
|
||||
(add-hook mode 'eglot-ensure))
|
||||
|
||||
(with-eval-after-load 'eglot
|
||||
(require 'eglot-x)
|
||||
(eglot-x-setup))
|
||||
|
||||
(with-eval-after-load 'eglot
|
||||
(add-to-list 'eglot-server-programs
|
||||
'(zig-ts-mode . ("zls")))
|
||||
(add-to-list 'eglot-server-programs
|
||||
'(haskell-ts-mode . ("haskell-language-server-wrapper" "--lsp"))))
|
||||
|
||||
(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 '())
|
||||
(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"))
|
||||
|
||||
(provide 'lang)
|
||||
;;; lang.el ends here
|
||||
42
config/.emacs.d/plugins/straight.el
Normal file
42
config/.emacs.d/plugins/straight.el
Normal file
@@ -0,0 +1,42 @@
|
||||
;;; straight.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@archbox>
|
||||
;; Maintainer: Michael Chalupiak <mikec@archbox>
|
||||
;; Created: January 15, 2026
|
||||
;; Modified: January 15, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp
|
||||
;; Homepage: https://github.com/mikec/straight
|
||||
;; Package-Requires: ((emacs "24.3"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(setq straight-use-package-by-default t
|
||||
straight-check-for-modifications nil) ; can also be set to check-on-save
|
||||
|
||||
(defvar bootstrap-version)
|
||||
(let ((bootstrap-file
|
||||
(expand-file-name
|
||||
"straight/repos/straight.el/bootstrap.el"
|
||||
(or (bound-and-true-p straight-base-dir)
|
||||
user-emacs-directory)))
|
||||
(bootstrap-version 7))
|
||||
(unless (file-exists-p bootstrap-file)
|
||||
(with-current-buffer
|
||||
(url-retrieve-synchronously
|
||||
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||
'silent 'inhibit-cookies)
|
||||
(goto-char (point-max))
|
||||
(eval-print-last-sexp)))
|
||||
(load bootstrap-file nil 'nomessage))
|
||||
|
||||
(provide 'straight)
|
||||
;;; straight.el ends here
|
||||
76
config/.emacs.d/plugins/themes.el
Normal file
76
config/.emacs.d/plugins/themes.el
Normal file
@@ -0,0 +1,76 @@
|
||||
;;; themes.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@archbox>
|
||||
;; Maintainer: Michael Chalupiak <mikec@archbox>
|
||||
;; Created: January 16, 2026
|
||||
;; Modified: January 16, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp
|
||||
;; Homepage: https://github.com/mikec/themes
|
||||
;; Package-Requires: ((emacs "29.1"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(use-package doom-themes
|
||||
:ensure t
|
||||
:defer t
|
||||
:custom
|
||||
;; Global settings (defaults)
|
||||
(doom-themes-enable-bold t) ; if nil, bold is universally disabled
|
||||
(doom-themes-enable-italic t) ; if nil, italics is universally disabled
|
||||
;; for treemacs users
|
||||
;; (doom-themes-treemacs-theme "doom-atom") ; use "doom-colors" for less minimal icon theme
|
||||
:config
|
||||
;; (load-theme 'doom-one t)
|
||||
|
||||
;; Enable flashing mode-line on errors
|
||||
;; (doom-themes-visual-bell-config)
|
||||
;; Enable custom neotree theme (nerd-icons must be installed!)
|
||||
;; (doom-themes-neotree-config)
|
||||
;; or for treemacs users
|
||||
;; (doom-themes-treemacs-config)
|
||||
;; Corrects (and improves) org-mode's native fontification.
|
||||
(doom-themes-org-config))
|
||||
|
||||
(straight-use-package '(nano-theme :type git :host github
|
||||
:repo "rougier/nano-theme"))
|
||||
|
||||
(use-package kaolin-themes)
|
||||
|
||||
(use-package auto-dark
|
||||
:defer t
|
||||
:init
|
||||
;; Configure themes
|
||||
(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.
|
||||
;; Be aware that setting this variable may have security implications if you
|
||||
;; get tricked into loading untrusted themes (via auto-dark-mode or manually).
|
||||
;; See the documentation of custom-safe-themes for details.
|
||||
;; (setq! custom-safe-themes t)
|
||||
;; Enable auto-dark-mode at the right point in time.
|
||||
;; This is inspired by doom-ui.el. Using server-after-make-frame-hook avoids
|
||||
;; issues with an early start of the emacs daemon using systemd, which causes
|
||||
;; problems with the DBus connection that auto-dark mode relies upon.
|
||||
(defun my-auto-dark-init-h ()
|
||||
(auto-dark-mode)
|
||||
(remove-hook 'server-after-make-frame-hook #'my-auto-dark-init-h)
|
||||
(remove-hook 'after-init-hook #'my-auto-dark-init-h))
|
||||
(let ((hook (if (daemonp)
|
||||
'server-after-make-frame-hook
|
||||
'after-init-hook)))
|
||||
;; Depth -95 puts this before doom-init-theme-h, which sounds like a good
|
||||
;; idea, if only for performance reasons.
|
||||
(add-hook hook #'my-auto-dark-init-h -95)))
|
||||
|
||||
(provide 'themes)
|
||||
;;; themes.el ends here
|
||||
352
config/.emacs.d/plugins/ui.el
Normal file
352
config/.emacs.d/plugins/ui.el
Normal file
@@ -0,0 +1,352 @@
|
||||
;;; ui.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@archbox>
|
||||
;; Maintainer: Michael Chalupiak <mikec@archbox>
|
||||
;; Created: January 16, 2026
|
||||
;; Modified: January 16, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp
|
||||
;; Homepage: https://github.com/mikec/ui
|
||||
;; Package-Requires: ((emacs "29.1"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(use-package corfu
|
||||
;; Optional customizations
|
||||
:custom
|
||||
(corfu-cycle t) ;; Enable cycling for `corfu-next/previous'
|
||||
;; (corfu-quit-at-boundary nil) ;; Never quit at completion boundary
|
||||
;; (corfu-quit-no-match nil) ;; Never quit, even if there is no match
|
||||
;; (corfu-preview-current nil) ;; Disable current candidate preview
|
||||
;; (corfu-preselect 'prompt) ;; Preselect the prompt
|
||||
;; (corfu-on-exact-match 'insert) ;; Configure handling of exact matches
|
||||
|
||||
;; Enable Corfu only for certain modes. See also `global-corfu-modes'.
|
||||
;; :hook ((prog-mode . corfu-mode)
|
||||
;; (shell-mode . corfu-mode)
|
||||
;; (eshell-mode . corfu-mode))
|
||||
|
||||
:init
|
||||
(setq corfu-auto t
|
||||
corfu-auto-delay 0.05
|
||||
corfu-auto-prefix 1
|
||||
corfu-auto-trigger "." ;; Custom trigger characters
|
||||
corfu-quit-no-match 'separator) ;; or t
|
||||
;; Recommended: Enable Corfu globally. Recommended since many modes provide
|
||||
;; Capfs and Dabbrev can be used globally (M-/). See also the customization
|
||||
;; variable `global-corfu-modes' to exclude certain modes.
|
||||
(global-corfu-mode)
|
||||
|
||||
;; Enable optional extension modes:
|
||||
(corfu-history-mode)
|
||||
(corfu-popupinfo-mode))
|
||||
|
||||
;; Add extensions
|
||||
(use-package cape
|
||||
;; Bind prefix keymap providing all Cape commands under a mnemonic key.
|
||||
;; Press C-c p ? to for help.
|
||||
:bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-<tab>, M-p, M-+
|
||||
;; Alternatively bind Cape commands individually.
|
||||
;; :bind (("C-c p d" . cape-dabbrev)
|
||||
;; ("C-c p h" . cape-history)
|
||||
;; ("C-c p f" . cape-file)
|
||||
;; ...)
|
||||
:init
|
||||
;; Add to the global default value of `completion-at-point-functions' which is
|
||||
;; used by `completion-at-point'. The order of the functions matters, the
|
||||
;; first function returning a result wins. Note that the list of buffer-local
|
||||
;; completion functions takes precedence over the global list.
|
||||
(add-hook 'prog-mode-hook
|
||||
(defun +corfu-add-cape-file-h ()
|
||||
(add-hook 'completion-at-point-functions #'cape-file -10 t)))
|
||||
;; (add-hook 'completion-at-point-functions #'cape-dict -10 t)
|
||||
;; (add-hook 'completion-at-point-functions #'cape-dabbrev -10 t)))
|
||||
(add-hook 'text-mode-hook
|
||||
(defun +corfu-add-cape-file-h ()
|
||||
(add-hook 'completion-at-point-functions #'cape-file -10 t)))
|
||||
;; (add-hook 'completion-at-point-functions #'cape-dict -10 t)
|
||||
;; (add-hook 'completion-at-point-functions #'cape-dabbrev -10 t)))
|
||||
(add-hook 'conf-mode-hook
|
||||
(defun +corfu-add-cape-file-h ()
|
||||
(add-hook 'completion-at-point-functions #'cape-file -10 t)))
|
||||
;; (add-hook 'completion-at-point-functions #'cape-dict -10 t)
|
||||
;; (add-hook 'completion-at-point-functions #'cape-dabbrev -10 t)))
|
||||
;; (add-hook 'completion-at-point-functions #'cape-file)
|
||||
;; (add-hook 'completion-at-point-functions #'cape-dabbrev)
|
||||
;; (add-hook 'completion-at-point-functions #'cape-dict)
|
||||
;; (add-hook 'completion-at-point-functions #'cape-emoji)
|
||||
;; (add-hook 'completion-at-point-functions #'cape-elisp-block)
|
||||
;; (add-hook 'completion-at-point-functions #'cape-history)
|
||||
;; ...
|
||||
)
|
||||
|
||||
(use-package vertico
|
||||
:custom
|
||||
;; (vertico-scroll-margin 0) ;; Different scroll margin
|
||||
;; (vertico-count 20) ;; Show more candidates
|
||||
;; (vertico-resize t) ;; Grow and shrink the Vertico minibuffer
|
||||
(vertico-cycle t) ;; Enable cycling for `vertico-next/previous'
|
||||
:init
|
||||
(vertico-multiform-mode)
|
||||
(vertico-mode)
|
||||
(define-key vertico-map (kbd "DEL") #'vertico-directory-delete-char))
|
||||
|
||||
(defvar +vertico-transform-functions nil)
|
||||
|
||||
(cl-defmethod vertico--format-candidate :around
|
||||
(cand prefix suffix index start &context ((not +vertico-transform-functions) null))
|
||||
(dolist (fun (ensure-list +vertico-transform-functions))
|
||||
(setq cand (funcall fun cand)))
|
||||
(cl-call-next-method cand prefix suffix index start))
|
||||
|
||||
(defun +vertico-highlight-directory (file)
|
||||
"If FILE ends with a slash, highlight it as a directory."
|
||||
(if (string-suffix-p "/" file)
|
||||
(propertize file 'face 'marginalia-file-priv-dir) ; or face 'dired-directory
|
||||
file))
|
||||
|
||||
;; function to highlight enabled modes similar to counsel-M-x
|
||||
(defun +vertico-highlight-enabled-mode (cmd)
|
||||
"If MODE is enabled, highlight it as font-lock-constant-face."
|
||||
(let ((sym (intern cmd)))
|
||||
(if (or (eq sym major-mode)
|
||||
(and
|
||||
(memq sym minor-mode-list)
|
||||
(boundp sym)))
|
||||
(propertize cmd 'face 'font-lock-constant-face)
|
||||
cmd)))
|
||||
|
||||
;; add-to-list works if 'file isn't already in the alist
|
||||
;; setq can be used but will overwrite all existing values
|
||||
(add-to-list 'vertico-multiform-categories
|
||||
'(file
|
||||
;; this is also defined in the wiki, uncomment if used
|
||||
;; (vertico-sort-function . vertico-sort-directories-first)
|
||||
(+vertico-transform-functions . +vertico-highlight-directory)))
|
||||
(add-to-list 'vertico-multiform-commands
|
||||
'(execute-extended-command
|
||||
(+vertico-transform-functions . +vertico-highlight-enabled-mode)))
|
||||
|
||||
|
||||
;; Enable rich annotations using the Marginalia package
|
||||
(use-package marginalia
|
||||
;; Bind `marginalia-cycle' locally in the minibuffer. To make the binding
|
||||
;; available in the *Completions* buffer, add it to the
|
||||
;; `completion-list-mode-map'.
|
||||
:bind (:map minibuffer-local-map
|
||||
("M-A" . marginalia-cycle))
|
||||
|
||||
;; The :init section is always executed.
|
||||
:init
|
||||
|
||||
;; Marginalia must be activated in the :init section of use-package such that
|
||||
;; the mode gets enabled right away. Note that this forces loading the
|
||||
;; package.
|
||||
(marginalia-mode))
|
||||
|
||||
;; Example configuration for Consult
|
||||
(use-package consult
|
||||
;; Replace bindings. Lazily loaded by `use-package'.
|
||||
;; :bind (;; C-c bindings in `mode-specific-map'
|
||||
;; ("C-c M-x" . consult-mode-command)
|
||||
;; ("C-c h" . consult-history)
|
||||
;; ("C-c k" . consult-kmacro)
|
||||
;; ("C-c m" . consult-man)
|
||||
;; ("C-c i" . consult-info)
|
||||
;; ([remap Info-search] . consult-info)
|
||||
;; ;; C-x bindings in `ctl-x-map'
|
||||
;; ("C-x M-:" . consult-complex-command) ;; orig. repeat-complex-command
|
||||
;; ("C-x b" . consult-buffer) ;; orig. switch-to-buffer
|
||||
;; ("C-x 4 b" . consult-buffer-other-window) ;; orig. switch-to-buffer-other-window
|
||||
;; ("C-x 5 b" . consult-buffer-other-frame) ;; orig. switch-to-buffer-other-frame
|
||||
;; ("C-x t b" . consult-buffer-other-tab) ;; orig. switch-to-buffer-other-tab
|
||||
;; ("C-x r b" . consult-bookmark) ;; orig. bookmark-jump
|
||||
;; ("C-x p b" . consult-project-buffer) ;; orig. project-switch-to-buffer
|
||||
;; ;; Custom M-# bindings for fast register access
|
||||
;; ("M-#" . consult-register-load)
|
||||
;; ("M-'" . consult-register-store) ;; orig. abbrev-prefix-mark (unrelated)
|
||||
;; ("C-M-#" . consult-register)
|
||||
;; ;; Other custom bindings
|
||||
;; ("M-y" . consult-yank-pop) ;; orig. yank-pop
|
||||
;; ;; M-g bindings in `goto-map'
|
||||
;; ("M-g e" . consult-compile-error)
|
||||
;; ("M-g r" . consult-grep-match)
|
||||
;; ("M-g f" . consult-flymake) ;; Alternative: consult-flycheck
|
||||
;; ("M-g g" . consult-goto-line) ;; orig. goto-line
|
||||
;; ("M-g M-g" . consult-goto-line) ;; orig. goto-line
|
||||
;; ("M-g o" . consult-outline) ;; Alternative: consult-org-heading
|
||||
;; ("M-g m" . consult-mark)
|
||||
;; ("M-g k" . consult-global-mark)
|
||||
;; ("M-g i" . consult-imenu)
|
||||
;; ("M-g I" . consult-imenu-multi)
|
||||
;; ;; M-s bindings in `search-map'
|
||||
;; ("M-s d" . consult-find) ;; Alternative: consult-fd
|
||||
;; ("M-s c" . consult-locate)
|
||||
;; ("M-s g" . consult-grep)
|
||||
;; ("M-s G" . consult-git-grep)
|
||||
;; ("M-s r" . consult-ripgrep)
|
||||
;; ("M-s l" . consult-line)
|
||||
;; ("M-s L" . consult-line-multi)
|
||||
;; ("M-s k" . consult-keep-lines)
|
||||
;; ("M-s u" . consult-focus-lines)
|
||||
;; ;; Isearch integration
|
||||
;; ("M-s e" . consult-isearch-history)
|
||||
;; :map isearch-mode-map
|
||||
;; ("M-e" . consult-isearch-history) ;; orig. isearch-edit-string
|
||||
;; ("M-s e" . consult-isearch-history) ;; orig. isearch-edit-string
|
||||
;; ("M-s l" . consult-line) ;; needed by consult-line to detect isearch
|
||||
;; ("M-s L" . consult-line-multi) ;; needed by consult-line to detect isearch
|
||||
;; ;; Minibuffer history
|
||||
;; :map minibuffer-local-map
|
||||
;; ("M-s" . consult-history) ;; orig. next-matching-history-element
|
||||
;; ("M-r" . consult-history)) ;; orig. previous-matching-history-element
|
||||
|
||||
;; The :init configuration is always executed (Not lazy)
|
||||
:init
|
||||
|
||||
;; Tweak the register preview for `consult-register-load',
|
||||
;; `consult-register-store' and the built-in commands. This improves the
|
||||
;; register formatting, adds thin separator lines, register sorting and hides
|
||||
;; the window mode line.
|
||||
(advice-add #'register-preview :override #'consult-register-window)
|
||||
(setq register-preview-delay 0.5)
|
||||
(setq consult-async-min-input 1)
|
||||
;; Use Consult to select xref locations with preview
|
||||
(setq xref-show-xrefs-function #'consult-xref
|
||||
xref-show-definitions-function #'consult-xref)
|
||||
|
||||
;; Configure other variables and modes in the :config section,
|
||||
;; after lazily loading the package.
|
||||
:config
|
||||
|
||||
;; Optionally configure preview. The default value
|
||||
;; is 'any, such that any key triggers the preview.
|
||||
;; (setq consult-preview-key 'any)
|
||||
;; (setq consult-preview-key "M-.")
|
||||
;; (setq consult-preview-key '("S-<down>" "S-<up>"))
|
||||
;; For some commands and buffer sources it is useful to configure the
|
||||
;; :preview-key on a per-command basis using the `consult-customize' macro.
|
||||
(consult-customize
|
||||
consult-theme :preview-key '(:debounce 0.2 any)
|
||||
consult-ripgrep consult-git-grep consult-grep consult-man
|
||||
consult-bookmark consult-recent-file consult-xref
|
||||
consult-source-bookmark consult-source-file-register
|
||||
consult-source-recent-file consult-source-project-recent-file
|
||||
;; :preview-key "M-."
|
||||
:preview-key '(:debounce 0.4 any))
|
||||
|
||||
;; Optionally configure the narrowing key.
|
||||
;; Both < and C-+ work reasonably well.
|
||||
(setq consult-narrow-key "<") ;; "C-+"
|
||||
|
||||
;; Optionally make narrowing help available in the minibuffer.
|
||||
;; You may want to use `embark-prefix-help-command' or which-key instead.
|
||||
;; (keymap-set consult-narrow-map (concat consult-narrow-key " ?") #'consult-narrow-help)
|
||||
)
|
||||
|
||||
(use-package consult-eglot
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package marginalia
|
||||
:ensure t
|
||||
:config
|
||||
(marginalia-mode))
|
||||
|
||||
(use-package embark
|
||||
:ensure t
|
||||
|
||||
:bind
|
||||
(("C-." . embark-act) ;; pick some comfortable binding
|
||||
("C-;" . embark-dwim) ;; good alternative: M-.
|
||||
("C-h B" . embark-bindings)) ;; alternative for `describe-bindings'
|
||||
|
||||
:init
|
||||
|
||||
;; Optionally replace the key help with a completing-read interface
|
||||
(setq prefix-help-command #'embark-prefix-help-command)
|
||||
|
||||
;; Show the Embark target at point via Eldoc. You may adjust the
|
||||
;; Eldoc strategy, if you want to see the documentation from
|
||||
;; multiple providers. Beware that using this can be a little
|
||||
;; jarring since the message shown in the minibuffer can be more
|
||||
;; than one line, causing the modeline to move up and down:
|
||||
|
||||
;; (add-hook 'eldoc-documentation-functions #'embark-eldoc-first-target)
|
||||
;; (setq eldoc-documentation-strategy #'eldoc-documentation-compose-eagerly)
|
||||
|
||||
;; Add Embark to the mouse context menu. Also enable `context-menu-mode'.
|
||||
;; (context-menu-mode 1)
|
||||
;; (add-hook 'context-menu-functions #'embark-context-menu 100)
|
||||
|
||||
:config
|
||||
|
||||
;; Hide the mode line of the Embark live/completions buffers
|
||||
(add-to-list 'display-buffer-alist
|
||||
'("\\`\\*Embark Collect \\(Live\\|Completions\\)\\*"
|
||||
nil
|
||||
(window-parameters (mode-line-format . none)))))
|
||||
|
||||
;; Consult users will also want the embark-consult package.
|
||||
(use-package embark-consult
|
||||
:ensure t ; only need to install it, embark loads it after consult if found
|
||||
:hook
|
||||
(embark-collect-mode . consult-preview-at-point-mode))
|
||||
|
||||
;; Optionally use the `orderless' completion style.
|
||||
(use-package orderless
|
||||
:custom
|
||||
;; Configure a custom style dispatcher (see the Consult wiki)
|
||||
;; (orderless-style-dispatchers '(+orderless-consult-dispatch orderless-affix-dispatch))
|
||||
;; (orderless-component-separator #'orderless-escapable-split-on-space)
|
||||
(completion-styles '(orderless basic))
|
||||
(completion-category-overrides '((file (styles partial-completion))))
|
||||
(completion-category-defaults nil) ;; Disable defaults, use our settings
|
||||
(completion-pcm-leading-wildcard t)) ;; Emacs 31: partial-completion behaves like substring
|
||||
|
||||
;; Persist history over Emacs restarts. Vertico sorts by history position.
|
||||
(use-package savehist
|
||||
:init
|
||||
(savehist-mode))
|
||||
|
||||
(use-package indent-bars
|
||||
:config
|
||||
(setq
|
||||
;; Show indent guides starting from the first column.
|
||||
indent-bars-starting-column 0
|
||||
;; Make indent guides subtle; the default is too distractingly colorful.
|
||||
indent-bars-width-frac 0.15 ; make bitmaps thinner
|
||||
indent-bars-color-by-depth nil
|
||||
indent-bars-color '(font-lock-comment-face :face-bg nil :blend 0.425)
|
||||
;; Don't highlight current level indentation; it's distracting and is
|
||||
;; unnecessary overhead for little benefit.
|
||||
indent-bars-highlight-current-depth nil)
|
||||
: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"))
|
||||
;; Add other languages as needed
|
||||
;; (indent-bars-treesit-scope '((python function_definition class_definition for_statement
|
||||
;; if_statement with_statement while_statement)))
|
||||
;; Note: wrap may not be needed if no-descend-list is enough
|
||||
;;(indent-bars-treesit-wrap '((python argument_list parameters ; for python, as an example
|
||||
;; list list_comprehension
|
||||
;; dictionary dictionary_comprehension
|
||||
;; parenthesized_expression subscript)))
|
||||
:hook ((prog-mode text-mode) . indent-bars-mode))
|
||||
|
||||
(use-package dashboard
|
||||
:ensure t
|
||||
:config
|
||||
(dashboard-setup-startup-hook))
|
||||
|
||||
(provide 'ui)
|
||||
;;; ui.el ends here
|
||||
109
config/.emacs.d/plugins/utils.el
Normal file
109
config/.emacs.d/plugins/utils.el
Normal file
@@ -0,0 +1,109 @@
|
||||
;;; utils.el --- Description -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2026 Michael Chalupiak
|
||||
;;
|
||||
;; Author: Michael Chalupiak <mikec@archbox>
|
||||
;; Maintainer: Michael Chalupiak <mikec@archbox>
|
||||
;; Created: January 16, 2026
|
||||
;; Modified: January 16, 2026
|
||||
;; Version: 0.0.1
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex text tools unix vc wp
|
||||
;; Homepage: https://github.com/mikec/utils
|
||||
;; Package-Requires: ((emacs "29.1"))
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Description
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(use-package surround
|
||||
:ensure t
|
||||
:defer t
|
||||
:bind-keymap ("M-'" . surround-keymap))
|
||||
|
||||
(use-package dirvish
|
||||
:ensure t
|
||||
:defer t
|
||||
:init
|
||||
(dirvish-peek-mode 1))
|
||||
; (dirvish-override-dired-mode 1))
|
||||
|
||||
(use-package multiple-cursors
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package hl-todo
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(use-package dtrt-indent
|
||||
:ensure t
|
||||
:defer 5
|
||||
:config
|
||||
(dtrt-indent-global-mode 1))
|
||||
|
||||
(use-package undo-fu
|
||||
:ensure t
|
||||
:defer 5
|
||||
:bind (("C-_" . 'undo-fu-only-undo)
|
||||
("C-/" . 'undo-fu-only-redo)))
|
||||
(use-package undo-fu-session
|
||||
:config
|
||||
(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)
|
||||
:config
|
||||
(setq git-gutter:update-interval 0.02))
|
||||
|
||||
(use-package git-gutter-fringe
|
||||
:defer 10
|
||||
:config
|
||||
(define-fringe-bitmap 'git-gutter-fr:added [224] nil nil '(center repeated))
|
||||
(define-fringe-bitmap 'git-gutter-fr:modified [224] nil nil '(center repeated))
|
||||
(define-fringe-bitmap 'git-gutter-fr:deleted [128 192 224 240] nil nil 'bottom))
|
||||
|
||||
(use-package visual-replace
|
||||
:ensure t
|
||||
:defer 5
|
||||
:config
|
||||
(visual-replace-global-mode 1))
|
||||
;; :bind (("C-c r" . visual-replace)
|
||||
;; :map isearch-mode-map
|
||||
;; ("C-c r" . visual-replace-from-isearch)))
|
||||
|
||||
(use-package parinfer-rust-mode
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook ((emacs-lisp-mode common-lisp-mode lisp-mode scheme-mode) . parinfer-rust-mode)
|
||||
:config
|
||||
(electric-pair-mode -1))
|
||||
|
||||
(use-package apheleia
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
;; (use-package zoxide
|
||||
;; :ensure t
|
||||
;; :defer t
|
||||
;; :hook eshell-mode
|
||||
;; :straight '(:type git host: sourcehut :repo "vonfry/zoxide.el"))
|
||||
|
||||
(provide 'utils)
|
||||
;;; utils.el ends here
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
if [ "$XDG_SESSION_DESKTOP" = "sway" ] ; then
|
||||
# https://github.com/swaywm/sway/issues/595
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||
# export _JAVA_AWT_WM_NONREPARENTING=1
|
||||
export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
rg --uu --color=always --line-number --no-heading --smart-case -H "${*:-}" | tr -d '\r' |
|
||||
rg -uu --color=always --line-number --no-heading --smart-case -H "${*:-}" | tr -d '\r' |
|
||||
fzf-tmux --cycle -p 80%,90% --ansi \
|
||||
--color "hl:-1:underline,hl+:-1:underline:reverse" \
|
||||
--delimiter : \
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
set -g @rose_pine_variant 'main' # Options are 'main', 'moon' or 'dawn'
|
||||
# set -g @rose_pine_variant 'main' # Options are 'main', 'moon' or 'dawn'
|
||||
# List of plugins
|
||||
#set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
#set -g @plugin 'arcticicestudio/nord-tmux'
|
||||
set -g @plugin 'rose-pine/tmux'
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
# set -g @plugin 'arcticicestudio/nord-tmux'
|
||||
# set -g @plugin 'rose-pine/tmux'
|
||||
# set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g default-terminal "tmux-256color"
|
||||
# set -ga terminal-overrides ",alacritty:Tc"
|
||||
set -ga terminal-overrides ",xterm-256color:Tc"
|
||||
@@ -20,12 +20,17 @@ bind-key j select-pane -D
|
||||
bind-key k select-pane -U
|
||||
bind-key l select-pane -R
|
||||
|
||||
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
|
||||
# Other examples:
|
||||
# set -g @plugin 'github_username/plugin_name'
|
||||
# set -g @plugin 'git@github.com:user/plugin'
|
||||
# set -g @plugin 'git@bitbucket.com:user/plugin'
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user