From 9f23b8e92b6ae8e86a71fde494fa7fc6aa23e747 Mon Sep 17 00:00:00 2001 From: Michael Chalupiak Date: Wed, 15 Jul 2026 08:20:11 -0600 Subject: [PATCH 1/3] more emacs --- config/.config/doom/config.el | 2 +- config/.config/doom/init.el | 79 +++--- config/.config/doom/packages.el | 1 + .../doom/themes/doom-rose-pine-dawn-theme.el | 237 ----------------- .../doom/themes/doom-rose-pine-moon-theme.el | 244 ------------------ .../doom/themes/doom-rose-pine-theme.el | 242 ----------------- config/.config/nvim/lazy-lock.json | 66 ++--- config/.doom.d/config.el | 158 ------------ config/.doom.d/custom.el | 28 -- config/.doom.d/init.el | 195 -------------- config/.doom.d/packages.el | 57 ---- .../themes/doom-rose-pine-dawn-theme.el | 237 ----------------- .../themes/doom-rose-pine-moon-theme.el | 244 ------------------ config/.doom.d/themes/doom-rose-pine-theme.el | 242 ----------------- config/.emacs.d/config/emacs.el | 10 +- config/.emacs.d/early-init.el | 2 +- config/.emacs.d/plugins/apps.el | 11 +- config/.emacs.d/plugins/lang.el | 2 + config/.emacs.d/plugins/straight.el | 1 + config/.emacs.d/plugins/utils.el | 27 +- 20 files changed, 112 insertions(+), 1973 deletions(-) delete mode 100644 config/.config/doom/themes/doom-rose-pine-dawn-theme.el delete mode 100644 config/.config/doom/themes/doom-rose-pine-moon-theme.el delete mode 100644 config/.config/doom/themes/doom-rose-pine-theme.el delete mode 100644 config/.doom.d/config.el delete mode 100644 config/.doom.d/custom.el delete mode 100644 config/.doom.d/init.el delete mode 100644 config/.doom.d/packages.el delete mode 100644 config/.doom.d/themes/doom-rose-pine-dawn-theme.el delete mode 100644 config/.doom.d/themes/doom-rose-pine-moon-theme.el delete mode 100644 config/.doom.d/themes/doom-rose-pine-theme.el diff --git a/config/.config/doom/config.el b/config/.config/doom/config.el index 91a2316..9039356 100644 --- a/config/.config/doom/config.el +++ b/config/.config/doom/config.el @@ -97,7 +97,7 @@ :defer t :init ;; Configure themes - (setq! auto-dark-themes '((doom-gruvbox) (doom-gruvbox-light))) + (setq! auto-dark-themes '((kaolin-dark) (kaolin-light))) ;; Disable doom's theme loading mechanism (just to make sure) (setq! doom-theme nil) ;; Declare that all themes are safe to load. diff --git a/config/.config/doom/init.el b/config/.config/doom/init.el index 76c149c..62e9432 100644 --- a/config/.config/doom/init.el +++ b/config/.config/doom/init.el @@ -1,21 +1,21 @@ -;;; init.el -*- lexical-binding: t; -*- +;;; $DOOMDIR/init.el -*- lexical-binding: t; -*- ;; This file controls what Doom modules are enabled and what order they load ;; in. Remember to run 'doom sync' after modifying it! -;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's -;; documentation. There you'll find a link to Doom's Module Index where all -;; of our modules are listed, including what flags they support. +;; NOTE: Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's +;; documentation. There you'll find a link to Doom's Module Index where all of +;; our modules are listed, including what flags they support. -;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or -;; 'C-c c k' for non-vim users) to view its documentation. This works on -;; flags as well (those symbols that start with a plus). +;; NOTE: Move your cursor over a module's name (or its flags) and press 'K' (or +;; 'C-c c k' for non-vim users) to view its documentation. This works on flags +;; as well (those symbols that start with a plus). ;; -;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its -;; directory (for easy access to its source code). +;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its +;; directory (for easy access to its source code). (doom! :input - ;;bidi ; (tfel ot) thgir etirw uoy gnipleh + bidi ; (tfel ot) thgir etirw uoy gnipleh ;;chinese ;;japanese ;;layout ; auie,ctsrnm is the superior home row @@ -25,15 +25,15 @@ (corfu +orderless) ; complete with cap(f), cape and a flying feather! ;;helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... - ;; ivy ; a search engine for love and life - vertico ; the search engine of the future + ;;ivy ; a search engine for love and life + vertico ; the search engine of the future :ui ;;deft ; notational velocity for Emacs doom ; what makes DOOM look the way it does - doom-dashboard ; a nifty splash screen for Emacs + dashboard ; a nifty splash screen for Emacs ;;doom-quit ; DOOM quit-message prompts when you quit Emacs - ;;(emoji +unicode) ; 🙂 + (emoji +unicode) ; 🙂 hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW indent-guides ; highlighted indent columns ;;ligatures ; ligatures and symbols to make your code pretty again @@ -43,21 +43,21 @@ ;;neotree ; a project drawer, like NERDTree for vim ophints ; highlight the region an operation acts on (popup +defaults) ; tame sudden yet inevitable temporary windows - smooth-scroll ; So smooth you won't believe it's not butter + ;;smooth-scroll ; So smooth you won't believe it's not butter ;;tabs ; a tab bar for Emacs ;;treemacs ; a project drawer, like neotree but cooler - unicode ; extended unicode support for various languages + ;;unicode ; extended unicode support for various languages (vc-gutter +pretty) ; vcs diff in the fringe vi-tilde-fringe ; fringe tildes to mark beyond EOB ;;window-select ; visually switch windows - ;; workspaces ; tab emulation, persistence & separate workspaces - zen ; distraction-free coding or writing + workspaces ; tab emulation, persistence & separate workspaces + ;;zen ; distraction-free coding or writing :editor (evil +everywhere); come to the dark side, we have cookies file-templates ; auto-snippets for empty files fold ; (nigh) universal code folding - (format +onsave) ; automated prettiness + ;;(format +onsave) ; automated prettiness ;;god ; run Emacs commands without modifier keys ;;lispy ; vim for lisp, for people who don't like vim multiple-cursors ; editing in many places at once @@ -65,13 +65,13 @@ parinfer ; turn lisp into python, sort of ;;rotate-text ; cycle region at point between text candidates snippets ; my elves. They type so I don't have to - ;; (whitespace +guess +trim) ; a butler for your whitespace + (whitespace +guess +trim) ; a butler for your whitespace word-wrap ; soft wrapping with language-aware indent :emacs dired ; making dired pretty [functional] electric ; smarter, keyword-based electric-indent - ;;eww ; the internet is gross + eww ; the internet is gross ibuffer ; interactive buffer management tramp ; remote files at your arthritic fingertips undo ; persistent, smarter undo for your inevitable mistakes @@ -81,33 +81,34 @@ eshell ; the elisp shell that works everywhere ;;shell ; simple shell REPL for Emacs ;;term ; basic terminal emulator for Emacs - ;; vterm ; the best terminal emulation in Emacs + ;;vterm ; almost the best terminal emulation in Emacs + ghostel ; the best terminal emulation in Emacs :checkers syntax ; tasing you for every semicolon you forget - (spell +flyspell) ; tasing you for misspelling mispelling + ;;(spell +flyspell) ; tasing you for misspelling mispelling ;;grammar ; tasing grammar mistake every you make :tools ;;ansible ;;biblio ; Writes a PhD for you (citation needed) ;;collab ; buffers with friends - ;;debugger ; FIXME stepping through code, to help you add bugs + ;;debugger ; stepping through code, to help you add bugs ;;direnv ;;docker ;;editorconfig ; let someone else argue about tabs vs spaces ;;ein ; tame Jupyter notebooks with emacs (eval +overlay) ; run code, run (also, repls) - (lookup +dictionary +offline) ; navigate your code and its documentation + lookup ; navigate your code and its documentation ;;llm ; when I said you needed friends, I didn't mean... - (lsp +eglot) ; M-x vscode - (magit +forge) ; a git porcelain for Emacs + (lsp +eglot) ; M-x vscode + magit ; a git porcelain for Emacs ;;make ; run make tasks from Emacs ;;pass ; password manager for nerds ;;pdf ; pdf enhancements ;;terraform ; infrastructure as code ;;tmux ; an API for interacting with tmux - tree-sitter ; syntax and parsing, sitting in a tree... + tree-sitter ; syntax and parsing, sitting in a tree... ;;upload ; map local to remote projects via ssh/ftp :os @@ -116,11 +117,11 @@ :lang ;;ada ; In strong typing we (blindly) trust - ;;agda ; types of types of types of types... + ;;(agda +local) ; types of types of types of types... ;;beancount ; mind the GAAP - (cc +lsp +tree-sitter) ; C > C++ == 1 + ;;(cc +lsp) ; C > C++ == 1 ;;clojure ; java with a lisp - common-lisp ; if you've seen one lisp, you've seen them all + ;;common-lisp ; if you've seen one lisp, you've seen them all ;;coq ; proofs-as-programs ;;crystal ; ruby at the speed of c ;;csharp ; unity, .NET, and mono shenanigans @@ -153,10 +154,11 @@ ;;lean ; for folks with too much to prove ;;ledger ; be audit you can be ;;lua ; one-based indices? one-based indices - (markdown +grip +tree-sitter) ; writing docs for people to ignore + markdown ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c ;;nix ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel + ;;odin ; C, minus its footguns org ; organize your plain life in plain text ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more @@ -169,20 +171,21 @@ ;;rest ; Emacs as a REST client ;;rst ; ReST in peace ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - (rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + ;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + ;;scad ; trust the preview, regret the render ;;scala ; java, but good ;;(scheme +guile) ; a fully conniving family of lisps sh ; she sells {ba,z,fi}sh shells on the C xor ;;sml ;;solidity ; do you need a blockchain? No. - (swift +lsp +tree-sitter); who asked for emoji variables? + ;;swift ; who asked for emoji variables? ;;terra ; Earth and Moon in alignment for performance. - (web +lsp +tree-sitter) ; the tubes + ;;web ; the tubes ;;yaml ; JSON, but readable - (zig +lsp +tree-sitter) ; C, but simpler + ;;zig ; C, but simpler :email - (mu4e +org +gmail +mbsync) + (mu4e +org +gmail) ;;notmuch ;;(wanderlust +gmail) @@ -191,7 +194,7 @@ ;;emms ;;everywhere ; *leave* Emacs!? You must be joking ;;irc ; how neckbeards socialize - ;;(rss +org) ; emacs as an RSS reader + (rss +org) ; emacs as an RSS reader :config ;;literate diff --git a/config/.config/doom/packages.el b/config/.config/doom/packages.el index 40ba19e..20ac323 100644 --- a/config/.config/doom/packages.el +++ b/config/.config/doom/packages.el @@ -52,6 +52,7 @@ ;; (unpin! pinned-package another-pinned-package) ;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) ;; (unpin! t) +(package! kaolin-themes) (package! auto-dark) (package! odin-ts-mode :recipe (:host github :repo "Sampie159/odin-ts-mode")) diff --git a/config/.config/doom/themes/doom-rose-pine-dawn-theme.el b/config/.config/doom/themes/doom-rose-pine-dawn-theme.el deleted file mode 100644 index 2a2c3d4..0000000 --- a/config/.config/doom/themes/doom-rose-pine-dawn-theme.el +++ /dev/null @@ -1,237 +0,0 @@ -;;; doom-rose-pine-dawn-theme.el --- A light port of Rose Piné Dawn theme -*- lexical-binding: t; no-byte-compile: t; -*- -;; -;; Author: mvllow -;; Ported by: donniebreve -;; Keywords: custom themes, faces -;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs -;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1")) -;; -;;; Commentary: -;; -;; Thanks to mvllow (https://github.com/rose-pine) -;; Thanks to hlissner (https://github.com/doomemacs/themes) -;; -;;; Code: - -(require 'doom-themes) - -;;; Variables -(defgroup doom-rose-pine-dawn-theme nil - "Options for the `doom-rose-pine-dawn' theme." - :group 'doom-themes) - -(defcustom doom-rose-pine-dawn-brighter-modeline nil - "If non-nil, more vivid colors will be used to style the mode-line." - :group 'doom-rose-pine-dawn-theme - :type 'boolean) - -(defcustom doom-rose-pine-dawn-brighter-comments nil - "If non-nil, comments will be highlighted in more vivid colors." - :group 'doom-rose-pine-dawn-theme - :type 'boolean) - -(defcustom doom-rose-pine-dawn-padded-modeline doom-themes-padded-modeline - "If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding." - :group 'doom-rose-pine-dawn-theme - :type '(choice integer boolean)) - -;;; Theme definition -(def-doom-theme doom-rose-pine-dawn - "A light port of Rosé Pine Dawn theme" - - ;; Main theme colors - ( - ;; name default 256 16 - (base '("#faf4ed" "#faf4ed" "black" )) - (surface '("#fffaf3" "#fffaf3" "brightblack" )) - (overlay '("#f2e9de" "#f2e9de" "brightblack" )) - (muted '("#9893a5" "#9893a5" "brightblack" )) - (subtle '("#797593" "#797593" "brightblack" )) - (text '("#575279" "#575279" "brightblack" )) - (love '("#b4637a" "#b4637a" "red" )) - (gold '("#ea9d34" "#ea9d34" "white" )) - (rose '("#d7827e" "#d7827e" "white" )) - (pine '("#286983" "#286983" "white" )) - (foam '("#56949f" "#56949f" "white" )) - (iris '("#907aa9" "#907aa9" "white" )) - (highlightL '("#f4ede8" "#f4ede8" "grey" )) - (highlightM '("#dfdad9" "#dfdad9" "grey" )) - (highlightH '("#cecacd" "#cecacd" "grey" )) - - ;; Variables required by doom theme - (bg base) - (fg text) - ;; These are off-color variants of bg/fg, used primarily for `solaire-mode', - ;; but can also be useful as a basis for subtle highlights (e.g. for hl-line - ;; or region), especially when paired with the `doom-darken', `doom-lighten', - ;; and `doom-blend' helper functions. - (bg-alt surface) - (fg-alt text) - ;; These should represent a spectrum from bg to fg, where base0 is a starker - ;; bg and base8 is a starker fg. For example, if bg is light grey and fg is - ;; dark grey, base0 should be white and base8 should be black. - (base0 surface) - (base1 base) - (base2 highlightL) - (base3 overlay) - (base4 highlightM) - (base5 highlightH) - (base6 muted) - (base7 subtle) - (base8 text) - (grey muted) - (red love) - (orange gold) - (green pine) - (teal pine) - (yellow rose) - (blue pine) - (dark-blue pine) - (magenta iris) - (violet iris) - (cyan foam) - (dark-cyan foam) - ;; Variables required by doom theme ends here - - ;; Required face categories for syntax highlighting - (highlight subtle) ; cursor - (selection base) ; can't figure out where this is used - (region overlay) ; visual selection - (vertical-bar surface) ; window split - - (comments (if doom-rose-pine-dawn-brighter-comments subtle muted)) - (doc-comments (if doom-rose-pine-dawn-brighter-comments subtle muted)) - - (builtin pine) - (constants iris) - (functions pine) - (keywords pine) - (methods foam) - (numbers rose) - (operators gold) - (strings gold) - (type rose) - (variables iris) - - (error love) - (success foam) - (warning gold) - - (vc-added foam) - (vc-deleted love) - (vc-modified gold) - - ;; Other categories - ;; Modeline - (modeline-bg (if doom-rose-pine-dawn-brighter-modeline overlay surface)) - (modeline-fg text) - (modeline-bg-alt (if doom-rose-pine-dawn-brighter-modeline muted overlay)) - (modeline-fg-alt text) ; should this be darker or lighter? - (modeline-bg-inactive base) - (modeline-fg-inactive subtle) - (modeline-bg-inactive-alt base) - (modeline-fg-inactive-alt subtle) - (modeline-pad - (when doom-rose-pine-dawn-padded-modeline - if (integerp doom-rose-pine-dawn-padded-modeline) doom-rose-pine-padded-modeline 4))) - - ;; Base theme face overrides - ( - ;; Font - ((font-lock-comment-face &override) - :slant 'italic - :background (if doom-rose-pine-dawn-brighter-comments (doom-blend teal base 0.07))) - ((font-lock-type-face &override) :slant 'italic) - ((font-lock-builtin-face &override) :slant 'italic) - ((font-lock-function-name-face &override) :foreground type) - ((font-lock-keyword-face &override) :weight 'bold) - ((font-lock-constant-face &override) :weight 'bold) - - ;; Highlight line - (hl-line - :background highlightL) - - ;; Line numbers - ((line-number &override) :foreground muted) - ((line-number-current-line &override) :foreground text) - - ;; Mode line - (mode-line - :background modeline-bg - :foreground modeline-fg - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg))) - (mode-line-inactive - :background modeline-bg-inactive - :foreground modeline-fg-inactive - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive))) - (mode-line-emphasis - :foreground (if doom-rose-pine-dawn-brighter-modeline text subtle)) - - ;; Company - (company-tooltip-selection :background blue :foreground muted) - - ;; CSS mode / 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 - (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 diff --git a/config/.config/doom/themes/doom-rose-pine-moon-theme.el b/config/.config/doom/themes/doom-rose-pine-moon-theme.el deleted file mode 100644 index 2fb50e4..0000000 --- a/config/.config/doom/themes/doom-rose-pine-moon-theme.el +++ /dev/null @@ -1,244 +0,0 @@ -;;; doom-rose-pine-moon-theme.el --- A medium port of Rosé Pine Moon theme -*- lexical-binding: t; no-byte-compile: t; -*- -;; -;; Author: mvllow -;; Ported by: donniebreve -;; Keywords: custom themes, faces -;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs -;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1")) -;; -;;; Commentary: -;; -;; Thanks to mvllow (https://github.com/rose-pine) -;; Thanks to hlissner (https://github.com/doomemacs/themes) -;; -;;; Code: - -(require 'doom-themes) - -;;; Variables -(defgroup doom-rose-pine-moon-theme nil - "Options for the `doom-rose-pine-moon' theme." - :group 'doom-themes) - -(defcustom doom-rose-pine-moon-brighter-modeline nil - "If non-nil, more vivid colors will be used to style the mode-line." - :group 'doom-rose-pine-moon-theme - :type 'boolean) - -(defcustom doom-rose-pine-moon-brighter-comments nil - "If non-nil, comments will be highlighted in more vivid colors." - :group 'doom-rose-pine-moon-theme - :type 'boolean) - -(defcustom doom-rose-pine-moon-brighter-text nil - "If non-nil, default text will be brighter." - :group 'doom-rose-pine-moon-theme - :type 'boolean) - -(defcustom doom-rose-pine-moon-padded-modeline doom-themes-padded-modeline - "If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding." - :group 'doom-rose-pine-moon-theme - :type '(choice integer boolean)) - -;;; Theme definition -(def-doom-theme doom-rose-pine-moon - "A medium port of Rosé Pine Moon theme" - - ;; Main theme colors - ( - ;; name default 256 16 - (base '("#232136" "#232136" "black" )) - (surface '("#2a273f" "#2a273f" "brightblack" )) - (overlay '("#393552" "#393552" "brightblack" )) - (muted '("#6e6a86" "#6e6a86" "brightblack" )) - (subtle '("#908caa" "#908caa" "brightblack" )) - (text '("#e0def4" "#e0def4" "brightblack" )) - (love '("#eb6f92" "#eb6f92" "red" )) - (gold '("#f6c177" "#f6c177" "white" )) - (rose '("#ea9a97" "#ea9a97" "white" )) - (pine '("#3e8fb0" "#3e8fb0" "white" )) - (foam '("#9ccfd8" "#9ccfd8" "white" )) - (iris '("#c4a7e7" "#c4a7e7" "white" )) - (highlightL '("#2a283e" "#2a283e" "white" )) - (highlightM '("#44415a" "#44415a" "white" )) - (highlightH '("#56526e" "#56526e" "white" )) - - ;; Variables required by doom theme - ;; These are required by doom theme and used in various places - (bg base) - (fg text) - ;; These are off-color variants of bg/fg, used primarily for `solaire-mode', - ;; but can also be useful as a basis for subtle highlights (e.g. for hl-line - ;; or region), especially when paired with the `doom-darken', `doom-lighten', - ;; and `doom-blend' helper functions. - (bg-alt surface) - (fg-alt text) - ;; These should represent a spectrum from bg to fg, where base0 is a starker - ;; bg and base8 is a starker fg. For example, if bg is light grey and fg is - ;; dark grey, base0 should be white and base8 should be black. - (base0 base) - (base1 surface) - (base2 highlightL) - (base3 overlay) - (base4 highlightM) - (base5 highlightH) - (base6 muted) - (base7 subtle) - (base8 text) - (grey muted) - (red love) - (orange gold) - (green pine) - (teal foam) - (yellow rose) - (pink rose) - (blue pine) - (dark-blue pine) - (magenta iris) - (violet iris) - (cyan foam) - (dark-cyan pine) - ;; Variables required by doom theme ends here - - ;; Required face categories for syntax highlighting - (highlight subtle) ; cursor - (selection base) ; can't figure out where this is used - (region overlay) ; visual selection - (vertical-bar surface) ; window split - - (comments (if doom-rose-pine-moon-brighter-comments subtle muted)) - (doc-comments (if doom-rose-pine-moon-brighter-comments subtle muted)) - - (builtin pine) - (constants iris) - (functions pine) - (keywords pine) - (methods foam) - (numbers rose) - (operators gold) - (strings gold) - (type rose) - (variables iris) - - (error love) - (success foam) - (warning gold) - - (vc-added foam) - (vc-deleted love) - (vc-modified gold) - - ;; Other categories - ;; Modeline - (modeline-bg (if doom-rose-pine-moon-brighter-modeline overlay surface)) - (modeline-fg text) - (modeline-bg-alt (if doom-rose-pine-moon-brighter-modeline muted overlay)) - (modeline-fg-alt text) ; should this be darker or lighter? - (modeline-bg-inactive base) - (modeline-fg-inactive subtle) - (modeline-bg-inactive-alt base) - (modeline-fg-inactive-alt subtle) - (modeline-pad - (when doom-rose-pine-moon-padded-modeline - if (integerp doom-rose-pine-moon-padded-modeline) doom-rose-pine-padded-modeline 4))) - - ;; Base theme face overrides - ( - ;; Font - ((font-lock-comment-face &override) - :slant 'italic - :background (if doom-rose-pine-moon-brighter-comments (doom-blend teal base 0.07))) - ((font-lock-type-face &override) :slant 'italic) - ((font-lock-builtin-face &override) :slant 'italic) - ((font-lock-function-name-face &override) :foreground type) - ((font-lock-keyword-face &override) :weight 'bold) - ((font-lock-constant-face &override) :weight 'bold) - - ;; Highlight line - (hl-line - :background surface) - - ;; Line numbers - ((line-number &override) :foreground muted) - ((line-number-current-line &override) :foreground text) - - ;; Mode line - (mode-line - :background modeline-bg - :foreground modeline-fg - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg))) - (mode-line-inactive - :background modeline-bg-inactive - :foreground modeline-fg-inactive - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive))) - (mode-line-emphasis - :foreground (if doom-rose-pine-moon-brighter-modeline text subtle)) - - ;; Company - (company-tooltip-selection :background blue :foreground muted) - - ;; CSS mode / 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 - (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 diff --git a/config/.config/doom/themes/doom-rose-pine-theme.el b/config/.config/doom/themes/doom-rose-pine-theme.el deleted file mode 100644 index c37cfc2..0000000 --- a/config/.config/doom/themes/doom-rose-pine-theme.el +++ /dev/null @@ -1,242 +0,0 @@ -;;; doom-rose-pine-theme.el --- A dark port of Rosé Pine theme -*- lexical-binding: t; no-byte-compile: t; -*- -;; -;; Author: mvllow -;; Ported by: donniebreve -;; Keywords: custom themes, faces -;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs -;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1")) -;; -;;; Commentary: -;; -;; Thanks to mvllow (https://github.com/rose-pine) -;; Thanks to hlissner (https://github.com/doomemacs/themes) -;; -;;; Code: - -(require 'doom-themes) - -;;; Variables -(defgroup doom-rose-pine-theme nil - "Options for the `doom-rose-pine' theme." - :group 'doom-themes) - -(defcustom doom-rose-pine-brighter-modeline nil - "If non-nil, more vivid colors will be used to style the mode-line." - :group 'doom-rose-pine-theme - :type 'boolean) - -(defcustom doom-rose-pine-brighter-comments nil - "If non-nil, comments will be highlighted in more vivid colors." - :group 'doom-rose-pine-theme - :type 'boolean) - -(defcustom doom-rose-pine-brighter-text nil - "If non-nil, default text will be brighter." - :group 'doom-rose-pine-theme - :type 'boolean) - -(defcustom doom-rose-pine-padded-modeline doom-themes-padded-modeline - "If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding." - :group 'doom-rose-pine-theme - :type '(choice integer boolean)) - -;;; Theme definition -(def-doom-theme doom-rose-pine - "A dark port of Rosé Pine theme" - - ;; Main theme colors - ( - ;; name default 256 16 - (base '("#191724" "#191724" "black" )) - (surface '("#1f1d2e" "#1f1d2e" "brightblack" )) - (overlay '("#26233a" "#26233a" "brightblack" )) - (muted '("#6e6a86" "#6e6a86" "brightblack" )) - (subtle '("#908caa" "#908caa" "brightblack" )) - (text '("#e0def4" "#e0def4" "brightblack" )) - (love '("#eb6f92" "#eb6f92" "red" )) - (gold '("#f6c177" "#f6c177" "white" )) - (rose '("#ebbcba" "#ebbcba" "white" )) - (pine '("#31748f" "#31748f" "white" )) - (foam '("#9ccfd8" "#9ccfd8" "white" )) - (iris '("#c4a7e7" "#c4a7e7" "white" )) - (highlightL '("#21202e" "#21202e" "grey" )) - (highlightM '("#403d52" "#403d52" "grey" )) - (highlightH '("#524f67" "#524f67" "grey" )) - - ;; Variables required by doom theme - ;; These are required by doom theme and used in various places - (bg base) - (fg text) - ;; These are off-color variants of bg/fg, used primarily for `solaire-mode', - ;; but can also be useful as a basis for subtle highlights (e.g. for hl-line - ;; or region), especially when paired with the `doom-darken', `doom-lighten', - ;; and `doom-blend' helper functions. - (bg-alt surface) - (fg-alt text) - ;; These should represent a spectrum from bg to fg, where base0 is a starker - ;; bg and base8 is a starker fg. For example, if bg is light grey and fg is - ;; dark grey, base0 should be white and base8 should be black. - (base0 base) - (base1 surface) - (base2 highlightL) - (base3 overlay) - (base4 highlightM) - (base5 highlightH) - (base6 muted) - (base7 subtle) - (base8 text) - (grey muted) - (red love) - (orange gold) - (green pine) - (teal pine) - (yellow rose) - (blue pine) - (dark-blue pine) - (magenta iris) - (violet iris) - (cyan foam) - (dark-cyan foam) - ;; Variables required by doom theme ends here - - ;; Required face categories for syntax highlighting - (highlight subtle) ; cursor - (selection base) ; can't figure out where this is used - (region overlay) ; visual selection - (vertical-bar surface) ; window split - - (comments (if doom-rose-pine-brighter-comments subtle muted)) - (doc-comments (if doom-rose-pine-brighter-comments subtle muted)) - - (builtin pine) - (constants iris) - (functions pine) - (keywords pine) - (methods foam) - (numbers rose) - (operators gold) - (strings gold) - (type rose) - (variables iris) - - (error love) - (success foam) - (warning gold) - - (vc-added foam) - (vc-deleted love) - (vc-modified gold) - - ;; Other categories - ;; Modeline - (modeline-bg (if doom-rose-pine-brighter-modeline overlay surface)) - (modeline-fg text) - (modeline-bg-alt (if doom-rose-pine-brighter-modeline muted overlay)) - (modeline-fg-alt text) ; should this be darker or lighter? - (modeline-bg-inactive base) - (modeline-fg-inactive subtle) - (modeline-bg-inactive-alt base) - (modeline-fg-inactive-alt subtle) - (modeline-pad - (when doom-rose-pine-padded-modeline - if (integerp doom-rose-pine-padded-modeline) doom-rose-pine-padded-modeline 4))) - - ;; Base theme face overrides - ( - ;; Font - ((font-lock-comment-face &override) - :slant 'italic - :background (if doom-rose-pine-brighter-comments (doom-blend teal base 0.07))) - ((font-lock-type-face &override) :slant 'italic) - ((font-lock-builtin-face &override) :slant 'italic) - ((font-lock-function-name-face &override) :foreground type) - ((font-lock-keyword-face &override) :weight 'bold) - ((font-lock-constant-face &override) :weight 'bold) - - ;; Highlight line - (hl-line - :background surface) - - ;; Line numbers - ((line-number &override) :foreground muted) - ((line-number-current-line &override) :foreground text) - - ;; Mode line - (mode-line - :background modeline-bg - :foreground modeline-fg - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg))) - (mode-line-inactive - :background modeline-bg-inactive - :foreground modeline-fg-inactive - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive))) - (mode-line-emphasis - :foreground (if doom-rose-pine-brighter-modeline text subtle)) - - ;; Company - (company-tooltip-selection :background blue :foreground muted) - - ;; CSS mode / 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 - (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 diff --git a/config/.config/nvim/lazy-lock.json b/config/.config/nvim/lazy-lock.json index d3769b2..13cd774 100644 --- a/config/.config/nvim/lazy-lock.json +++ b/config/.config/nvim/lazy-lock.json @@ -1,74 +1,74 @@ { "auto-dark-mode.nvim": { "branch": "master", "commit": "e300259ec777a40b4b9e3c8e6ade203e78d15881" }, - "blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" }, - "catppuccin": { "branch": "main", "commit": "a7788416689dbefea659d9e9415c87926b0ba5d8" }, + "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, + "catppuccin": { "branch": "main", "commit": "e068ab5f8261f23f6f71ffd8791ae40315b77b9c" }, "cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" }, - "command.nvim": { "branch": "main", "commit": "cf73df4f9afc123b1fc3a8674d3fae08d2ad67db" }, + "command.nvim": { "branch": "main", "commit": "beb948e61c1d434b61b261d6768c26249e0a88fe" }, "compiler-explorer.nvim": { "branch": "master", "commit": "523c6a7a3d8c034b421a71eb20b0da75b0b16f62" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dim.lua": { "branch": "main", "commit": "a3a0dce75f7212ab61130e77a8157530bd23db15" }, "dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" }, - "dropbar.nvim": { "branch": "master", "commit": "ce202248134e3949aac375fd66c28e5207785b10" }, "everblush": { "branch": "main", "commit": "678f808d81801b983b6fb8296fb17ba1b2785d7c" }, - "everforest": { "branch": "master", "commit": "b03a03148c8b34c24c96960b93da9c8883d11f54" }, + "everforest": { "branch": "master", "commit": "85a86eb62409e3ec88713bff3d1b9d7374e112e4" }, "fennel.vim": { "branch": "main", "commit": "c6a9c035ca108cbb24273d96cd6277fb8fbc60b4" }, - "firenvim": { "branch": "master", "commit": "a18ef908ac06b52ad9333b70e3e630b0a56ecb3d" }, "github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" }, "github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" }, - "gitsigns.nvim": { "branch": "main", "commit": "caa98e2e5e4c23a1652c23be839d2e1722cecc29" }, - "gruvbox-material": { "branch": "master", "commit": "790afe9dd085aa04eccd1da3626c5fa05c620e53" }, - "gruvbox.nvim": { "branch": "main", "commit": "334d5fd49fc8033f26408425366c66c6390c57bb" }, - "hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" }, + "gitsigns.nvim": { "branch": "main", "commit": "eb60cc7b94c46005237fd34170d76f3a089a90aa" }, + "gruvbox-material": { "branch": "master", "commit": "11d779b26a9ab2b3db8c22c6ac9fb6e8ed4fea79" }, + "gruvbox.nvim": { "branch": "main", "commit": "154eb5ff5b96d0641307113fa385eaf0d36d9796" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, - "leap.nvim": { "branch": "main", "commit": "b960d5038c5c505c52e56a54490f9bbb1f0e6ef6" }, + "leap.nvim": { "branch": "main", "commit": "d7f8ee64155b7790188f17a993390f32577cfb81" }, "love2d.nvim": { "branch": "main", "commit": "25715394680590f56aab90390d430cab0dc46808" }, "lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" }, - "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "25f609e7fca78af7cede4f9fa3af8a94b1c4950b" }, - "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, + "lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" }, + "markview.nvim": { "branch": "main", "commit": "092c0872fd2437b3b862d253910981142d2465aa" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "47059d71b42d74b0a1e9f61c1d99d301039c3b5b" }, + "mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" }, "melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" }, "mellow.nvim": { "branch": "main", "commit": "6273b7f0ddf6ac2b75021b3bc0bd8b3305cfeef1" }, - "mini.nvim": { "branch": "main", "commit": "3923662bf3d6ca49a9503f8d7196ea0450983e6a" }, "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": "704b99f10a72cc05d370cfeb294ff83412a8ab55" }, "nabla.nvim": { "branch": "master", "commit": "9b69b709063ccf40ac36fabb4fff7d90b3736475" }, - "nelua.vim": { "branch": "main", "commit": "08ddb2e0dda7d2bd6cd9d4efadb6a07547e135c3" }, - "neogit": { "branch": "master", "commit": "4681c1fdac1b730592ae195576e87406f7255750" }, - "neorg": { "branch": "main", "commit": "408fc04013a95da8f217cb0958a06b6a77c01743" }, - "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" }, + "nelua.vim": { "branch": "main", "commit": "1342286a1c06fc2cef50f06cd34dfcdd8df5b65c" }, + "neogit": { "branch": "master", "commit": "6fc2fa890bd2031ed999c074daab0fb4feff20a5" }, + "neorg": { "branch": "main", "commit": "a09e0bb9b32e2d0406d4503ae8c1a7ad2ca83eae" }, + "nightfox.nvim": { "branch": "main", "commit": "4dacd3f0185a2227bdf3b6c0975a8f0bf87cac9a" }, "nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, - "nvim-highlight-colors": { "branch": "main", "commit": "e2cb22089cc2358b2b995c09578224f142de6039" }, - "nvim-lspconfig": { "branch": "master", "commit": "5492a24edd68f78d8a778edcb8905d0a28993abc" }, + "nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" }, + "nvim-highlight-colors": { "branch": "main", "commit": "e4c7af0211866162d999ce0bdd6a029302e19139" }, + "nvim-lspconfig": { "branch": "master", "commit": "d224a1920728ba129880efc700d4a0180ac4ecbb" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" }, - "nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" }, - "nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" }, - "nvim-unception": { "branch": "main", "commit": "df0e505f0f1371c49c2bcf993985962edb5a279d" }, - "nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" }, + "nvim-treesitter": { "branch": "main", "commit": "df7489eeea351bece7fd0f9c825be5cb6a1438f0" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" }, + "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" }, + "nvim-unception": { "branch": "main", "commit": "f14eeb22238d2c2bdafe9a2e5e1f4bd200d0e450" }, + "nvim-web-devicons": { "branch": "master", "commit": "dad71387de386a946b123079d0e53f23028f3abd" }, "oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" }, - "oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" }, + "oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" }, "one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" }, - "onedark.nvim": { "branch": "master", "commit": "213c23ae45a04797572242568d5d51937181792d" }, + "onedark.nvim": { "branch": "master", "commit": "df4792accde9db0043121f32628bcf8e645d9aea" }, "pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" }, "plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" }, - "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "range-highlight.nvim": { "branch": "master", "commit": "097103da6550c2a34c029971c3d7da63d3fef320" }, - "rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" }, + "rose-pine": { "branch": "main", "commit": "ff483051a47e27d84bdef47703538df1ed9f4a47" }, "sherbet.nvim": { "branch": "master", "commit": "5c4166eff70ec551ae0023edfb89141b25cc18c6" }, - "snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" }, + "snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" }, "telescope-tabs": { "branch": "vim_ui_select", "commit": "f01bc722582fdcaa58ea37492b382ff109893d95" }, "tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" }, + "tree-sitter-norg": { "branch": "main", "commit": "d7edfaf89198aab652c7a1f0f818196efedaccfb" }, + "tree-sitter-norg-meta": { "branch": "main", "commit": "729d4e54fb881ba0ddf0f925ec78401354c7c6db" }, + "treesitter-parser-registry": { "branch": "main", "commit": "6eb15358bb9fc88f0d3401d8538d56652e9bdf3c" }, "v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" }, "vim-colors-xcode": { "branch": "master", "commit": "2329a3ed092b4f72e9361a94567a5431e36e7d9c" }, "vim-etlua": { "branch": "master", "commit": "bb2974d0134ce6da60c3be0d82d809976b859c1c" }, "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, "vim-teal": { "branch": "master", "commit": "a416397cf7aad7b03ef53fd3d9847fd764bcbfee" }, "vlime": { "branch": "master", "commit": "e276e9a6f37d2699a3caa63be19314f5a19a1481" }, - "vscode.nvim": { "branch": "main", "commit": "aa1102a7e15195c9cca22730b09224a7f7745ba8" } + "vscode.nvim": { "branch": "main", "commit": "aa1102a7e15195c9cca22730b09224a7f7745ba8" }, + "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } } diff --git a/config/.doom.d/config.el b/config/.doom.d/config.el deleted file mode 100644 index 42d4c49..0000000 --- a/config/.doom.d/config.el +++ /dev/null @@ -1,158 +0,0 @@ -;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- - -;; Place your private configuration here! Remember, you do not need to run 'doom -;; sync' after modifying this file! - - -;; Some functionality uses this to identify you, e.g. GPG configuration, email -;; clients, file templates and snippets. -(setq user-full-name "Michael Chalupiak" - user-mail-address "mikecchalupiak@outlook.com") - -;; Doom exposes five (optional) variables for controlling fonts in Doom. Here -;; are the three important ones: -;; -;; + `doom-font' -;; + `doom-variable-pitch-font' -;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for -;; presentations or streaming. -;; -;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd -;; font string. You generally only need these two: -(setq doom-font (font-spec :family "Iosevka Term SS12" :size 18) - doom-variable-pitch-font (font-spec :family "Cantarell" :size 18 :weight 'bold)) - -;; There are two ways to load a theme. Both assume the theme is installed and -;; available. You can either set `doom-theme' or manually load a theme with the -;; `load-theme' function. This is the default: -(setq doom-theme 'doom-gruvbox) - -;; If you use `org' and don't want your org files in the default location below, -;; change `org-directory'. It must be set before org loads! -(setq org-directory "~/org/") - -;; This determines the style of line numbers in effect. If set to `nil', line -;; numbers are disabled. For relative line numbers, set this to `relative'. -(setq display-line-numbers-type 'relative) - - -;; Here are some additional functions/macros that could help you configure Doom: -;; -;; - `load!' for loading external *.el files relative to this one -;; - `use-package!' for configuring packages -;; - `after!' for running code after a package has loaded -;; - `add-load-path!' for adding directories to the `load-path', relative to -;; this file. Emacs searches the `load-path' when you load packages with -;; `require' or `use-package'. -;; - `map!' for binding new keys -;; -;; To get information about any of these functions/macros, move the cursor over -;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). -;; This will open documentation for it, including demos of how they are used. -;; -;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how -;; they are implemented. - -;; Custom Config ;; - -;; fixes slow vterm performance (especially in cava) -(setq vterm-timer-delay 0.001) - -;; deft directory & recursive search in that directory -;; (setq deft-directory "~/notes") -;; (setq deft-recursive t) -;; set naming rules for deft -;; (setq deft-org-mode-title-prefix t) -;; (setq deft-file-naming-rules -;; '((noslash . "-") -;; (nospace . "-") -;; (case-fn . downcase))) - -;; enable tree-sitter -;; (global-tree-sitter-mode) - -;; enable tree-sitter syntax highlighting -;; (add-hook 'c-mode-hook #'tree-sitter-hl-mode) -(global-flycheck-mode t) -(global-prettify-symbols-mode) -(global-display-fill-column-indicator-mode) -(after! js - (setq-default js--prettify-symbols-alist '())) -(add-hook 'typescript-tsx-mode-hook - (lambda () (setq prettify-symbols-alist '()))) -(defun racket-alist-hook-function () (push '("lambda" . ?λ) prettify-symbols-alist)) -(add-hook 'racket-mode-hook - 'racket-alist-hook-function) - -;;(setq mpc-host "137.112.200.154") -(setq mpc-browser-tags '(Artist Album|Playlist Title|File)) -(add-hook 'mpc-mode-hook - (lambda () - (keymap-local-set "C-k" 'windmove-up) - (keymap-local-set "C-j" 'windmove-down) - (keymap-local-set "C-h" 'windmove-left) - (keymap-local-set "C-l" 'windmove-right) - (keymap-local-set "C-q" 'mpc-quit) - (keymap-local-set "a" (lambda () (interactive) (mpc-select) (mpc-playlist-add))) - (keymap-local-set "D" (lambda () (interactive) (mpc-select) (mpc-playlist-delete))))) -(add-hook 'mpc-songs-mode-hook - (lambda () - (keymap-local-set "p" 'mpc-playlist))) -;; (keymap-local-set "C-" 'mpc-play-at-point) -;; (keymap-local-set "" 'mpc-toggle-play) -;; (keymap-local-set "s" 'mpc-toggle-shuffle) -;; (keymap-local-set "n" 'next-line) -;; (keymap-local-set "p" 'previous-line) -;; (keymap-local-set "f" 'mpc-next) -;; (keymap-local-set "b" 'mpc-prev))) - -(after! mu4e - (setq sendmail-program (executable-find "msmtp") - send-mail-function #'smtpmail-send-it - message-sendmail-f-is-evil t - message-sendmail-extra-arguments '("--read-envelope-from") - message-send-mail-function #'message-send-mail-with-sendmail)) -(set-email-account! "mikec@mchalupiak.com" - '((mu4e-sent-folder . "/mikec@mchalupiak.com/Sent") - (mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts") - (mu4e-trash-folder . "/mikec@mchalupiak.com/Junk") - (mu4e-refile-folder . "/mikec@mchalupiak.com/INBOX")) - ;;(smtpmail-smtp-user . "foo@bar.com") - ;;(user-mail-address . "foo@bar.com") ;; only needed for mu < 1.4 - ;;(mu4e-compose-signature . "---\nYours truly\nThe Baz")) - t) -(set-email-account! "mikecchalupiak@outlook.com" - '((mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent") - (mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts") - (mu4e-trash-folder . "/mikecchalupiak@outlook.com/Junk") - (mu4e-refile-folder . "/mikecchalupiak@outlook.com/INBOX")) - ;;(smtpmail-smtp-user . "foo@bar.com") - ;;(user-mail-address . "foo@bar.com") ;; only needed for mu < 1.4 - ;;(mu4e-compose-signature . "---\nYours truly\nThe Baz")) - t) - -(set-email-account! "chalupmc@rose-hulman.edu" - '((mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent") - (mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts") - (mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Junk") - (mu4e-refile-folder . "/chalupmc@rose-hulman.edu/INBOX")) - ;;(smtpmail-smtp-user . "foo@bar.com") - ;;(user-mail-address . "foo@bar.com") ;; only needed for mu < 1.4 - ;;(mu4e-compose-signature . "---\nYours truly\nThe Baz")) - t) -;;(setq +notmuch-sync-backend 'mbsync) - -(defun open-mpc () (interactive) - (setq mpc-host (read-string "IP Address:")) - (call-interactively 'mpc)) - -;; (set-frame-parameter nil 'alpha-background 80) ; For current frame -;; (add-to-list 'default-frame-alist '(alpha-background . 80)) ; For all new frames henceforth -(setq inhibit-x-resources t) - -(require 'dime) -(dime-setup '(dime-repl dime-note-tree)) -(setq dime-dylan-implementations - '((opendylan ("/home/mikec/Documents/suckless/dylan/opendylan-2024.1/bin/dswank") - :env ("OPEN_DYLAN_USER_REGISTRIES=/tmp/dime-test/registry")))) -(add-to-list 'default-frame-alist '(undecorated . t)) diff --git a/config/.doom.d/custom.el b/config/.doom.d/custom.el deleted file mode 100644 index 03b01ec..0000000 --- a/config/.doom.d/custom.el +++ /dev/null @@ -1,28 +0,0 @@ -;;; custom.el --- -*- lexical-binding: t; -*- - -;; Copyright (C) 2023 Michael Chalupiak - -;; Author: Michael Chalupiak -;; Keywords: -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(custom-safe-themes - '("56044c5a9cc45b6ec45c0eb28df100d3f0a576f18eef33ff8ff5d32bac2d9700" - "48042425e84cd92184837e01d0b4fe9f912d875c43021c3bcb7eeb51f1be5710" - "09e98c608045c7778c67d5671161cfbb741cc25350abe61e3eb2ce798bb88209" - "691d671429fa6c6d73098fc6ff05d4a14a323ea0a18787daeb93fde0e48ab18b" - "e3daa8f18440301f3e54f2093fe15f4fe951986a8628e98dcd781efbec7a46f2" - "8c7e832be864674c220f9a9361c851917a93f921fedb7717b1b5ece47690c098" - "e4a702e262c3e3501dfe25091621fe12cd63c7845221687e36a79e17cf3a67e0" - "f5f80dd6588e59cfc3ce2f11568ff8296717a938edd448a947f9823a4e282b66" default)) - '(magit-todos-insert-after '(bottom) nil nil "Changed by setter of obsolete option `magit-todos-insert-at'") - '(package-selected-packages '(lsp-ui vlf))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(ts-fold-replacement-face ((t (:foreground unspecified :box nil :inherit font-lock-comment-face :weight light))))) diff --git a/config/.doom.d/init.el b/config/.doom.d/init.el deleted file mode 100644 index 2837a70..0000000 --- a/config/.doom.d/init.el +++ /dev/null @@ -1,195 +0,0 @@ -;;; init.el -*- lexical-binding: t; -*- - -;; This file controls what Doom modules are enabled and what order they load -;; in. Remember to run 'doom sync' after modifying it! - -;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's -;; documentation. There you'll find a link to Doom's Module Index where all -;; of our modules are listed, including what flags they support. - -;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or -;; 'C-c c k' for non-vim users) to view its documentation. This works on -;; flags as well (those symbols that start with a plus). -;; -;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its -;; directory (for easy access to its source code). - -(doom! :input - ;;bidi ; (tfel ot) thgir etirw uoy gnipleh - ;;chinese - ;;japanese - ;;layout ; auie,ctsrnm is the superior home row - - :completion - company ; the ultimate code completion backend - ;;helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... - ;;ivy ; a search engine for love and life - vertico ; the search engine of the future - - :ui - ;;deft ; notational velocity for Emacs - doom ; what makes DOOM look the way it does - doom-dashboard ; a nifty splash screen for Emacs - ;;doom-quit ; DOOM quit-message prompts when you quit Emacs - (emoji +unicode) ; 🙂 - hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW - ;;hydra - indent-guides ; highlighted indent columns - ligatures ; ligatures and symbols to make your code pretty again - ;;minimap ; show a map of the code on the side - modeline ; snazzy, Atom-inspired modeline, plus API - nav-flash ; blink cursor line after big motions - ;;neotree ; a project drawer, like NERDTree for vim - ophints ; highlight the region an operation acts on - (popup +defaults) ; tame sudden yet inevitable temporary windows - ;;tabs ; a tab bar for Emacs - ;;treemacs ; a project drawer, like neotree but cooler - unicode ; extended unicode support for various languages - (vc-gutter +pretty) ; vcs diff in the fringe - vi-tilde-fringe ; fringe tildes to mark beyond EOB - ;;window-select ; visually switch windows - ;;workspaces ; tab emulation, persistence & separate workspaces - zen ; distraction-free coding or writing - - :editor - ;; (evil +everywhere); come to the dark side, we have cookies - file-templates ; auto-snippets for empty files - fold ; (nigh) universal code folding - (format +onsave) ; automated prettiness - ;;god ; run Emacs commands without modifier keys - ;;lispy ; vim for lisp, for people who don't like vim - ;;multiple-cursors ; editing in many places at once - ;;objed ; text object editing for the innocent - parinfer ; turn lisp into python, sort of - ;;rotate-text ; cycle region at point between text candidates - snippets ; my elves. They type so I don't have to - word-wrap ; soft wrapping with language-aware indent - - :emacs - dired ; making dired pretty [functional] - electric ; smarter, keyword-based electric-indent - ;;ibuffer ; interactive buffer management - undo ; persistent, smarter undo for your inevitable mistakes - vc ; version-control and Emacs, sitting in a tree - - :term - eshell ; the elisp shell that works everywhere - ;;shell ; simple shell REPL for Emacs - ;;term ; basic terminal emulator for Emacs - vterm ; the best terminal emulation in Emacs - - :checkers - syntax ; tasing you for every semicolon you forget - ;;(spell +flyspell) ; tasing you for misspelling mispelling - ;;grammar ; tasing grammar mistake every you make - - :tools - ;;ansible - ;;biblio ; Writes a PhD for you (citation needed) - ;;collab ; buffers with friends - ;;debugger ; FIXME stepping through code, to help you add bugs - ;;direnv - ;;docker - ;;editorconfig ; let someone else argue about tabs vs spaces - ein ; tame Jupyter notebooks with emacs - (eval +overlay) ; run code, run (also, repls) - ;;gist ; interacting with github gists - (lookup +dictonary +offline) ; navigate your code and its documentation - lsp ; M-x vscode - magit ; a git porcelain for Emacs - ;;make ; run make tasks from Emacs - ;;pass ; password manager for nerds - pdf ; pdf enhancements - ;;prodigy ; FIXME managing external services & code builders - ;;rgb ; creating color strings - ;;taskrunner ; taskrunner for all your projects - ;;terraform ; infrastructure as code - ;;tmux ; an API for interacting with tmux - tree-sitter ; syntax and parsing, sitting in a tree... - ;;upload ; map local to remote projects via ssh/ftp - - :os - (:if IS-MAC macos) ; improve compatibility with macOS - tty ; improve the terminal Emacs experience - - :lang - ;;agda ; types of types of types of types... - ;;beancount ; mind the GAAP - (cc +lsp +tree-sitter) ; C > C++ == 1 - (clojure +tree-sitter +lsp) ; java with a lisp - common-lisp ; if you've seen one lisp, you've seen them all - ;;coq ; proofs-as-programs - ;;crystal ; ruby at the speed of c - ;;csharp ; unity, .NET, and mono shenanigans - data ; config/data formats - ;;(dart +flutter) ; paint ui and not much else - ;;dhall - (elixir +lsp +tree-sitter) ; erlang done right - ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses - ;;erlang ; an elegant language for a more civilized age - ;;ess ; emacs speaks statistics - ;;factor - ;;faust ; dsp, but you get to keep your soul - ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) - ;;fsharp ; ML stands for Microsoft's Language - ;;fstar ; (dependent) types and (monadic) effects and Z3 - ;;gdscript ; the language you waited for - (go +lsp +tree-sitter) ; the hipster dialect - ;;(graphql +lsp) ; Give queries a REST - (haskell +lsp +tree-sitter) ; a language that's lazier than I am - ;;hy ; readability of scheme w/ speed of python - ;;idris ; a language you can depend on - (json +tree-sitter) ; At least it ain't XML - (java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome - (javascript +lsp +tree-sitter) ; all(hope(abandon(ye(who(enter(here)))))) - (julia +tree-sitter) ; a better, faster MATLAB - ;;kotlin ; a better, slicker Java(Script) - (latex +lsp) ; writing papers in Emacs has never been so fun - ;;lean ; for folks with too much to prove - ;;ledger ; be audit you can be - (lua +tree-sitter) ; one-based indices? one-based indices - markdown ; writing docs for people to ignore - ;;nim ; python + lisp at the speed of c - ;;nix ; I hereby declare "nix geht mehr!" - ;;ocaml ; an objective camel - org ; organize your plain life in plain text - ;;php ; perl's insecure younger brother - ;;plantuml ; diagrams for confusing people more - ;;purescript ; javascript, but functional - (python +lsp +tree-sitter) ; beautiful is better than ugly - ;;qt ; the 'cutest' gui framework ever - (racket +lsp +xp) ; a DSL for DSLs - ;;raku ; the artist formerly known as perl6 - (rest +jq) ; Emacs as a REST client - ;;rst ; ReST in peace - (ruby +lsp +tree-sitter +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - (rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - ;;scala ; java, but good - (scheme +chicken) ; a fully conniving family of lisps - (sh +fish +powershell +lsp +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor - ;;sml - ;;solidity ; do you need a blockchain? No. - ;;swift ; who asked for emoji variables? - ;;terra ; Earth and Moon in alignment for performance. - (web +lsp +tree-sitter) ; the tubes - (yaml +tree-sitter) ; JSON, but readable - (zig +lsp +tree-sitter) ; C, but simpler - - :email - (mu4e +org +mbsync) - ;;(notmuch +org) - ;;(wanderlust +gmail) - - :app - ;;calendar - emms - ;;everywhere ; *leave* Emacs!? You must be joking - ;;irc ; how neckbeards socialize - ;;(rss +org) ; emacs as an RSS reader - ;;twitter ; twitter client https://twitter.com/vnought - - :config - ;;literate - (default +bindings +smartparens)) diff --git a/config/.doom.d/packages.el b/config/.doom.d/packages.el deleted file mode 100644 index 4909130..0000000 --- a/config/.doom.d/packages.el +++ /dev/null @@ -1,57 +0,0 @@ -;; -*- no-byte-compile: t; -*- -;;; $DOOMDIR/packages.el - -;; To install a package with Doom you must declare them here and run 'doom sync' -;; on the command line, then restart Emacs for the changes to take effect -- or -;; use 'M-x doom/reload'. - - -;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: - ;(package! some-package) - -;; To install a package directly from a remote git repo, you must specify a -;; `:recipe'. You'll find documentation on what `:recipe' accepts here: -;; https://github.com/radian-software/straight.el#the-recipe-format - ;(package! another-package - ; :recipe (:host github :repo "username/repo")) - -;; If the package you are trying to install does not contain a PACKAGENAME.el -;; file, or is located in a subdirectory of the repo, you'll need to specify -;; `:files' in the `:recipe': - ;(package! this-package - ; :recipe (:host github :repo "username/repo" - ; :files ("some-file.el" "src/lisp/*.el"))) - -;; If you'd like to disable a package included with Doom, you can do so here -;; with the `:disable' property: - ;(package! builtin-package :disable t) - -;; You can override the recipe of a built in package without having to specify -;; all the properties for `:recipe'. These will inherit the rest of its recipe -;; from Doom or MELPA/ELPA/Emacsmirror: - ;(package! builtin-package :recipe (:nonrecursive t)) - ;(package! builtin-package-2 :recipe (:repo "myfork/package")) - -;; Specify a `:branch' to install a package from a particular branch or tag. -;; This is required for some packages whose default branch isn't 'master' (which -;; our package manager can't deal with; see radian-software/straight.el#279) - ;(package! builtin-package :recipe (:branch "develop")) - -;; Use `:pin' to specify a particular commit to install. - ;(package! builtin-package :pin "1a2b3c4d5e") - - -;; Doom's packages are pinned to a specific commit and updated from release to -;; release. The `unpin!' macro allows you to unpin single packages... - ;(unpin! pinned-package) -;; ...or multiple packages - ;(unpin! pinned-package another-pinned-package) -;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) - ;(unpin! t) -(package! rose-pine-doom-emacs - :recipe (:host github :repo "donniebreve/rose-pine-doom-emacs" - :files ("doom-rose-pine-theme.el" "doom-rose-pine-moon-theme.el" "doom-rose-pine-dawn-theme.el") - :pre-build ("make" "install"))) -(package! dylan) -(package! dime) -(package! vlf) diff --git a/config/.doom.d/themes/doom-rose-pine-dawn-theme.el b/config/.doom.d/themes/doom-rose-pine-dawn-theme.el deleted file mode 100644 index 2a2c3d4..0000000 --- a/config/.doom.d/themes/doom-rose-pine-dawn-theme.el +++ /dev/null @@ -1,237 +0,0 @@ -;;; doom-rose-pine-dawn-theme.el --- A light port of Rose Piné Dawn theme -*- lexical-binding: t; no-byte-compile: t; -*- -;; -;; Author: mvllow -;; Ported by: donniebreve -;; Keywords: custom themes, faces -;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs -;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1")) -;; -;;; Commentary: -;; -;; Thanks to mvllow (https://github.com/rose-pine) -;; Thanks to hlissner (https://github.com/doomemacs/themes) -;; -;;; Code: - -(require 'doom-themes) - -;;; Variables -(defgroup doom-rose-pine-dawn-theme nil - "Options for the `doom-rose-pine-dawn' theme." - :group 'doom-themes) - -(defcustom doom-rose-pine-dawn-brighter-modeline nil - "If non-nil, more vivid colors will be used to style the mode-line." - :group 'doom-rose-pine-dawn-theme - :type 'boolean) - -(defcustom doom-rose-pine-dawn-brighter-comments nil - "If non-nil, comments will be highlighted in more vivid colors." - :group 'doom-rose-pine-dawn-theme - :type 'boolean) - -(defcustom doom-rose-pine-dawn-padded-modeline doom-themes-padded-modeline - "If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding." - :group 'doom-rose-pine-dawn-theme - :type '(choice integer boolean)) - -;;; Theme definition -(def-doom-theme doom-rose-pine-dawn - "A light port of Rosé Pine Dawn theme" - - ;; Main theme colors - ( - ;; name default 256 16 - (base '("#faf4ed" "#faf4ed" "black" )) - (surface '("#fffaf3" "#fffaf3" "brightblack" )) - (overlay '("#f2e9de" "#f2e9de" "brightblack" )) - (muted '("#9893a5" "#9893a5" "brightblack" )) - (subtle '("#797593" "#797593" "brightblack" )) - (text '("#575279" "#575279" "brightblack" )) - (love '("#b4637a" "#b4637a" "red" )) - (gold '("#ea9d34" "#ea9d34" "white" )) - (rose '("#d7827e" "#d7827e" "white" )) - (pine '("#286983" "#286983" "white" )) - (foam '("#56949f" "#56949f" "white" )) - (iris '("#907aa9" "#907aa9" "white" )) - (highlightL '("#f4ede8" "#f4ede8" "grey" )) - (highlightM '("#dfdad9" "#dfdad9" "grey" )) - (highlightH '("#cecacd" "#cecacd" "grey" )) - - ;; Variables required by doom theme - (bg base) - (fg text) - ;; These are off-color variants of bg/fg, used primarily for `solaire-mode', - ;; but can also be useful as a basis for subtle highlights (e.g. for hl-line - ;; or region), especially when paired with the `doom-darken', `doom-lighten', - ;; and `doom-blend' helper functions. - (bg-alt surface) - (fg-alt text) - ;; These should represent a spectrum from bg to fg, where base0 is a starker - ;; bg and base8 is a starker fg. For example, if bg is light grey and fg is - ;; dark grey, base0 should be white and base8 should be black. - (base0 surface) - (base1 base) - (base2 highlightL) - (base3 overlay) - (base4 highlightM) - (base5 highlightH) - (base6 muted) - (base7 subtle) - (base8 text) - (grey muted) - (red love) - (orange gold) - (green pine) - (teal pine) - (yellow rose) - (blue pine) - (dark-blue pine) - (magenta iris) - (violet iris) - (cyan foam) - (dark-cyan foam) - ;; Variables required by doom theme ends here - - ;; Required face categories for syntax highlighting - (highlight subtle) ; cursor - (selection base) ; can't figure out where this is used - (region overlay) ; visual selection - (vertical-bar surface) ; window split - - (comments (if doom-rose-pine-dawn-brighter-comments subtle muted)) - (doc-comments (if doom-rose-pine-dawn-brighter-comments subtle muted)) - - (builtin pine) - (constants iris) - (functions pine) - (keywords pine) - (methods foam) - (numbers rose) - (operators gold) - (strings gold) - (type rose) - (variables iris) - - (error love) - (success foam) - (warning gold) - - (vc-added foam) - (vc-deleted love) - (vc-modified gold) - - ;; Other categories - ;; Modeline - (modeline-bg (if doom-rose-pine-dawn-brighter-modeline overlay surface)) - (modeline-fg text) - (modeline-bg-alt (if doom-rose-pine-dawn-brighter-modeline muted overlay)) - (modeline-fg-alt text) ; should this be darker or lighter? - (modeline-bg-inactive base) - (modeline-fg-inactive subtle) - (modeline-bg-inactive-alt base) - (modeline-fg-inactive-alt subtle) - (modeline-pad - (when doom-rose-pine-dawn-padded-modeline - if (integerp doom-rose-pine-dawn-padded-modeline) doom-rose-pine-padded-modeline 4))) - - ;; Base theme face overrides - ( - ;; Font - ((font-lock-comment-face &override) - :slant 'italic - :background (if doom-rose-pine-dawn-brighter-comments (doom-blend teal base 0.07))) - ((font-lock-type-face &override) :slant 'italic) - ((font-lock-builtin-face &override) :slant 'italic) - ((font-lock-function-name-face &override) :foreground type) - ((font-lock-keyword-face &override) :weight 'bold) - ((font-lock-constant-face &override) :weight 'bold) - - ;; Highlight line - (hl-line - :background highlightL) - - ;; Line numbers - ((line-number &override) :foreground muted) - ((line-number-current-line &override) :foreground text) - - ;; Mode line - (mode-line - :background modeline-bg - :foreground modeline-fg - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg))) - (mode-line-inactive - :background modeline-bg-inactive - :foreground modeline-fg-inactive - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive))) - (mode-line-emphasis - :foreground (if doom-rose-pine-dawn-brighter-modeline text subtle)) - - ;; Company - (company-tooltip-selection :background blue :foreground muted) - - ;; CSS mode / 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 - (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 diff --git a/config/.doom.d/themes/doom-rose-pine-moon-theme.el b/config/.doom.d/themes/doom-rose-pine-moon-theme.el deleted file mode 100644 index 2fb50e4..0000000 --- a/config/.doom.d/themes/doom-rose-pine-moon-theme.el +++ /dev/null @@ -1,244 +0,0 @@ -;;; doom-rose-pine-moon-theme.el --- A medium port of Rosé Pine Moon theme -*- lexical-binding: t; no-byte-compile: t; -*- -;; -;; Author: mvllow -;; Ported by: donniebreve -;; Keywords: custom themes, faces -;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs -;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1")) -;; -;;; Commentary: -;; -;; Thanks to mvllow (https://github.com/rose-pine) -;; Thanks to hlissner (https://github.com/doomemacs/themes) -;; -;;; Code: - -(require 'doom-themes) - -;;; Variables -(defgroup doom-rose-pine-moon-theme nil - "Options for the `doom-rose-pine-moon' theme." - :group 'doom-themes) - -(defcustom doom-rose-pine-moon-brighter-modeline nil - "If non-nil, more vivid colors will be used to style the mode-line." - :group 'doom-rose-pine-moon-theme - :type 'boolean) - -(defcustom doom-rose-pine-moon-brighter-comments nil - "If non-nil, comments will be highlighted in more vivid colors." - :group 'doom-rose-pine-moon-theme - :type 'boolean) - -(defcustom doom-rose-pine-moon-brighter-text nil - "If non-nil, default text will be brighter." - :group 'doom-rose-pine-moon-theme - :type 'boolean) - -(defcustom doom-rose-pine-moon-padded-modeline doom-themes-padded-modeline - "If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding." - :group 'doom-rose-pine-moon-theme - :type '(choice integer boolean)) - -;;; Theme definition -(def-doom-theme doom-rose-pine-moon - "A medium port of Rosé Pine Moon theme" - - ;; Main theme colors - ( - ;; name default 256 16 - (base '("#232136" "#232136" "black" )) - (surface '("#2a273f" "#2a273f" "brightblack" )) - (overlay '("#393552" "#393552" "brightblack" )) - (muted '("#6e6a86" "#6e6a86" "brightblack" )) - (subtle '("#908caa" "#908caa" "brightblack" )) - (text '("#e0def4" "#e0def4" "brightblack" )) - (love '("#eb6f92" "#eb6f92" "red" )) - (gold '("#f6c177" "#f6c177" "white" )) - (rose '("#ea9a97" "#ea9a97" "white" )) - (pine '("#3e8fb0" "#3e8fb0" "white" )) - (foam '("#9ccfd8" "#9ccfd8" "white" )) - (iris '("#c4a7e7" "#c4a7e7" "white" )) - (highlightL '("#2a283e" "#2a283e" "white" )) - (highlightM '("#44415a" "#44415a" "white" )) - (highlightH '("#56526e" "#56526e" "white" )) - - ;; Variables required by doom theme - ;; These are required by doom theme and used in various places - (bg base) - (fg text) - ;; These are off-color variants of bg/fg, used primarily for `solaire-mode', - ;; but can also be useful as a basis for subtle highlights (e.g. for hl-line - ;; or region), especially when paired with the `doom-darken', `doom-lighten', - ;; and `doom-blend' helper functions. - (bg-alt surface) - (fg-alt text) - ;; These should represent a spectrum from bg to fg, where base0 is a starker - ;; bg and base8 is a starker fg. For example, if bg is light grey and fg is - ;; dark grey, base0 should be white and base8 should be black. - (base0 base) - (base1 surface) - (base2 highlightL) - (base3 overlay) - (base4 highlightM) - (base5 highlightH) - (base6 muted) - (base7 subtle) - (base8 text) - (grey muted) - (red love) - (orange gold) - (green pine) - (teal foam) - (yellow rose) - (pink rose) - (blue pine) - (dark-blue pine) - (magenta iris) - (violet iris) - (cyan foam) - (dark-cyan pine) - ;; Variables required by doom theme ends here - - ;; Required face categories for syntax highlighting - (highlight subtle) ; cursor - (selection base) ; can't figure out where this is used - (region overlay) ; visual selection - (vertical-bar surface) ; window split - - (comments (if doom-rose-pine-moon-brighter-comments subtle muted)) - (doc-comments (if doom-rose-pine-moon-brighter-comments subtle muted)) - - (builtin pine) - (constants iris) - (functions pine) - (keywords pine) - (methods foam) - (numbers rose) - (operators gold) - (strings gold) - (type rose) - (variables iris) - - (error love) - (success foam) - (warning gold) - - (vc-added foam) - (vc-deleted love) - (vc-modified gold) - - ;; Other categories - ;; Modeline - (modeline-bg (if doom-rose-pine-moon-brighter-modeline overlay surface)) - (modeline-fg text) - (modeline-bg-alt (if doom-rose-pine-moon-brighter-modeline muted overlay)) - (modeline-fg-alt text) ; should this be darker or lighter? - (modeline-bg-inactive base) - (modeline-fg-inactive subtle) - (modeline-bg-inactive-alt base) - (modeline-fg-inactive-alt subtle) - (modeline-pad - (when doom-rose-pine-moon-padded-modeline - if (integerp doom-rose-pine-moon-padded-modeline) doom-rose-pine-padded-modeline 4))) - - ;; Base theme face overrides - ( - ;; Font - ((font-lock-comment-face &override) - :slant 'italic - :background (if doom-rose-pine-moon-brighter-comments (doom-blend teal base 0.07))) - ((font-lock-type-face &override) :slant 'italic) - ((font-lock-builtin-face &override) :slant 'italic) - ((font-lock-function-name-face &override) :foreground type) - ((font-lock-keyword-face &override) :weight 'bold) - ((font-lock-constant-face &override) :weight 'bold) - - ;; Highlight line - (hl-line - :background surface) - - ;; Line numbers - ((line-number &override) :foreground muted) - ((line-number-current-line &override) :foreground text) - - ;; Mode line - (mode-line - :background modeline-bg - :foreground modeline-fg - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg))) - (mode-line-inactive - :background modeline-bg-inactive - :foreground modeline-fg-inactive - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive))) - (mode-line-emphasis - :foreground (if doom-rose-pine-moon-brighter-modeline text subtle)) - - ;; Company - (company-tooltip-selection :background blue :foreground muted) - - ;; CSS mode / 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 - (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 diff --git a/config/.doom.d/themes/doom-rose-pine-theme.el b/config/.doom.d/themes/doom-rose-pine-theme.el deleted file mode 100644 index c37cfc2..0000000 --- a/config/.doom.d/themes/doom-rose-pine-theme.el +++ /dev/null @@ -1,242 +0,0 @@ -;;; doom-rose-pine-theme.el --- A dark port of Rosé Pine theme -*- lexical-binding: t; no-byte-compile: t; -*- -;; -;; Author: mvllow -;; Ported by: donniebreve -;; Keywords: custom themes, faces -;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs -;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1")) -;; -;;; Commentary: -;; -;; Thanks to mvllow (https://github.com/rose-pine) -;; Thanks to hlissner (https://github.com/doomemacs/themes) -;; -;;; Code: - -(require 'doom-themes) - -;;; Variables -(defgroup doom-rose-pine-theme nil - "Options for the `doom-rose-pine' theme." - :group 'doom-themes) - -(defcustom doom-rose-pine-brighter-modeline nil - "If non-nil, more vivid colors will be used to style the mode-line." - :group 'doom-rose-pine-theme - :type 'boolean) - -(defcustom doom-rose-pine-brighter-comments nil - "If non-nil, comments will be highlighted in more vivid colors." - :group 'doom-rose-pine-theme - :type 'boolean) - -(defcustom doom-rose-pine-brighter-text nil - "If non-nil, default text will be brighter." - :group 'doom-rose-pine-theme - :type 'boolean) - -(defcustom doom-rose-pine-padded-modeline doom-themes-padded-modeline - "If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding." - :group 'doom-rose-pine-theme - :type '(choice integer boolean)) - -;;; Theme definition -(def-doom-theme doom-rose-pine - "A dark port of Rosé Pine theme" - - ;; Main theme colors - ( - ;; name default 256 16 - (base '("#191724" "#191724" "black" )) - (surface '("#1f1d2e" "#1f1d2e" "brightblack" )) - (overlay '("#26233a" "#26233a" "brightblack" )) - (muted '("#6e6a86" "#6e6a86" "brightblack" )) - (subtle '("#908caa" "#908caa" "brightblack" )) - (text '("#e0def4" "#e0def4" "brightblack" )) - (love '("#eb6f92" "#eb6f92" "red" )) - (gold '("#f6c177" "#f6c177" "white" )) - (rose '("#ebbcba" "#ebbcba" "white" )) - (pine '("#31748f" "#31748f" "white" )) - (foam '("#9ccfd8" "#9ccfd8" "white" )) - (iris '("#c4a7e7" "#c4a7e7" "white" )) - (highlightL '("#21202e" "#21202e" "grey" )) - (highlightM '("#403d52" "#403d52" "grey" )) - (highlightH '("#524f67" "#524f67" "grey" )) - - ;; Variables required by doom theme - ;; These are required by doom theme and used in various places - (bg base) - (fg text) - ;; These are off-color variants of bg/fg, used primarily for `solaire-mode', - ;; but can also be useful as a basis for subtle highlights (e.g. for hl-line - ;; or region), especially when paired with the `doom-darken', `doom-lighten', - ;; and `doom-blend' helper functions. - (bg-alt surface) - (fg-alt text) - ;; These should represent a spectrum from bg to fg, where base0 is a starker - ;; bg and base8 is a starker fg. For example, if bg is light grey and fg is - ;; dark grey, base0 should be white and base8 should be black. - (base0 base) - (base1 surface) - (base2 highlightL) - (base3 overlay) - (base4 highlightM) - (base5 highlightH) - (base6 muted) - (base7 subtle) - (base8 text) - (grey muted) - (red love) - (orange gold) - (green pine) - (teal pine) - (yellow rose) - (blue pine) - (dark-blue pine) - (magenta iris) - (violet iris) - (cyan foam) - (dark-cyan foam) - ;; Variables required by doom theme ends here - - ;; Required face categories for syntax highlighting - (highlight subtle) ; cursor - (selection base) ; can't figure out where this is used - (region overlay) ; visual selection - (vertical-bar surface) ; window split - - (comments (if doom-rose-pine-brighter-comments subtle muted)) - (doc-comments (if doom-rose-pine-brighter-comments subtle muted)) - - (builtin pine) - (constants iris) - (functions pine) - (keywords pine) - (methods foam) - (numbers rose) - (operators gold) - (strings gold) - (type rose) - (variables iris) - - (error love) - (success foam) - (warning gold) - - (vc-added foam) - (vc-deleted love) - (vc-modified gold) - - ;; Other categories - ;; Modeline - (modeline-bg (if doom-rose-pine-brighter-modeline overlay surface)) - (modeline-fg text) - (modeline-bg-alt (if doom-rose-pine-brighter-modeline muted overlay)) - (modeline-fg-alt text) ; should this be darker or lighter? - (modeline-bg-inactive base) - (modeline-fg-inactive subtle) - (modeline-bg-inactive-alt base) - (modeline-fg-inactive-alt subtle) - (modeline-pad - (when doom-rose-pine-padded-modeline - if (integerp doom-rose-pine-padded-modeline) doom-rose-pine-padded-modeline 4))) - - ;; Base theme face overrides - ( - ;; Font - ((font-lock-comment-face &override) - :slant 'italic - :background (if doom-rose-pine-brighter-comments (doom-blend teal base 0.07))) - ((font-lock-type-face &override) :slant 'italic) - ((font-lock-builtin-face &override) :slant 'italic) - ((font-lock-function-name-face &override) :foreground type) - ((font-lock-keyword-face &override) :weight 'bold) - ((font-lock-constant-face &override) :weight 'bold) - - ;; Highlight line - (hl-line - :background surface) - - ;; Line numbers - ((line-number &override) :foreground muted) - ((line-number-current-line &override) :foreground text) - - ;; Mode line - (mode-line - :background modeline-bg - :foreground modeline-fg - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg))) - (mode-line-inactive - :background modeline-bg-inactive - :foreground modeline-fg-inactive - :box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive))) - (mode-line-emphasis - :foreground (if doom-rose-pine-brighter-modeline text subtle)) - - ;; Company - (company-tooltip-selection :background blue :foreground muted) - - ;; CSS mode / 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 - (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 diff --git a/config/.emacs.d/config/emacs.el b/config/.emacs.d/config/emacs.el index 86a0341..754ed33 100644 --- a/config/.emacs.d/config/emacs.el +++ b/config/.emacs.d/config/emacs.el @@ -51,8 +51,14 @@ (save-place-mode 1) (global-auto-revert-mode 1) (context-menu-mode 1) -(electric-pair-mode 1) -(electric-indent-mode 1) +(define-globalized-minor-mode global-electric-pair-mode electric-pair-mode + (lambda () (if (memq 'major-mode + '(emacs-lisp-mode common-lisp-mode lisp-mode scheme-mode)) + (electric-pair-mode 1)))) +(define-globalized-minor-mode global-electric-indent-mode electric-indent-mode + (lambda () (electric-indent-mode 1))) +(global-electric-pair-mode) +(global-electric-indent-mode) ;; (enable-recursive-minibuffers t) ;; (read-extended-command-predicate #'command-completion-default-include-p) diff --git a/config/.emacs.d/early-init.el b/config/.emacs.d/early-init.el index 6822503..25808a6 100644 --- a/config/.emacs.d/early-init.el +++ b/config/.emacs.d/early-init.el @@ -37,6 +37,6 @@ (time-subtract after-init-time before-init-time))) gcs-done)) -(add-hook 'emacs-startup-hook #'efs/display-startup-time) +;; (add-hook 'emacs-startup-hook #'efs/display-startup-time) (provide 'early-init) ;;; early-init.el ends here diff --git a/config/.emacs.d/plugins/apps.el b/config/.emacs.d/plugins/apps.el index f01bcd0..0d27802 100644 --- a/config/.emacs.d/plugins/apps.el +++ b/config/.emacs.d/plugins/apps.el @@ -153,7 +153,14 @@ (use-package org :ensure t - :defer t) + :defer t + :config + ;; active Babel languages + (require 'org-tempo) + (org-babel-do-load-languages + 'org-babel-load-languages + '((emacs-lisp . t)))) + (use-package org-msg :ensure t @@ -370,8 +377,6 @@ ("https://notrelated.xyz/rss") ("https://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-and-content.xml") ;("https://sizeof.cat/index.xml") - ("https://www.youtube.com/feeds/videos.xml?channel_id=UCkKmeTinUEU27syZPKrzWQQ") - ("https://www.youtube.com/feeds/videos.xml?playlist_id=PLq1vmb-z7PpQt2PDNUr7XOzBjWAOWf0Rt") ("https://danielde.dev/rss.xml") ("https://pkolaczk.github.io/feed.xml") ("https://joeyh.name/blog/index.rss") diff --git a/config/.emacs.d/plugins/lang.el b/config/.emacs.d/plugins/lang.el index 4db17ce..fb4813c 100644 --- a/config/.emacs.d/plugins/lang.el +++ b/config/.emacs.d/plugins/lang.el @@ -92,6 +92,8 @@ (defvar treesit-language-source-alist '()) (add-to-list 'treesit-language-source-alist '(odin "https://github.com/tree-sitter-grammars/tree-sitter-odin")) (add-to-list 'treesit-language-source-alist '(zig "https://github.com/tree-sitter-grammars/tree-sitter-zig")) +(add-to-list 'treesit-language-source-alist '(go "https://github.com/tree-sitter/tree-sitter-go")) +(add-to-list 'treesit-language-source-alist '(gomod "https://github.com/camdencheek/tree-sitter-go-mod")) (provide 'lang) ;;; lang.el ends here diff --git a/config/.emacs.d/plugins/straight.el b/config/.emacs.d/plugins/straight.el index 37368da..f7914af 100644 --- a/config/.emacs.d/plugins/straight.el +++ b/config/.emacs.d/plugins/straight.el @@ -39,4 +39,5 @@ (load bootstrap-file nil 'nomessage)) (provide 'straight) + ;;; straight.el ends here diff --git a/config/.emacs.d/plugins/utils.el b/config/.emacs.d/plugins/utils.el index a047cfe..efb8441 100644 --- a/config/.emacs.d/plugins/utils.el +++ b/config/.emacs.d/plugins/utils.el @@ -24,6 +24,22 @@ :defer t :bind-keymap ("M-'" . surround-keymap)) +(use-package expand-region + :ensure t + :bind (("C-= =" . er/expand-region) + ("C-= w" . er/mark-word) + ("C-= s" . er/mark-symbol) + ("C-= S" . er/mark-symbol-with-prefix) + ("C-= f" . er/mark-defun) + ("C-= c" . er/mark-comment) + ("C-= m" . er/mark-method-call) + ("C-= a" . er/mark-next-accessor) + ("C-= p" . er/mark-inside-pairs) + ("C-= P" . er/mark-outside-pairs) + ("C-= '" . er/mark-inside-quotes) + ("C-= \"" . er/mark-outside-quotes))) + + (use-package dirvish :ensure t :defer t @@ -55,17 +71,6 @@ (setq undo-fu-session-incompatible-files '("/COMMIT_EDITMSG\\'" "/git-rebase-todo\\'")) (undo-fu-session-global-mode)) -(use-package blamer - :ensure t -; :bind (("s-i" . blamer-show-commit-info) -; ("C-c i" . blamer-show-posframe-commit-info)) - :defer 10 - :custom - (blamer-idle-time 0.2) - (blamer-min-offset 70) - :config - (global-blamer-mode 1)) - (use-package git-gutter :defer 10 :hook (prog-mode . git-gutter-mode) From 3aa286c2bfb8f8ec3bcba9b5e42b52737a3426be Mon Sep 17 00:00:00 2001 From: Michael Chalupiak Date: Sat, 25 Jul 2026 13:38:59 -0600 Subject: [PATCH 2/3] Updated kakoune and emacs --- config/.config/kak/kakrc | 412 +++++++++++++---------------- config/.config/nvim/lazy-lock.json | 44 +-- config/.emacs.d/config/keymap.el | 1 + config/.emacs.d/plugins/utils.el | 24 ++ 4 files changed, 224 insertions(+), 257 deletions(-) diff --git a/config/.config/kak/kakrc b/config/.config/kak/kakrc index 09bb6e7..bd072b8 100644 --- a/config/.config/kak/kakrc +++ b/config/.config/kak/kakrc @@ -16,111 +16,125 @@ plug "andreyorst/smarttab.kak" defer smarttab %{ plug "occivink/kakoune-sudo-write" plug "kak-lsp/kak-lsp" do %{ - cargo install --locked --force --path . -} - -plug "gustavo-hms/luar" %{ - plug "gustavo-hms/peneira" %{ - require-module peneira - } + cargo install --locked --force --path . } plug "h-youhei/kakoune-surround" -plug "your-tools/kak-subvert" do %{ - cargo install --locked --force --path . +plug "eburghar/kakpipe" do %{ + cargo install --force --path . --root ~/.local +} config %{ + require-module kakpipe } -plug "https://git.sr.ht/~nasmevka/repl.kak" - -plug "https://gitlab.com/kstr0k/mru-files.kak" demand mru-files %{ # %{} needed even if empty - # suggested mappings: *after* plugin loads - # think "go alt[ernate]-f[iles]" - # map global goto ': mru-files ' -docstring 'mru-files' - # map global goto ': mru-files-related' -docstring 'mru-files-related' +plug "gustavo-hms/luar" %{ + require-module luar +} +plug "gustavo-hms/peneira" %{ + require-module peneira } -plug "custom-filetypes" load-path "~/.config/kak/al" +plug "caksoylar/kakoune-focus" config %{ + # configuration here +} + +plug "jtrv/grep-write.kak" # # Color Themes plug "tinted-theming/base16-kakoune" theme plug "https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes" theme ### End Of Plugins ### -set-option global luar_interpreter luajit - ## Treesitter ## eval %sh{ kak-tree-sitter -dksvvv --with-highlighting --with-text-objects --init $kak_session } -#eval %sh{ kak-tree-sitter -dks --with-text-objects --session $kak_session } -#eval %sh{ kak-tree-sitter -dks --with-highlighting --session $kak_session } -#eval %sh{ kak-tree-sitter -dksvvv --init $kak_session } -# -# evaluate-commands %sh{ -# echo "colorscheme base16-$BASE16_THEME" -# } - -## Popup ## -evaluate-commands %sh{kak-popup init} ## Highlighting ## hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor} add-highlighter global/ show-matching -add-highlighter global/ column 80 MenuBackground add-highlighter global/ show-whitespaces -spc " " -nbsp "" -#add-highlighter global/ show-whitespaces -nbsp "" -lf "" -indent "|" ## 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 -# } -# } +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 ## Indentation ## set global tabstop 4 set global indentwidth 4 hook global WinSetOption filetype=.* expandtab -hook global WinSetOption filetype=(makefile|gas) noexpandtab -hook global BufCreate .* %{ - editorconfig-load - autoconfigtab -} +hook global WinSetOption filetype=(makefile|gas|go) noexpandtab +# hook global BufCreate .* %{ +# editorconfig-load +# autoconfigtab +# } define-command set-spell -docstring 'Enable spellcheck' %{ # hook -group spellcheck global BufOpenFile .* %{ @@ -145,6 +159,7 @@ define-command set-nospell -docstring 'Disable spellcheck' %{ define-command sleuth -docstring 'Heuristically set buffer options' %{ try %{ evaluate-commands -draft %{ + info 'trying' # Search the first indent level execute-keys 'gg' '/' '^\h+' '' @@ -191,6 +206,8 @@ define-command sleuth-disable -docstring 'Disable sleuth' %{ remove-hooks global sleuth } +sleuth-enable + ## LSP ## lsp-enable lsp-inlay-diagnostics-enable global @@ -244,154 +261,79 @@ hook -group lsp-filetype-typst global BufSetOption filetype=typst %{ # previewFeature = "disable" } } + set-option global lsp_config %{ } +declare-option str findcmd 'fd' + +define-command -docstring 'Find file' fd -params 1 %{ + edit %arg{1} +} + +complete-command fd shell-script-candidates %opt{findcmd} + +declare-option -hidden str-list last_command + +define-command -hidden run_cmd -params .. %{ + kakpipe -n %arg{1} %arg{@} +} + +define-command -hidden run_cmd_bg -params .. %{ + kakpipe-bg -n %arg{1} %arg{@} +} + +define-command -docstring 'run command in fifo' cmd -params .. %{ + run_cmd %arg{@} + set-option global last_command %arg{@} + set-option buffer filetype cmd +} + +define-command -docstring 'run command in fifo (background buffer)' cmd-bg -params .. %{ + run_cmd_bg %arg{@} + set-option global last_command %arg{@} + set-option buffer filetype cmd +} + +define-command -docstring 'rerun last command' rcmd %{ + cmd %opt{last_command} +} + +define-command -docstring 'rerun last command in background' rcmd-bg %{ + cmd-bg %opt{last_command} +} + +define-command -hidden cmd-jump %{ + evaluate-commands -save-regs a %{ + try %{ + execute-keys 'ght"ay' + evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a} + try %{ focus %opt{jumpclient} } + } catch %{ + jump + } + } +} + +hook -group cmd-highlight global WinSetOption filetype=cmd %{ + add-highlighter window/cmd group + add-highlighter window/cmd/location regex "^([^:\n]+):(\d+):(\d+)?" 1:cyan 2:green 3:green + add-highlighter window/cmd/path regex "^([^:\n]+[^/])$" 1:cyan + add-highlighter window/cmd/ line %{%opt{jump_current_line}} default+b + hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/cmd } +} + +hook global WinSetOption filetype=cmd %{ + hook buffer -group cmd-hooks NormalKey cmd-jump + hook -once -always window WinSetOption filetype=.* %{ remove-hooks buffer cmd-hooks } +} + define-command fzf-buffer -docstring 'Invoke fzf to select a buffer' %{ evaluate-commands %sh{ tmux split-window -l 20% "(printf \"%s\n\" $kak_quoted_buflist | fzf --bind 'focus:execute-silent(echo \"eval -client $kak_client %{ e {} }\" | kak -p $kak_session)' || echo \"$kak_buffile\") | xargs -I{} echo \"eval -client $kak_client %{ e '{}' }\" | /usr/bin/kak -p $kak_session" } } -define-command -docstring 'Invoke fzf to select a buffer' prev-fzf-buff %{ - evaluate-commands %sh{ - BUFFER=$( - ( - eval "set -- $kak_buflist" - while [ $# -gt 0 ]; do - printf "%s\0" "$1" - shift - done - ) | - fzf-tmux --cycle -p 80%,90% --read0 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null' - ) - if [ -n "$BUFFER" ]; then - printf "buffer %s" "${BUFFER}" - fi - } -} - -define-command -docstring 'live grep' live-grep %{ - evaluate-commands %sh{ - - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rfv.sh)" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'exact grep' exact-grep %{ - evaluate-commands %sh{ - - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rfve.sh)" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'search contents of current file' file-search %{ - evaluate-commands -save-regs '"' %{ - set-register dquote %sh{ mktemp } - execute-keys -draft '% cat > $kak_reg_dquote' - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rfs.sh ${kak_reg_dquote} ${kak_buffile})" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - rm $kak_reg_dquote - fi - } - } -} - -define-command -docstring 'search contents of current file with regex' regex-file-search %{ - evaluate-commands -save-regs '"' %{ - set-register dquote %sh{ mktemp } - execute-keys -draft '% cat > $kak_reg_dquote' - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rgrs.sh ${kak_reg_dquote} ${kak_buffile})" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - rm $kak_reg_dquote - fi - } - } -} - -define-command -docstring 'Invoke fzf to open a file' -params 0 fzf-edit %{ - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(fd -t f . |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'Invoke fzf to open a file local to the current file' -params 0 fzf-edit-local %{ - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - dir="$(get_local_path ${kak_buffile})" - if [ -n "$dir" ]; then - file="$(fd -u -t f . $dir |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')" - fi - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'Pick project' -params 0 switch-project %{ - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - proj="$(cat ~/.scripts/projects | TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% | cut -d' ' -f1)" - if [ -n "$proj" ]; then - printf "cd %s\n" "$proj" - printf 'fzf-edit\n' - fi - fi - } -} - -define-command -docstring 'Project wide search' project-search %{ - evaluate-commands %sh{ - - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rgfs.sh)" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - define-command -docstring 'Print Working Directory' -params 0 pwd %{ evaluate-commands echo %sh{ echo "$(pwd)"} } @@ -423,8 +365,8 @@ map -docstring 'enter config mode' global user e ':enter-user-mode config' map -docstring 'edit kakoune config' global config k ':e ~/.config/kak/kakrc' map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf' map -docstring 'edit bash config' global config b ':e ~/.bashrc' -map -docstring 'edit scripts folder' global config s ':cd ~/.scripts:fzf-edit' -map -docstring 'edit .config folder' global config c ':cd ~/.config:fzf-edit' +map -docstring 'edit scripts folder' global config s ':cd ~/.scripts:peneira-files' +map -docstring 'edit .config folder' global config c ':cd ~/.config:peneira-files' declare-user-mode buffer map -docstring 'enter buffer mode' global user b ':enter-user-mode buffer' @@ -436,20 +378,15 @@ map -docstring 'list and select a buffer' global buffer b ':fzf-buffer' declare-user-mode find map -docstring 'enter find mode' global user f ':enter-user-mode find' -map -docstring 'find files' global find f ':fzf-edit' -map -docstring 'find tags for the current project' global find t ':ctags-search ' -map -docstring 'find line in current file' global find l ':file-search' -map -docstring 'find line in current file with regex' global find L ':regex-file-search' -map -docstring 'find files in current directory' global find F ':fzf-edit-local' -map -docstring "grep file contents recursively" global find g ':live-grep' -map -docstring "grep exact file contents recursively" global find e ':exact-grep' -map -docstring 'project wide search' global find p ':project-search' +map -docstring 'find files' global find f ':peneira-files' +map -docstring 'find tags for the current project' global find t ':peneira-symbols' +map -docstring 'find files in current directory' global find F ':peneira-local-files' map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp' map -docstring 'goto definition (tag)' global lsp t 'w:ctags-search' map -docstring 'enter treesitter mode' global user t ':enter-user-mode tree-sitter' -map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search' +# map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search' declare-user-mode tmux map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux' @@ -461,23 +398,28 @@ map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical ba map -docstring 'new terminal tab' global tmux T ':tmux-repl-window' map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit' -declare-user-mode project -map -docstring 'enter project mode' global user p ':enter-user-mode project' -map -docstring 'open project' global project o ':switch-project' - map -docstring 'enter man mode' global user m ':enter-user-mode man' -declare-user-mode general -map -docstring 'enter general keybinds mode' global user g ':enter-user-mode general' #map -docstring 'clipboard yank' global user y 'clip.exe' -map -docstring 'clipboard yank' global general y ':xcopy' +map -docstring 'clipboard yank' global user y ':xcopy' #map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"' -map -docstring 'clipboard paste' global general p ':xpaste' -map -docstring 'quit kakoune' global general q ':q' -map -docstring 'toggle comments' global general c ':comment-line' +map -docstring 'clipboard paste' global user p ':xpaste' +map -docstring 'toggle comments' global user c ':comment-line' + +declare-user-mode subvert +map global user s ':enter-user-mode subvert' -docstring 'enter subvert user mode' +map global subvert a '| kak-subvert ada ' -docstring 'convert to Ada case' +map global subvert c '| kak-subvert camel ' -docstring 'convert to camel case' +map global subvert k '| kak-subvert kebab ' -docstring 'convert to kebab case' +map global subvert p '| kak-subvert pascal ' -docstring 'convert to pascal case' +map global subvert . '| kak-subvert sentence ' -docstring 'convert to sentence case' +map global subvert s '| kak-subvert snake ' -docstring 'convert to snake case' +map global subvert S '| kak-subvert screaming ' -docstring 'convert to screaming case' +map global subvert t '| kak-subvert train ' -docstring 'convert to train case' +map global subvert T '| kak-subvert title ' -docstring 'convert to title case' declare-user-mode spell -map -docstring 'enter spell mode' global general s ':enter-user-mode spell' +map -docstring 'enter spell mode' global user S ':enter-user-mode spell' map -docstring 'enable spell check' global spell s ':spell' map -docstring 'clear spell check' global spell c ':spell-clear' map -docstring 'next spell check' global spell n ':spell-next' diff --git a/config/.config/nvim/lazy-lock.json b/config/.config/nvim/lazy-lock.json index d3769b2..f78bd20 100644 --- a/config/.config/nvim/lazy-lock.json +++ b/config/.config/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "auto-dark-mode.nvim": { "branch": "master", "commit": "e300259ec777a40b4b9e3c8e6ade203e78d15881" }, - "blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" }, - "catppuccin": { "branch": "main", "commit": "a7788416689dbefea659d9e9415c87926b0ba5d8" }, + "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, + "catppuccin": { "branch": "main", "commit": "058e83dc009e4dd62f30807054de9cc849699e27" }, "cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" }, "command.nvim": { "branch": "main", "commit": "cf73df4f9afc123b1fc3a8674d3fae08d2ad67db" }, "compiler-explorer.nvim": { "branch": "master", "commit": "523c6a7a3d8c034b421a71eb20b0da75b0b16f62" }, @@ -15,17 +15,17 @@ "firenvim": { "branch": "master", "commit": "a18ef908ac06b52ad9333b70e3e630b0a56ecb3d" }, "github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" }, "github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" }, - "gitsigns.nvim": { "branch": "main", "commit": "caa98e2e5e4c23a1652c23be839d2e1722cecc29" }, - "gruvbox-material": { "branch": "master", "commit": "790afe9dd085aa04eccd1da3626c5fa05c620e53" }, - "gruvbox.nvim": { "branch": "main", "commit": "334d5fd49fc8033f26408425366c66c6390c57bb" }, - "hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" }, + "gitsigns.nvim": { "branch": "main", "commit": "31d6fb2d618bca1482b9f274751ead5f03461408" }, + "gruvbox-material": { "branch": "master", "commit": "11d779b26a9ab2b3db8c22c6ac9fb6e8ed4fea79" }, + "gruvbox.nvim": { "branch": "main", "commit": "154eb5ff5b96d0641307113fa385eaf0d36d9796" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "leap.nvim": { "branch": "main", "commit": "b960d5038c5c505c52e56a54490f9bbb1f0e6ef6" }, "love2d.nvim": { "branch": "main", "commit": "25715394680590f56aab90390d430cab0dc46808" }, "lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" }, - "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "25f609e7fca78af7cede4f9fa3af8a94b1c4950b" }, - "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, + "lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" }, + "markview.nvim": { "branch": "main", "commit": "2471f4097f8561a6880a0fe05ee0f21cbc82b374" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7adc933dabcc7c86ae6b07aff7ee68eac398491f" }, + "mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" }, "melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" }, "mellow.nvim": { "branch": "main", "commit": "6273b7f0ddf6ac2b75021b3bc0bd8b3305cfeef1" }, "mini.nvim": { "branch": "main", "commit": "3923662bf3d6ca49a9503f8d7196ea0450983e6a" }, @@ -35,22 +35,22 @@ "moonscript-vim": { "branch": "master", "commit": "715c96c7c3b02adc507f84bf5754985460afc426" }, "multicursor.nvim": { "branch": "1.0", "commit": "704b99f10a72cc05d370cfeb294ff83412a8ab55" }, "nabla.nvim": { "branch": "master", "commit": "9b69b709063ccf40ac36fabb4fff7d90b3736475" }, - "nelua.vim": { "branch": "main", "commit": "08ddb2e0dda7d2bd6cd9d4efadb6a07547e135c3" }, - "neogit": { "branch": "master", "commit": "4681c1fdac1b730592ae195576e87406f7255750" }, - "neorg": { "branch": "main", "commit": "408fc04013a95da8f217cb0958a06b6a77c01743" }, - "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" }, + "nelua.vim": { "branch": "main", "commit": "1342286a1c06fc2cef50f06cd34dfcdd8df5b65c" }, + "neogit": { "branch": "master", "commit": "f8674ec894315c02449b61c9de9a116c5aafeb90" }, + "neorg": { "branch": "main", "commit": "a09e0bb9b32e2d0406d4503ae8c1a7ad2ca83eae" }, + "nightfox.nvim": { "branch": "main", "commit": "4dacd3f0185a2227bdf3b6c0975a8f0bf87cac9a" }, "nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, - "nvim-highlight-colors": { "branch": "main", "commit": "e2cb22089cc2358b2b995c09578224f142de6039" }, - "nvim-lspconfig": { "branch": "master", "commit": "5492a24edd68f78d8a778edcb8905d0a28993abc" }, - "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, + "nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" }, + "nvim-highlight-colors": { "branch": "main", "commit": "e4c7af0211866162d999ce0bdd6a029302e19139" }, + "nvim-lspconfig": { "branch": "master", "commit": "98b0b8a52742afc9e2e2078e2e451f91beef1717" }, + "nvim-nio": { "branch": "master", "commit": "edcc181a875301dd21840189aa2f2f9ad69fc172" }, "nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" }, - "nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" }, - "nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" }, - "nvim-unception": { "branch": "main", "commit": "df0e505f0f1371c49c2bcf993985962edb5a279d" }, - "nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" }, + "nvim-treesitter": { "branch": "main", "commit": "df7489eeea351bece7fd0f9c825be5cb6a1438f0" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "898ee307df58f854d11cd7edd06472574d48014e" }, + "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" }, + "nvim-unception": { "branch": "main", "commit": "f14eeb22238d2c2bdafe9a2e5e1f4bd200d0e450" }, + "nvim-web-devicons": { "branch": "master", "commit": "0ca28b61a04fe7426cefbdd52c2647ef0e335b5f" }, "oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" }, "oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" }, "one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" }, diff --git a/config/.emacs.d/config/keymap.el b/config/.emacs.d/config/keymap.el index a80be81..5056ff8 100644 --- a/config/.emacs.d/config/keymap.el +++ b/config/.emacs.d/config/keymap.el @@ -6,6 +6,7 @@ (global-set-key (kbd "C-c x") #'kill-current-buffer) (global-set-key (kbd "C-c X") (lambda () (interactive) (other-window 1) (kill-buffer-and-window))) (global-set-key (kbd "C-c g") #'consult-ripgrep) +(global-set-key (kbd "C-c C-g") (lambda () (interactive) (let ((current-prefix-arg '(4))) (call-interactively #'consult-ripgrep)))) (global-set-key (kbd "C-c L") #'consult-line) (global-set-key (kbd "C-c i") #'consult-info) (global-set-key (kbd "C-c s") #'ispell-word) diff --git a/config/.emacs.d/plugins/utils.el b/config/.emacs.d/plugins/utils.el index a047cfe..ab0e297 100644 --- a/config/.emacs.d/plugins/utils.el +++ b/config/.emacs.d/plugins/utils.el @@ -24,6 +24,30 @@ :defer t :bind-keymap ("M-'" . surround-keymap)) +(use-package noccur + :ensure t) + +(use-package dumb-jump + :ensure t + :config + (add-hook 'xref-backend-functions #'dumb-jump-xref-activate)) + +(use-package expand-region + :ensure t + :bind (("C-= =" . er/expand-region) + ("C-= w" . er/mark-word) + ("C-= s" . er/mark-symbol) + ("C-= S" . er/mark-symbol-with-prefix) + ("C-= f" . er/mark-defun) + ("C-= c" . er/mark-comment) + ("C-= m" . er/mark-method-call) + ("C-= a" . er/mark-next-accessor) + ("C-= p" . er/mark-inside-pairs) + ("C-= P" . er/mark-outside-pairs) + ("C-= '" . er/mark-inside-quotes) + ("C-= \"" . er/mark-outside-quotes))) + + (use-package dirvish :ensure t :defer t From 00781ddcae87ec8fedadaf8e71a5b6594220419c Mon Sep 17 00:00:00 2001 From: Michael Chalupiak Date: Mon, 12 Oct 2026 18:25:41 -0600 Subject: [PATCH 3/3] updated kakoune --- config/.bashrc | 23 +- config/.config/kak/kakrc | 491 ++++++------------ config/.config/nvim/compiler/dex_lxb.vim | 2 + config/.config/nvim/lazy-lock.json | 33 +- config/.config/nvim/lua/config/keymap.lua | 1 + config/.config/nvim/lua/config/set.lua | 21 +- config/.config/nvim/lua/plugins/colors.lua | 4 +- config/.config/nvim/lua/plugins/filetypes.lua | 32 +- config/.config/nvim/lua/plugins/util.lua | 214 ++++---- config/.emacs.d/config/emacs.el | 24 +- config/.emacs.d/config/keymap.el | 2 + config/.emacs.d/plugins/apps.el | 333 ++++++------ config/.emacs.d/plugins/lang.el | 20 +- config/.emacs.d/plugins/ui.el | 6 +- config/.emacs.d/plugins/utils.el | 23 +- config/.tmux.conf | 16 +- 16 files changed, 573 insertions(+), 672 deletions(-) create mode 100644 config/.config/nvim/compiler/dex_lxb.vim diff --git a/config/.bashrc b/config/.bashrc index 104fc24..2c91cef 100644 --- a/config/.bashrc +++ b/config/.bashrc @@ -140,8 +140,8 @@ alias zf='z $(flirt)' # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -z "$EDITOR" ]; then - # export EDITOR=kak - export EDITOR='nvim' + export EDITOR=kak + # export EDITOR='nvim' fi if [ -f ~/.bash_aliases ]; then @@ -154,7 +154,8 @@ if [ "$XDG_SESSION_DESKTOP" = "sway" ] ; then export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/ fi eval "$(zoxide init bash)" -eval "$(fzf --bash)" +# eval "$(fzf --bash)" +eval "$(sk --shell bash --shell-bindings)" export TMUX_TMPDIR=/tmp export TINTED_SHELL_ENABLE_BASE16_VARS=1 @@ -182,19 +183,21 @@ tinty_source_shell_theme() { # alias theme='tinty_source_shell_theme apply "$(tinty list | fzf --cycle)" && xrdb ~/.Xresources' # fi -run_kak() { - /usr/bin/kak -c $SESH 2>/dev/null "$@" || /usr/bin/kak -s $SESH "$@" -} +# run_kak() { +# /usr/local/bin/kak -c $SESH 2>/dev/null "$@" || /usr/local/bin/kak -s $SESH "$@" +# } if [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ] && [ -z "$TMUX" ]; then SESH="$( (tmux list-sessions 2>/dev/null || echo '-1') | cut -d' ' -f1 | tr -d ':-' | sort -r | head -n1 | xargs -I{} echo '{} + 1' | bc)" - alias kak='tmux new-session -e "EDITOR=\"/usr/bin/kak -c $SESH\"" -s $SESH /usr/bin/kak -s $SESH > /dev/null' + alias kakc='kak -C $SESH' + # alias kak='tmux new-session -e "EDITOR=\"/usr/local/bin/kak -c $SESH\"" -s $SESH /usr/local/bin/kak > /dev/null' elif [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ]; then SESH="$(tmux display-message -p '#S')" + alias kakc='kak -C $SESH' # alias kak='kak -c $SESH 2>/dev/null || kak -s $SESH' - alias kak=run_kak - alias vidir='EDITOR="/usr/bin/kak -c $SESH 2>/dev/null || /usr/bin/kak -s $SESH" vidir' - alias vipe='EDITOR="/usr/bin/kak -c $SESH 2>/dev/null || /usr/bin/kak -s $SESH" vipe' + # alias kak=run_kak + # alias vidir='EDITOR="/usr/local/bin/kak -c $SESH 2>/dev/null || /usr/local/bin/kak -s $SESH" vidir' + # alias vipe='EDITOR="/usr/local/bin/kak -c $SESH 2>/dev/null || /usr/local/bin/kak -s $SESH" vipe' fi if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix)" ] && [ -z "$TMUX" ]; then diff --git a/config/.config/kak/kakrc b/config/.config/kak/kakrc index 09bb6e7..ad555de 100644 --- a/config/.config/kak/kakrc +++ b/config/.config/kak/kakrc @@ -15,189 +15,83 @@ plug "andreyorst/smarttab.kak" defer smarttab %{ plug "occivink/kakoune-sudo-write" +plug "jtrv/grep-write.kak" + plug "kak-lsp/kak-lsp" do %{ cargo install --locked --force --path . } -plug "gustavo-hms/luar" %{ - plug "gustavo-hms/peneira" %{ - require-module peneira - } +plug "gustavo-hms/luar" config %{ + require-module luar } +plug "gustavo-hms/peneira" config %{ + require-module peneira + set-option global luar_interpreter luajit + set-option global peneira_files_command 'fd -t f -I' +} + +plug 'theowenyoung/kakoune-buffer-manager' + plug "h-youhei/kakoune-surround" plug "your-tools/kak-subvert" do %{ cargo install --locked --force --path . } -plug "https://git.sr.ht/~nasmevka/repl.kak" - -plug "https://gitlab.com/kstr0k/mru-files.kak" demand mru-files %{ # %{} needed even if empty - # suggested mappings: *after* plugin loads - # think "go alt[ernate]-f[iles]" - # map global goto ': mru-files ' -docstring 'mru-files' - # map global goto ': mru-files-related' -docstring 'mru-files-related' -} - -plug "custom-filetypes" load-path "~/.config/kak/al" -# # Color Themes -plug "tinted-theming/base16-kakoune" theme -plug "https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes" theme ### End Of Plugins ### -set-option global luar_interpreter luajit - ## Treesitter ## eval %sh{ kak-tree-sitter -dksvvv --with-highlighting --with-text-objects --init $kak_session } -#eval %sh{ kak-tree-sitter -dks --with-text-objects --session $kak_session } -#eval %sh{ kak-tree-sitter -dks --with-highlighting --session $kak_session } -#eval %sh{ kak-tree-sitter -dksvvv --init $kak_session } -# -# evaluate-commands %sh{ -# echo "colorscheme base16-$BASE16_THEME" -# } - -## Popup ## -evaluate-commands %sh{kak-popup init} ## Highlighting ## hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor} add-highlighter global/ show-matching -add-highlighter global/ column 80 MenuBackground -add-highlighter global/ show-whitespaces -spc " " -nbsp "" -#add-highlighter global/ show-whitespaces -nbsp "" -lf "" -indent "|" +add-highlighter global/ show-whitespaces -spc " " -nbsp "" -indent " " ## Wrapping ## add-highlighter global/ wrap -word -indent +set-option global grepcmd 'ag' ## Formatting ## -# define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{ -# -# -# hook global -group autofmt BufSetOption filetype=(zig) %{ -# set-option buffer formatcmd 'zig fmt --stdin' -# -# hook -group autofmt buffer BufOpenFile .* %{ -# format -# } -# -# hook -group autofmt buffer BufWritePre .* %{ -# format -# } -# } -# -# hook global -group autofmt BufSetOption filetype=(html) %{ -# set-option buffer formatcmd 'prettier --tab-width 4 --parser html' -# -# hook -group autofmt buffer BufOpenFile .* %{ -# format -# } -# -# hook -group autofmt buffer BufWritePre .* %{ -# format -# } -# } -# -# hook global -group autofmt BufSetOption filetype=(css) %{ -# set-option buffer formatcmd 'prettier --tab-width 4 --parser css' -# -# hook -group autofmt buffer BufOpenFile .* %{ -# format -# } -# -# hook -group autofmt buffer BufWritePre .* %{ -# format -# } -# } +define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{ + hook global -group autofmt BufSetOption filetype=(c|cpp) %{ + set-option buffer formatcmd 'clang-format' + + hook -group autofmt buffer BufOpenFile .* %{ + format + } + + hook -group autofmt buffer BufWritePre .* %{ + format + } + } +} + +define-command disable-autofmt -docstring 'disable autoformatting of buffer' %{ + remove-hooks global autofmt +} + +enable-autofmt ## Indentation ## set global tabstop 4 set global indentwidth 4 hook global WinSetOption filetype=.* expandtab hook global WinSetOption filetype=(makefile|gas) noexpandtab hook global BufCreate .* %{ - editorconfig-load autoconfigtab } -define-command set-spell -docstring 'Enable spellcheck' %{ - # hook -group spellcheck global BufOpenFile .* %{ - hook -group spellcheck buffer InsertChar .* %{ - evaluate-commands %{ - spell - } - } - - hook -group spellcheck buffer InsertDelete .* %{ - evaluate-commands %{ - spell - } - } - # } -} - -define-command set-nospell -docstring 'Disable spellcheck' %{ - remove-hooks buffer spellcheck -} - -define-command sleuth -docstring 'Heuristically set buffer options' %{ - try %{ - evaluate-commands -draft %{ - # Search the first indent level - execute-keys 'gg' '/' '^\h+' '' - - # Tab vs. Space - # https://youtu.be/V7PLxL8jIl8 - try %{ - execute-keys '' '\t' '' - #set-option buffer indentwidth 0 - noexpandtab - } catch %{ - set-option buffer indentwidth %val{selection_length} - expandtab - } - } - } -} - -define-command git-status -docstring 'Show git diff' %{ - hook -group git-status global BufOpenFile .* %{ - git show-diff - } - - hook -group git-status global BufWritePost .* %{ - git show-diff - } -} - -define-command disable-git-status -docstring 'Disable git diff gutter' %{ - remove-hooks global git-status -} - -define-command sleuth-enable -docstring 'Enable sleuth' %{ - # Run sleuth when opening and saving files. - hook -group sleuth global BufOpenFile .* %{ - sleuth - } - - hook -group sleuth global BufWritePost .* %{ - sleuth - } -} - -define-command sleuth-disable -docstring 'Disable sleuth' %{ - remove-hooks global sleuth -} - ## LSP ## +set-option global autocomplete 'prompt' lsp-enable -lsp-inlay-diagnostics-enable global -set-option global lsp_auto_highlight_references true -set-option global lsp_hover_anchor true +# lsp-inlay-diagnostics-enable global +# set-option global lsp_auto_highlight_references true +# set-option global lsp_hover_anchor true lsp-auto-signature-help-enable -lsp-inlay-hints-enable global +# lsp-inlay-hints-enable global map global user k ':lsp-hover' @@ -244,213 +138,190 @@ hook -group lsp-filetype-typst global BufSetOption filetype=typst %{ # previewFeature = "disable" } } + set-option global lsp_config %{ } -define-command fzf-buffer -docstring 'Invoke fzf to select a buffer' %{ +define-command -docstring 'git log' git-log %{ evaluate-commands %sh{ - tmux split-window -l 20% "(printf \"%s\n\" $kak_quoted_buflist | fzf --bind 'focus:execute-silent(echo \"eval -client $kak_client %{ e {} }\" | kak -p $kak_session)' || echo \"$kak_buffile\") | xargs -I{} echo \"eval -client $kak_client %{ e '{}' }\" | /usr/bin/kak -p $kak_session" + output=$(mktemp -d "${TMPDIR:-/tmp}"/kak-git.XXXXXXXX)/fifo + mkfifo ${output} + ( trap - INT QUIT; git log > ${output} 2>&1 & ) > /dev/null 2>&1 < /dev/null + + printf %s "evaluate-commands -try-client '$kak_opt_docsclient' ' + edit! -fifo ${output} *git* + set-option buffer filetype git-log + $(hide_blame) + set-option buffer git_blob %{} + hook -always -once buffer BufCloseFifo .* '' + nop %sh{ rm -r $(dirname ${output}) } + '' + '" } } -define-command -docstring 'Invoke fzf to select a buffer' prev-fzf-buff %{ - evaluate-commands %sh{ - BUFFER=$( - ( - eval "set -- $kak_buflist" - while [ $# -gt 0 ]; do - printf "%s\0" "$1" - shift - done - ) | - fzf-tmux --cycle -p 80%,90% --read0 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null' - ) - if [ -n "$BUFFER" ]; then - printf "buffer %s" "${BUFFER}" - fi - } +define-command -docstring 'fd find files' -params 1 fd %{ + edit %arg{1} } -define-command -docstring 'live grep' live-grep %{ - evaluate-commands %sh{ +complete-command -menu fd shell-script-candidates 'fd -I -t f .' - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rfv.sh)" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } +declare-option -hidden str last_command + +define-command -docstring 'compile a la emacs' compile %{ + prompt -init "%opt{last_command}" -shell-completion "Command: " compile_text } -define-command -docstring 'exact grep' exact-grep %{ - evaluate-commands %sh{ - - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rfve.sh)" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'search contents of current file' file-search %{ - evaluate-commands -save-regs '"' %{ - set-register dquote %sh{ mktemp } - execute-keys -draft '% cat > $kak_reg_dquote' - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rfs.sh ${kak_reg_dquote} ${kak_buffile})" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" +define-command -docstring 'compile_text' compile_text -hidden %{ + evaluate-commands %{ + evaluate-commands -try-client %opt{toolsclient} %{ + fifo -scroll -name *compile-mode* -script %{ + trap - INT QUIT + printf "*compilation started at $(date)*\n" + eval "$kak_quoted_text" + exit_code=$? + if [ $exit_code == 0 ]; then + printf "*compilation finished at $(date)*\n" + else + printf "*compilation exited abnormally at $(date) with exit code $exit_code*\n" fi - rm $kak_reg_dquote - fi + } -- %arg{@} + set-option buffer filetype cmd + set-option buffer jump_current_line 0 + set-option global last_command %val{text} } } } -define-command -docstring 'search contents of current file with regex' regex-file-search %{ - evaluate-commands -save-regs '"' %{ - set-register dquote %sh{ mktemp } - execute-keys -draft '% cat > $kak_reg_dquote' - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rgrs.sh ${kak_reg_dquote} ${kak_buffile})" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - rm $kak_reg_dquote - fi +define-command -docstring 'compile_run' compile_run -params .. -hidden %{ + evaluate-commands -save-regs ab %{ + set-register a %arg{@} + set-register b %sh{ printf "*%s*" "$1" } + evaluate-commands -try-client %opt{toolsclient} %{ + fifo -name %reg{b} -script %{ + trap - INT QUIT + eval "$kak_quoted_reg_a" + } -- %arg{@} } } } -define-command -docstring 'Invoke fzf to open a file' -params 0 fzf-edit %{ - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(fd -t f . |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi +define-command -hidden cmd-jmp %{ + evaluate-commands -save-regs a %{ + try %{ + execute-keys -draft 'ght"ay' + evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a} + try %{ focus %opt{jumpclient} } + } catch %{ + jump + } } } -define-command -docstring 'Invoke fzf to open a file local to the current file' -params 0 fzf-edit-local %{ - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - dir="$(get_local_path ${kak_buffile})" - if [ -n "$dir" ]; then - file="$(fd -u -t f . $dir |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')" - fi - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi +hook -group cmd-highlight global WinSetOption filetype=cmd %{ + add-highlighter window/cmd group + add-highlighter window/cmd/path regex "^([^:\n\*]+[^/:])$" 1:cyan + add-highlighter window/cmd/num-path regex "^([^:\n\*]+):(\d+):(\d+)?" 1:cyan 2:green 3:green + add-highlighter window/cmd/error regex "^([^:\n\*]+):(\d+):(?:(\d+):)?\h+(?:((?:fatal )?error)|(warning)|(note)|(required from(?: here)?))?.*?$" 1:cyan 2:green 3:green 4:red 5:yellow 6:blue 7:yellow + add-highlighter window/cmd/extra regex "^\h*(~*(?:(\^)~*)?)$" 1:green 2:cyan+b + add-highlighter window/cmd/info-error regex "(\*compilation exited abnormally at .+ with exit code )([0-9]+)(\*)" 1:default+b 2:red+b 3:default+b + add-highlighter window/cmd/info regex "^(\*[^\n]+\*)$" 1:default+b + add-highlighter window/cmd/ line %{%opt{jump_current_line}} default+b + hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/cmd} +} + +hook global WinSetOption filetype=cmd %{ + hook buffer -group cmd-hooks NormalKey cmd-jmp + hook -once -always window WinSetOption filetype=.* %{ remove-hooks buffer cmd-hooks } +} + +declare-option str curpath_dirls %sh{pwd} + +define-command dirls -params 1 %{ + set-option global curpath_dirls "%opt{curpath_dirls}/%arg{1}" + compile_run ls -lh %opt{curpath_dirls} + set-option buffer filetype dirls +} + +complete-command dirls file 0 + +define-command -hidden dirls-jmp %{ + evaluate-commands -save-regs ab %{ + try %{ + execute-keys 'gl "ay' + evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a} + try %{ focus %opt{jumpclient} } + } catch %{ + execute-keys 'gl "ay' + dirls %reg{a} + } } } -define-command -docstring 'Pick project' -params 0 switch-project %{ - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - proj="$(cat ~/.scripts/projects | TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% | cut -d' ' -f1)" - if [ -n "$proj" ]; then - printf "cd %s\n" "$proj" - printf 'fzf-edit\n' - fi - fi - } +define-command -hidden dirls-jmp-up %{ + dirls ".." } -define-command -docstring 'Project wide search' project-search %{ - evaluate-commands %sh{ +hook -group dirls-highlight global WinSetOption filetype=dirls %{ + add-highlighter window/dirls group + add-highlighter window/dirls/file regex "^(-[^\n]+)$" 1:cyan + add-highlighter window/dirls/folder regex "^(d[^\n]+)$" 1:blue + add-highlighter window/dirls/ line %{%opt{jump_current_line}} default+b + hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/dirls} +} - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rgfs.sh)" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } +hook global WinSetOption filetype=dirls %{ + hook buffer -group dirls-hooks NormalKey dirls-jmp + hook buffer -group dirls-hooks NormalKey dirls-jmp-up } define-command -docstring 'Print Working Directory' -params 0 pwd %{ evaluate-commands echo %sh{ echo "$(pwd)"} } -# define-command -docstring 'copy to clipboard' xcopy %{ -# execute-keys 'xclip -selection clipboard -i' -# } - -# define-command -docstring 'paste from clipboard' xpaste %{ -# evaluate-commands -save-regs '"' %{ -# set-register dquote %sh{ xclip -selection clipboard -o } -# execute-keys 'p' -# } -# } - define-command -docstring 'copy to clipboard' xcopy %{ - execute-keys 'wl-copy' + execute-keys 'xclip -selection clipboard -i' } define-command -docstring 'paste from clipboard' xpaste %{ evaluate-commands -save-regs '"' %{ - set-register dquote %sh{ wl-paste } - execute-keys 'P' + set-register dquote %sh{ xclip -selection clipboard -o } + execute-keys 'p' } } +define-command -docstring 'find files in particular directory' peneira-dir-files %{ + peneira-files-configure-buffer + prompt -shell-script-completion '(fd -t d -d 1 -I . $@ || fd -t d -d 1 -I . $(dirname $@)) | (sk -f $@ || cat)' 'directory: ' peneira-files-in-dir +} + +define-command peneira-files-in-dir -hidden %{ + peneira 'file: ' 'fd -t f -I . $kak_text' 'edit %arg{1}' +} + +map -docstring 'fix c-i in silly terminals' global normal '' '' declare-user-mode config map -docstring 'enter config mode' global user e ':enter-user-mode config' map -docstring 'edit kakoune config' global config k ':e ~/.config/kak/kakrc' map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf' map -docstring 'edit bash config' global config b ':e ~/.bashrc' -map -docstring 'edit scripts folder' global config s ':cd ~/.scripts:fzf-edit' -map -docstring 'edit .config folder' global config c ':cd ~/.config:fzf-edit' -declare-user-mode buffer -map -docstring 'enter buffer mode' global user b ':enter-user-mode buffer' -map -docstring 'next buffer' global buffer n ':buffer-next' -map -docstring 'previous buffer' global buffer p ':buffer-previous' -map -docstring 'close current buffer' global buffer d ':delete-buffer!' -map -docstring 'write and close current buffer' global buffer w ':w:db' -map -docstring 'list and select a buffer' global buffer b ':fzf-buffer' +map -docstring 'open buf manager' global user b ':buffer-manager' +map -docstring 'compile mode' global user c ':compile' +map -docstring 'next error' global user ] ':jump-next *compile-mode*' +map -docstring 'previous error' global user [ ':jump-previous *compile-mode*' -declare-user-mode find -map -docstring 'enter find mode' global user f ':enter-user-mode find' -map -docstring 'find files' global find f ':fzf-edit' -map -docstring 'find tags for the current project' global find t ':ctags-search ' -map -docstring 'find line in current file' global find l ':file-search' -map -docstring 'find line in current file with regex' global find L ':regex-file-search' -map -docstring 'find files in current directory' global find F ':fzf-edit-local' -map -docstring "grep file contents recursively" global find g ':live-grep' -map -docstring "grep exact file contents recursively" global find e ':exact-grep' -map -docstring 'project wide search' global find p ':project-search' +map -docstring 'clipboard paste' global user p ':xpaste' +map -docstring 'clipboard yank' global user y ':xcopy' + +map -docstring 'find tags for the current project' global user t ':ctags-search ' + +map -docstring 'find files' global user f ':peneira-files' +map -docstring 'find files in particular dir' global user F ':peneira-dir-files' map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp' map -docstring 'goto definition (tag)' global lsp t 'w:ctags-search' -map -docstring 'enter treesitter mode' global user t ':enter-user-mode tree-sitter' -map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search' - declare-user-mode tmux map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux' map -docstring 'vertical split' global tmux v ':tmux-terminal-horizontal kak -c %val{session}' @@ -459,35 +330,9 @@ map -docstring 'new tab' global tmux t ':tmux-terminal-window kak -c %val{sessio map -docstring 'vertical terminal split' global tmux V ':tmux-repl-horizontal bash' map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical bash' map -docstring 'new terminal tab' global tmux T ':tmux-repl-window' -map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit' - -declare-user-mode project -map -docstring 'enter project mode' global user p ':enter-user-mode project' -map -docstring 'open project' global project o ':switch-project' - -map -docstring 'enter man mode' global user m ':enter-user-mode man' declare-user-mode general map -docstring 'enter general keybinds mode' global user g ':enter-user-mode general' -#map -docstring 'clipboard yank' global user y 'clip.exe' -map -docstring 'clipboard yank' global general y ':xcopy' -#map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"' -map -docstring 'clipboard paste' global general p ':xpaste' -map -docstring 'quit kakoune' global general q ':q' map -docstring 'toggle comments' global general c ':comment-line' -declare-user-mode spell -map -docstring 'enter spell mode' global general s ':enter-user-mode spell' -map -docstring 'enable spell check' global spell s ':spell' -map -docstring 'clear spell check' global spell c ':spell-clear' -map -docstring 'next spell check' global spell n ':spell-next' -map -docstring 'spell check replacements' global spell r ':spell-replace' - -map -docstring 'quit kakoune' global user q ':q!' -try %{ - colorscheme %sh{ - ruby -e "time = Time.new; if time.hour < 20 and time.hour > 6 then puts 'dawnfox' else puts 'carbonfox' end" - } -} catch %{ - colorscheme carbonfox -} +colorscheme dawnfox diff --git a/config/.config/nvim/compiler/dex_lxb.vim b/config/.config/nvim/compiler/dex_lxb.vim new file mode 100644 index 0000000..e913b49 --- /dev/null +++ b/config/.config/nvim/compiler/dex_lxb.vim @@ -0,0 +1,2 @@ +CompilerSet errorformat& +CompilerSet makeprg=cd\ /home/E40127478/projects/dex/dex_lxb/\ &&\ ./build_all.sh\ $* diff --git a/config/.config/nvim/lazy-lock.json b/config/.config/nvim/lazy-lock.json index 13cd774..9b7cd6a 100644 --- a/config/.config/nvim/lazy-lock.json +++ b/config/.config/nvim/lazy-lock.json @@ -1,9 +1,10 @@ { - "auto-dark-mode.nvim": { "branch": "master", "commit": "e300259ec777a40b4b9e3c8e6ade203e78d15881" }, + "any-jump.vim": { "branch": "master", "commit": "f95674d9a4251ac02f452d5f1861e4422f4652c7" }, + "auto-dark-mode.nvim": { "branch": "main", "commit": "54058b4fe414bd64bd2904a6f8a63f1f14e3d8df" }, "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, - "catppuccin": { "branch": "main", "commit": "e068ab5f8261f23f6f71ffd8791ae40315b77b9c" }, + "catppuccin": { "branch": "main", "commit": "79e2049a0fdf7ec840f8463fe1d962c94493196b" }, "cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" }, - "command.nvim": { "branch": "main", "commit": "beb948e61c1d434b61b261d6768c26249e0a88fe" }, + "command.nvim": { "branch": "main", "commit": "e5736fea4bdab1f86b17bcd71b873517bb145e1b" }, "compiler-explorer.nvim": { "branch": "master", "commit": "523c6a7a3d8c034b421a71eb20b0da75b0b16f62" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dim.lua": { "branch": "main", "commit": "a3a0dce75f7212ab61130e77a8157530bd23db15" }, @@ -13,16 +14,15 @@ "fennel.vim": { "branch": "main", "commit": "c6a9c035ca108cbb24273d96cd6277fb8fbc60b4" }, "github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" }, "github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" }, - "gitsigns.nvim": { "branch": "main", "commit": "eb60cc7b94c46005237fd34170d76f3a089a90aa" }, + "gitsigns.nvim": { "branch": "main", "commit": "31d6fb2d618bca1482b9f274751ead5f03461408" }, "gruvbox-material": { "branch": "master", "commit": "11d779b26a9ab2b3db8c22c6ac9fb6e8ed4fea79" }, "gruvbox.nvim": { "branch": "main", "commit": "154eb5ff5b96d0641307113fa385eaf0d36d9796" }, + "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, - "leap.nvim": { "branch": "main", "commit": "d7f8ee64155b7790188f17a993390f32577cfb81" }, - "love2d.nvim": { "branch": "main", "commit": "25715394680590f56aab90390d430cab0dc46808" }, - "lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" }, + "leap.nvim": { "branch": "main", "commit": "52bc56ba61b1f54f123e29d6df7d1b7a0393eeac" }, "lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" }, - "markview.nvim": { "branch": "main", "commit": "092c0872fd2437b3b862d253910981142d2465aa" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "47059d71b42d74b0a1e9f61c1d99d301039c3b5b" }, + "markview.nvim": { "branch": "main", "commit": "2471f4097f8561a6880a0fe05ee0f21cbc82b374" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7adc933dabcc7c86ae6b07aff7ee68eac398491f" }, "mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" }, "melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" }, "mellow.nvim": { "branch": "main", "commit": "6273b7f0ddf6ac2b75021b3bc0bd8b3305cfeef1" }, @@ -30,29 +30,24 @@ "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": "704b99f10a72cc05d370cfeb294ff83412a8ab55" }, "nabla.nvim": { "branch": "master", "commit": "9b69b709063ccf40ac36fabb4fff7d90b3736475" }, "nelua.vim": { "branch": "main", "commit": "1342286a1c06fc2cef50f06cd34dfcdd8df5b65c" }, - "neogit": { "branch": "master", "commit": "6fc2fa890bd2031ed999c074daab0fb4feff20a5" }, - "neorg": { "branch": "main", "commit": "a09e0bb9b32e2d0406d4503ae8c1a7ad2ca83eae" }, + "neogit": { "branch": "master", "commit": "37e0f22a2345bad1bffe01b31970885882f46275" }, "nightfox.nvim": { "branch": "main", "commit": "4dacd3f0185a2227bdf3b6c0975a8f0bf87cac9a" }, "nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" }, - "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" }, "nvim-highlight-colors": { "branch": "main", "commit": "e4c7af0211866162d999ce0bdd6a029302e19139" }, - "nvim-lspconfig": { "branch": "master", "commit": "d224a1920728ba129880efc700d4a0180ac4ecbb" }, - "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, + "nvim-lspconfig": { "branch": "master", "commit": "7ab79bb1b57160a537f427ac8a6026102f12b701" }, "nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" }, "nvim-treesitter": { "branch": "main", "commit": "df7489eeea351bece7fd0f9c825be5cb6a1438f0" }, - "nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "898ee307df58f854d11cd7edd06472574d48014e" }, "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" }, "nvim-unception": { "branch": "main", "commit": "f14eeb22238d2c2bdafe9a2e5e1f4bd200d0e450" }, - "nvim-web-devicons": { "branch": "master", "commit": "dad71387de386a946b123079d0e53f23028f3abd" }, + "nvim-web-devicons": { "branch": "master", "commit": "2ae6958df7ced50baac5035cec0c15799eedfbf7" }, "oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" }, "oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" }, "one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" }, "onedark.nvim": { "branch": "master", "commit": "df4792accde9db0043121f32628bcf8e645d9aea" }, - "pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" }, "plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" }, "range-highlight.nvim": { "branch": "master", "commit": "097103da6550c2a34c029971c3d7da63d3fef320" }, "rose-pine": { "branch": "main", "commit": "ff483051a47e27d84bdef47703538df1ed9f4a47" }, @@ -60,8 +55,6 @@ "snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" }, "telescope-tabs": { "branch": "vim_ui_select", "commit": "f01bc722582fdcaa58ea37492b382ff109893d95" }, "tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" }, - "tree-sitter-norg": { "branch": "main", "commit": "d7edfaf89198aab652c7a1f0f818196efedaccfb" }, - "tree-sitter-norg-meta": { "branch": "main", "commit": "729d4e54fb881ba0ddf0f925ec78401354c7c6db" }, "treesitter-parser-registry": { "branch": "main", "commit": "6eb15358bb9fc88f0d3401d8538d56652e9bdf3c" }, "v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" }, "vim-colors-xcode": { "branch": "master", "commit": "2329a3ed092b4f72e9361a94567a5431e36e7d9c" }, diff --git a/config/.config/nvim/lua/config/keymap.lua b/config/.config/nvim/lua/config/keymap.lua index 04713e4..f62fbc7 100644 --- a/config/.config/nvim/lua/config/keymap.lua +++ b/config/.config/nvim/lua/config/keymap.lua @@ -12,6 +12,7 @@ setnx('b', Snacks.picker.buffers, 'List buffers') setnx('h', Snacks.picker.help, 'Search help') setnx('P', 'Markview splitToggle', 'Open markview preview') setnx('z', Snacks.zen.zen, 'Toggle snacks zen mode') +setnx('d', 'AnyJump', 'AnyJump jump to definition') local setto = function(key, command, desc) set({ 'x', 'o' }, key, command, { desc = desc }) diff --git a/config/.config/nvim/lua/config/set.lua b/config/.config/nvim/lua/config/set.lua index 99f67cd..6a8597a 100644 --- a/config/.config/nvim/lua/config/set.lua +++ b/config/.config/nvim/lua/config/set.lua @@ -64,25 +64,8 @@ vim.g.netrw_keepdir = 0 vim.g.netrw_preview = 1 vim.g.netrw_alto = 0 +vim.opt.exrc = true + vim.ui.select = Snacks.picker.select -- vim.cmd('colorscheme carbonfox') - -vim.lsp.config('lua_ls', { - settings = { - Lua = { - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - maxPreload = 100000, - preloadFileSize = 100000, - } - } - } -}) - -vim.lsp.config('tinymist', { - settings = { - exportPdf = "onType", - } -}) -vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = true}) diff --git a/config/.config/nvim/lua/plugins/colors.lua b/config/.config/nvim/lua/plugins/colors.lua index cf5c2c8..71a24f3 100644 --- a/config/.config/nvim/lua/plugins/colors.lua +++ b/config/.config/nvim/lua/plugins/colors.lua @@ -151,11 +151,11 @@ return { -- refer to the configuration section below set_dark_mode = function() vim.api.nvim_set_option_value("background", "dark", {}) - vim.cmd('colorscheme carbonfox') + vim.cmd('colorscheme rose-pine-main') end, set_light_mode = function() vim.api.nvim_set_option_value("background", "light", {}) - vim.cmd('colorscheme dawnfox') + vim.cmd('colorscheme rose-pine-dawn') end, }, }, diff --git a/config/.config/nvim/lua/plugins/filetypes.lua b/config/.config/nvim/lua/plugins/filetypes.lua index 687f579..ae093ff 100644 --- a/config/.config/nvim/lua/plugins/filetypes.lua +++ b/config/.config/nvim/lua/plugins/filetypes.lua @@ -34,22 +34,22 @@ return { ft = 'puml', }, - { - "S1M0N38/love2d.nvim", - -- event = "VeryLazy", - ft = 'lua', - version = "2.*", - opts = { }, - }, - - { - "nvim-neorg/neorg", - -- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default - ft = 'norg', - version = "*", -- Pin Neorg to the latest stable release - config = true, - }, - + -- { + -- "S1M0N38/love2d.nvim", + -- -- event = "VeryLazy", + -- ft = 'lua', + -- version = "2.*", + -- opts = { }, + -- }, + -- + -- { + -- "nvim-neorg/neorg", + -- -- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default + -- ft = 'norg', + -- version = "*", -- Pin Neorg to the latest stable release + -- config = true, + -- }, + -- -- { -- "Olical/conjure" -- }, diff --git a/config/.config/nvim/lua/plugins/util.lua b/config/.config/nvim/lua/plugins/util.lua index da2e3e1..3e5809e 100644 --- a/config/.config/nvim/lua/plugins/util.lua +++ b/config/.config/nvim/lua/plugins/util.lua @@ -12,6 +12,13 @@ return { -- this is equivalent to setup({}) function }, + { + 'pechorin/any-jump.vim', + config = function() + vim.g.any_jump_search_prefered_engine = 'ag' + end, + }, + { "NeogitOrg/neogit", lazy = true, @@ -66,6 +73,19 @@ return { end }, + { + "lukas-reineke/indent-blankline.nvim", + main = "ibl", + ---@module "ibl" + ---@type ibl.config + opts = { + scope = { + show_start = false, + show_end = false, + }, + }, + }, + { "folke/snacks.nvim", priority = 1000, @@ -105,7 +125,7 @@ return { image = { enabled = true }, - indent = { enabled = true }, + indent = { enabled = false }, input = { enabled = true }, lazygit = { enabled = false }, picker = { @@ -177,6 +197,10 @@ return { ---@module 'oil' ---@type oil.SetupOpts opts = { + win_options = { + winbar = "%#@attribute.builtin#%{substitute(v:lua.require('oil').get_current_dir(), '^' . $HOME, '~', '')}", + }, + triggers = { { 'g', mode = { 'n', 'x' } }, }, @@ -238,98 +262,98 @@ return { event = 'VeryLazy', }, - { - "jake-stewart/multicursor.nvim", - branch = "1.0", - config = function() - local mc = require("multicursor-nvim") - mc.setup() - - local set = vim.keymap.set - - -- Add or skip cursor above/below the main cursor. - set({"n", "x"}, "k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" }) - set({"n", "x"}, "j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" }) - set({"n", "x"}, "", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" }) - set({"n", "x"}, "", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" }) - set({"n", "x"}, "K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" }) - set({"n", "x"}, "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"}, "n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" }) - set({"n", "x"}, "s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" }) - set({"n", "x"}, "N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" }) - set({"n", "x"}, "S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" }) - - set({"n", "x"}, "m", mc.operator, { desc = "Add cursors to text object" }) - set("n", "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", "*", function() - mc.operator({pattern = vim.fn.expand("")}) - end, { desc = "Add cursors to current word inside text object" }) - set("x", "s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" }) - - -- Add cursor at next argument treesitter - set({'n', 'x'}, ']A', function() - if vim.v.count < 1 then - mc.addCursor(']p') - else - for _=1, vim.v.count - 1 do - mc.addCursor(']p') - end - end - end, { desc = 'Create multicursor on next argument'}) - set({'n', 'x'}, '[A', function() - if vim.v.count < 1 then - mc.addCursor('[p') - else - for _=1, vim.v.count - 1 do - mc.addCursor('[p') - end - end - end, { desc = 'Create multicursor on previous argument'}) - - -- Add and remove cursors with control + left click. - set("n", "", mc.handleMouse) - set("n", "", mc.handleMouseDrag) - set("n", "", mc.handleMouseRelease) - - -- Disable and enable cursors. - set({"n", "x"}, "", 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"}, "h", mc.prevCursor, { desc = "Make previous cursor primary" }) - layerSet({"n", "x"}, "l", mc.nextCursor, { desc = "Make next cursor primary" }) - layerSet({"n", "x"}, "", mc.prevCursor, { desc = "Make previous cursor primary" }) - layerSet({"n", "x"}, "", mc.nextCursor, { desc = "Make next cursor primary" }) - - -- Delete the main cursor. - layerSet({"n", "x"}, "x", mc.deleteCursor) - - -- Enable and clear cursors using escape. - layerSet("n", "", function() - if not mc.cursorsEnabled() then - mc.enableCursors() - else - mc.clearCursors() - end - end) - end) - - -- Customize how cursors look. - local hl = vim.api.nvim_set_hl - hl(0, "MultiCursorCursor", { reverse = true }) - hl(0, "MultiCursorVisual", { link = "Visual" }) - hl(0, "MultiCursorSign", { link = "SignColumn"}) - hl(0, "MultiCursorMatchPreview", { link = "Search" }) - hl(0, "MultiCursorDisabledCursor", { reverse = true }) - hl(0, "MultiCursorDisabledVisual", { link = "Visual" }) - hl(0, "MultiCursorDisabledSign", { link = "SignColumn"}) - end - }, + -- { + -- "jake-stewart/multicursor.nvim", + -- branch = "1.0", + -- config = function() + -- local mc = require("multicursor-nvim") + -- mc.setup() + -- + -- local set = vim.keymap.set + -- + -- -- Add or skip cursor above/below the main cursor. + -- set({"n", "x"}, "k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" }) + -- set({"n", "x"}, "j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" }) + -- set({"n", "x"}, "", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" }) + -- set({"n", "x"}, "", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" }) + -- set({"n", "x"}, "K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" }) + -- set({"n", "x"}, "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"}, "n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" }) + -- set({"n", "x"}, "s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" }) + -- set({"n", "x"}, "N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" }) + -- set({"n", "x"}, "S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" }) + -- + -- set({"n", "x"}, "m", mc.operator, { desc = "Add cursors to text object" }) + -- set("n", "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", "*", function() + -- mc.operator({pattern = vim.fn.expand("")}) + -- end, { desc = "Add cursors to current word inside text object" }) + -- set("x", "s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" }) + -- + -- -- Add cursor at next argument treesitter + -- set({'n', 'x'}, ']A', function() + -- if vim.v.count < 1 then + -- mc.addCursor(']p') + -- else + -- for _=1, vim.v.count - 1 do + -- mc.addCursor(']p') + -- end + -- end + -- end, { desc = 'Create multicursor on next argument'}) + -- set({'n', 'x'}, '[A', function() + -- if vim.v.count < 1 then + -- mc.addCursor('[p') + -- else + -- for _=1, vim.v.count - 1 do + -- mc.addCursor('[p') + -- end + -- end + -- end, { desc = 'Create multicursor on previous argument'}) + -- + -- -- Add and remove cursors with control + left click. + -- set("n", "", mc.handleMouse) + -- set("n", "", mc.handleMouseDrag) + -- set("n", "", mc.handleMouseRelease) + -- + -- -- Disable and enable cursors. + -- set({"n", "x"}, "", 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"}, "h", mc.prevCursor, { desc = "Make previous cursor primary" }) + -- layerSet({"n", "x"}, "l", mc.nextCursor, { desc = "Make next cursor primary" }) + -- layerSet({"n", "x"}, "", mc.prevCursor, { desc = "Make previous cursor primary" }) + -- layerSet({"n", "x"}, "", mc.nextCursor, { desc = "Make next cursor primary" }) + -- + -- -- Delete the main cursor. + -- layerSet({"n", "x"}, "x", mc.deleteCursor) + -- + -- -- Enable and clear cursors using escape. + -- layerSet("n", "", function() + -- if not mc.cursorsEnabled() then + -- mc.enableCursors() + -- else + -- mc.clearCursors() + -- end + -- end) + -- end) + -- + -- -- Customize how cursors look. + -- local hl = vim.api.nvim_set_hl + -- hl(0, "MultiCursorCursor", { reverse = true }) + -- hl(0, "MultiCursorVisual", { link = "Visual" }) + -- hl(0, "MultiCursorSign", { link = "SignColumn"}) + -- hl(0, "MultiCursorMatchPreview", { link = "Search" }) + -- hl(0, "MultiCursorDisabledCursor", { reverse = true }) + -- hl(0, "MultiCursorDisabledVisual", { link = "Visual" }) + -- hl(0, "MultiCursorDisabledSign", { link = "SignColumn"}) + -- end + -- }, } diff --git a/config/.emacs.d/config/emacs.el b/config/.emacs.d/config/emacs.el index 754ed33..318f031 100644 --- a/config/.emacs.d/config/emacs.el +++ b/config/.emacs.d/config/emacs.el @@ -18,17 +18,27 @@ ;; Description ;; ;;; Code: - +(setq url-proxy-services '(("no_proxy" . "localhost") + ("http" . "proxygov.ray.com:80") + ("https" . "proxygov.ray.com:80"))) +;; (require 'misc) +(setopt treesit-enabled-modes t) (set-face-attribute 'default nil :width 'normal :weight 'normal - :slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 18)) + :slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 20)) (set-face-attribute 'fixed-pitch nil :width 'normal :weight 'normal - :slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 18)) -(set-face-attribute 'variable-pitch nil - :width 'normal :weight 'normal - :slant 'normal :font (font-spec :family "Gentium Plus" :size 18)) + :slant 'normal :font (font-spec :family "Iosevka Term SS12" :size 20)) +;; (set-face-attribute 'variable-pitch nil +;; :width 'normal :weight 'normal +;; :slant 'normal :font (font-spec :family "Gentium Plus" :size 18)) (defconst default-mode-line-format (copy-sequence mode-line-format)) +(setq dired-kill-when-opening-new-dired-buffer t) +(setq gdb-show-main t + gdb-many-windows t) +(setq elfeed-use-curl nil) +(setq use-short-answers t) +(setq compilation-scroll-output t) (setq history-length 100 global-auto-revert-non-file-buffers t use-dialog-box nil @@ -59,6 +69,8 @@ (lambda () (electric-indent-mode 1))) (global-electric-pair-mode) (global-electric-indent-mode) +;; (treesit-auto-install-grammar 'ask) +;; (treesit-enabled-modes t) ;; (enable-recursive-minibuffers t) ;; (read-extended-command-predicate #'command-completion-default-include-p) diff --git a/config/.emacs.d/config/keymap.el b/config/.emacs.d/config/keymap.el index a80be81..38aa307 100644 --- a/config/.emacs.d/config/keymap.el +++ b/config/.emacs.d/config/keymap.el @@ -1,5 +1,7 @@ ;;; -*- lexical-binding: t; -*- +;; (global-set-key (kbd "M-f") #'forward-to-word) +;; (global-set-key (kbd "M-F") #'forward-word) (global-set-key (kbd "C-c f") #'consult-fd) (global-set-key (kbd "C-c C-f") #'find-file-at-point) (global-set-key (kbd "C-c r") #'recentf) diff --git a/config/.emacs.d/plugins/apps.el b/config/.emacs.d/plugins/apps.el index 0d27802..06349a6 100644 --- a/config/.emacs.d/plugins/apps.el +++ b/config/.emacs.d/plugins/apps.el @@ -32,6 +32,12 @@ (add-hook 'eshell-load-hook #'eat-eshell-mode) +(use-package vterm + :ensure t) + +(use-package devdocs + :ensure t) + (use-package magit :ensure t :defer t) @@ -162,183 +168,183 @@ '((emacs-lisp . t)))) -(use-package org-msg - :ensure t - :defer t - :hook ((mu4e-main-mode . org-msg-mode) - (mu4e-compose-mode . org-msg-mode)) - :config - (setq mail-user-agent 'mu4e-user-agent) - (setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t" - org-msg-startup "hidestars indent inlineimages" - org-msg-default-alternatives '((new . (text html)) - (reply-to-html . (text html)) - (reply-to-text . (text))) - org-msg-convert-citation t)) +;; (use-package org-msg +;; :ensure t +;; :defer t +;; :hook ((mu4e-main-mode . org-msg-mode) +;; (mu4e-compose-mode . org-msg-mode)) +;; :config +;; (setq mail-user-agent 'mu4e-user-agent) +;; (setq org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil author:nil email:nil \\n:t" +;; org-msg-startup "hidestars indent inlineimages" +;; org-msg-default-alternatives '((new . (text html)) +;; (reply-to-html . (text html)) +;; (reply-to-text . (text))) +;; org-msg-convert-citation t)) -(use-package mu4e - :ensure t - :commands (mu4e) - :config - (setq mu4e-mu-binary (executable-find "mu")) +;; (use-package mu4e +;; :ensure t +;; :commands (mu4e) +;; :config +;; (setq mu4e-mu-binary (executable-find "mu")) - (setq mu4e-read-option-use-builtin nil - mu4e-completing-read-function 'completing-read) - ;; this is the directory we created before: - (setq mu4e-maildir "~/.local/share/mail/") +;; (setq mu4e-read-option-use-builtin nil +;; mu4e-completing-read-function 'completing-read) +;; ;; this is the directory we created before: +;; (setq mu4e-maildir "~/.local/share/mail/") - ;; this command is called to sync imap servers: - (setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a")) - ;; how often to call it in seconds: - (setq mu4e-update-interval 300) +;; ;; this command is called to sync imap servers: +;; (setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a")) +;; ;; how often to call it in seconds: +;; (setq mu4e-update-interval 300) - ;; save attachment to desktop by default - ;; or another choice of yours: - (setq mu4e-attachment-dir "~/Downloads") +;; ;; save attachment to desktop by default +;; ;; or another choice of yours: +;; (setq mu4e-attachment-dir "~/Downloads") - ;; rename files when moving - needed for mbsync: - (setq mu4e-change-filenames-when-moving t) +;; ;; rename files when moving - needed for mbsync: +;; (setq mu4e-change-filenames-when-moving t) - ;; list of your email adresses: - (setq mu4e-user-mail-address-list '("mikecchalupiak@outlook.com" - "chalupmc@rose-hulman.edu" - "mikec@mchalupiak.com" - "spamreciver1@outlook.com")) - ; the following is to show shortcuts in the main view. - (setq mu4e-bookmarks ()) - (add-to-list 'mu4e-bookmarks - '(:name "spamreciver" - :query "maildir:/spamreciver1@outlook.com/INBOX" - :key ?s)) - (add-to-list 'mu4e-bookmarks - '(:name "mchalupiak.com" - :query "maildir:/mikec@mchalupiak.com/INBOX" - :key ?h)) - (add-to-list 'mu4e-bookmarks - '(:name "rose" - :query "maildir:/chalupmc@rose-hulman.edu/INBOX" - :key ?r)) - (add-to-list 'mu4e-bookmarks - '(:name "outlook" - :query "maildir:/mikecchalupiak@outlook.com/INBOX" - :key ?o)) +;; ;; list of your email adresses: +;; (setq mu4e-user-mail-address-list '("mikecchalupiak@outlook.com" +;; "chalupmc@rose-hulman.edu" +;; "mikec@mchalupiak.com" +;; "spamreciver1@outlook.com")) +;; ; the following is to show shortcuts in the main view. +;; (setq mu4e-bookmarks ()) +;; (add-to-list 'mu4e-bookmarks +;; '(:name "spamreciver" +;; :query "maildir:/spamreciver1@outlook.com/INBOX" +;; :key ?s)) +;; (add-to-list 'mu4e-bookmarks +;; '(:name "mchalupiak.com" +;; :query "maildir:/mikec@mchalupiak.com/INBOX" +;; :key ?h)) +;; (add-to-list 'mu4e-bookmarks +;; '(:name "rose" +;; :query "maildir:/chalupmc@rose-hulman.edu/INBOX" +;; :key ?r)) +;; (add-to-list 'mu4e-bookmarks +;; '(:name "outlook" +;; :query "maildir:/mikecchalupiak@outlook.com/INBOX" +;; :key ?o)) - (setq mu4e-contexts - `(,(make-mu4e-context - :name "outlook" - :match-func - (lambda (msg) - (when msg - (mu4e-message-contact-field-matches msg - :to "mikecchalupiak@outlook.com"))) - :vars '((user-mail-address . "mikecchalupiak@outlook.com") - (user-full-name . "Michael Chalupiak") - (mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts") - (mu4e-refile-folder . "/mikecchalupiak@outlook.com/Archive") - (mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent") - (mu4e-trash-folder . "/mikecchalupiak@outlook.com/Trash"))) +;; (setq mu4e-contexts +;; `(,(make-mu4e-context +;; :name "outlook" +;; :match-func +;; (lambda (msg) +;; (when msg +;; (mu4e-message-contact-field-matches msg +;; :to "mikecchalupiak@outlook.com"))) +;; :vars '((user-mail-address . "mikecchalupiak@outlook.com") +;; (user-full-name . "Michael Chalupiak") +;; (mu4e-drafts-folder . "/mikecchalupiak@outlook.com/Drafts") +;; (mu4e-refile-folder . "/mikecchalupiak@outlook.com/Archive") +;; (mu4e-sent-folder . "/mikecchalupiak@outlook.com/Sent") +;; (mu4e-trash-folder . "/mikecchalupiak@outlook.com/Trash"))) - ,(make-mu4e-context - :name "rose" - :match-func - (lambda (msg) - (when msg - (mu4e-message-contact-field-matches msg - :to "chalupmc@rose-hulman.edu"))) - :vars '((user-mail-address . "chalupmc@rose-hulman.edu") - (user-full-name . "Michael Chalupiak") - (mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts") - (mu4e-refile-folder . "/chalupmc@rose-hulman.edu/Archive") - (mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent") - (mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Trash"))) +;; ,(make-mu4e-context +;; :name "rose" +;; :match-func +;; (lambda (msg) +;; (when msg +;; (mu4e-message-contact-field-matches msg +;; :to "chalupmc@rose-hulman.edu"))) +;; :vars '((user-mail-address . "chalupmc@rose-hulman.edu") +;; (user-full-name . "Michael Chalupiak") +;; (mu4e-drafts-folder . "/chalupmc@rose-hulman.edu/Drafts") +;; (mu4e-refile-folder . "/chalupmc@rose-hulman.edu/Archive") +;; (mu4e-sent-folder . "/chalupmc@rose-hulman.edu/Sent") +;; (mu4e-trash-folder . "/chalupmc@rose-hulman.edu/Trash"))) - ,(make-mu4e-context - :name "hosted" - :match-func - (lambda (msg) - (when msg - (mu4e-message-contact-field-matches msg - :to "mikec@mchalupiak.com"))) - :vars '((user-mail-address . "mikec@mchalupiak.com") - (user-full-name . "Michael Chalupiak") - ;; check your ~/.maildir to see how the subdirectories are called - ;; e.g `ls ~/.maildir/example' - (mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts") - (mu4e-refile-folder . "/mikec@mchalupiak.com/Archive") - (mu4e-sent-folder . "/mikec@mchalupiak.com/Sent") - (mu4e-trash-folder . "/mikec@mchalupiak.com/Trash"))) - ,(make-mu4e-context - :name "spam" - :match-func - (lambda (msg) - (when msg - (mu4e-message-contact-field-matches msg - :to "spamreciver1@outlook.com"))) - :vars '((user-mail-address . "spamreciver1@outlook.com") - (user-full-name . "spamreciver") - ;; check your ~/.maildir to see how the subdirectories are called - ;; e.g `ls ~/.maildir/example' - (mu4e-drafts-folder . "/spamreciver1@outlook.com/Drafts") - (mu4e-refile-folder . "/spamreciver1@outlook.com/Archive") - (mu4e-sent-folder . "/spamreciver1@outlook.com/Sent") - (mu4e-trash-folder . "/spamreciver1@outlook.com/Trash"))))) +;; ,(make-mu4e-context +;; :name "hosted" +;; :match-func +;; (lambda (msg) +;; (when msg +;; (mu4e-message-contact-field-matches msg +;; :to "mikec@mchalupiak.com"))) +;; :vars '((user-mail-address . "mikec@mchalupiak.com") +;; (user-full-name . "Michael Chalupiak") +;; ;; check your ~/.maildir to see how the subdirectories are called +;; ;; e.g `ls ~/.maildir/example' +;; (mu4e-drafts-folder . "/mikec@mchalupiak.com/Drafts") +;; (mu4e-refile-folder . "/mikec@mchalupiak.com/Archive") +;; (mu4e-sent-folder . "/mikec@mchalupiak.com/Sent") +;; (mu4e-trash-folder . "/mikec@mchalupiak.com/Trash"))) +;; ,(make-mu4e-context +;; :name "spam" +;; :match-func +;; (lambda (msg) +;; (when msg +;; (mu4e-message-contact-field-matches msg +;; :to "spamreciver1@outlook.com"))) +;; :vars '((user-mail-address . "spamreciver1@outlook.com") +;; (user-full-name . "spamreciver") +;; ;; check your ~/.maildir to see how the subdirectories are called +;; ;; e.g `ls ~/.maildir/example' +;; (mu4e-drafts-folder . "/spamreciver1@outlook.com/Drafts") +;; (mu4e-refile-folder . "/spamreciver1@outlook.com/Archive") +;; (mu4e-sent-folder . "/spamreciver1@outlook.com/Sent") +;; (mu4e-trash-folder . "/spamreciver1@outlook.com/Trash"))))) - (setq mu4e-context-policy 'pick-first) ;; start with the first (default) context; - (setq mu4e-compose-context-policy 'ask) - ; gpg encryptiom & decryption: - ;; this can be left alone - (require 'epa-file) - (epa-file-enable) - (setq epa-pinentry-mode 'loopback) - (auth-source-forget-all-cached) +;; (setq mu4e-context-policy 'pick-first) ;; start with the first (default) context; +;; (setq mu4e-compose-context-policy 'ask) +;; ; gpg encryptiom & decryption: +;; ;; this can be left alone +;; (require 'epa-file) +;; (epa-file-enable) +;; (setq epa-pinentry-mode 'loopback) +;; (auth-source-forget-all-cached) - ;; don't keep message compose buffers around after sending: - (setq message-kill-buffer-on-exit t) +;; ;; don't keep message compose buffers around after sending: +;; (setq message-kill-buffer-on-exit t) - ;; send function: - (setq send-mail-function 'message-send-mail-with-sendmail - message-send-mail-function 'message-send-mail-with-sendmail) +;; ;; send function: +;; (setq send-mail-function 'message-send-mail-with-sendmail +;; message-send-mail-function 'message-send-mail-with-sendmail) - ;; send program: - ;; this is exeranal. remember we installed it before. - (setq sendmail-program (executable-find "msmtp")) +;; ;; send program: +;; ;; this is exeranal. remember we installed it before. +;; (setq sendmail-program (executable-find "msmtp")) - ;; select the right sender email from the context. - (setq message-sendmail-envelope-from 'header) +;; ;; select the right sender email from the context. +;; (setq message-sendmail-envelope-from 'header) - ;; chose from account before sending - ;; this is a custom function that works for me. - ;; well I stole it somewhere long ago. - ;; I suggest using it to make matters easy - ;; of course adjust the email adresses and account descriptions - (defun timu/set-msmtp-account () - (if (message-mail-p) - (save-excursion - (let* - ((from (save-restriction - (message-narrow-to-headers) - (message-fetch-field "from"))) - (account - (cond - ((string-match "mikecchalupiak@outlook.com" from) "outlook") - ((string-match "chalupmc@rose-hulman.edu" from) "rose") - ((string-match "mikec@mchalupiak.com" from) "hosted") - ((string-match "spamreciver1@outlook.com" from) "spam")))) - (setq message-sendmail-extra-arguments (list '"-a" account))))) +;; ;; chose from account before sending +;; ;; this is a custom function that works for me. +;; ;; well I stole it somewhere long ago. +;; ;; I suggest using it to make matters easy +;; ;; of course adjust the email adresses and account descriptions +;; (defun timu/set-msmtp-account () +;; (if (message-mail-p) +;; (save-excursion +;; (let* +;; ((from (save-restriction +;; (message-narrow-to-headers) +;; (message-fetch-field "from"))) +;; (account +;; (cond +;; ((string-match "mikecchalupiak@outlook.com" from) "outlook") +;; ((string-match "chalupmc@rose-hulman.edu" from) "rose") +;; ((string-match "mikec@mchalupiak.com" from) "hosted") +;; ((string-match "spamreciver1@outlook.com" from) "spam")))) +;; (setq message-sendmail-extra-arguments (list '"-a" account))))) - (add-hook 'message-send-mail-hook 'timu/set-msmtp-account) +;; (add-hook 'message-send-mail-hook 'timu/set-msmtp-account) - ;; mu4e cc & bcc - ;; this is custom as well - (add-hook 'mu4e-compose-mode-hook - (defun timu/add-cc-and-bcc () - "My Function to automatically add Cc & Bcc: headers. - This is in the mu4e compose mode." - (save-excursion (message-add-header "Cc:\n")) - (save-excursion (message-add-header "Bcc:\n")))))) - ;; ask for context if no context matches;))) +;; ;; mu4e cc & bcc +;; ;; this is custom as well +;; (add-hook 'mu4e-compose-mode-hook +;; (defun timu/add-cc-and-bcc () +;; "My Function to automatically add Cc & Bcc: headers. +;; This is in the mu4e compose mode." +;; (save-excursion (message-add-header "Cc:\n")) +;; (save-excursion (message-add-header "Bcc:\n")))))) +;; ;; ask for context if no context matches;))) (use-package elfeed :ensure t @@ -373,6 +379,7 @@ '( ("https://phaazon.net/blog/feed") ("https://irreal.org/blog/?feed=rss2") ("https://port19.xyz/rss.xml") + ("https://www.gingerbill.org/article/index.xml") ("https://lukesmith.xyz/index.xml") ("https://notrelated.xyz/rss") ("https://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-and-content.xml") @@ -380,11 +387,11 @@ ("https://danielde.dev/rss.xml") ("https://pkolaczk.github.io/feed.xml") ("https://joeyh.name/blog/index.rss") - ("https://kagifeedback.org/atom/t/release-notes") - ("https://api.substack.com/feed/podcast/462466.rss") - ("https://www.dailywire.com/feeds/rss.xml") - ("https://feeds.simplecast.com/6c2VScgo") - ("https://feeds.simplecast.com/pp_b9xO6"))) + ("https://kagifeedback.org/atom/t/release-notes"))) + ;; ("https://api.substack.com/feed/podcast/462466.rss") + ;; ("https://www.dailywire.com/feeds/rss.xml") + ;; ("https://feeds.simplecast.com/6c2VScgo") + ;; ("https://feeds.simplecast.com/pp_b9xO6"))) (defun elfeed/show-eww-open (&optional use-generic-p) "open with eww" (interactive "P") diff --git a/config/.emacs.d/plugins/lang.el b/config/.emacs.d/plugins/lang.el index fb4813c..13cf808 100644 --- a/config/.emacs.d/plugins/lang.el +++ b/config/.emacs.d/plugins/lang.el @@ -19,14 +19,14 @@ ;; ;;; Code: -(use-package treesit-auto - :ensure t - ;; :defer t - :custom - (treesit-auto-install t) - :config - (treesit-auto-add-to-auto-mode-alist 'all) - (global-treesit-auto-mode)) +;; (use-package treesit-auto +;; :ensure t +;; ;; :defer t +;; :custom +;; (treesit-auto-install t) +;; :config +;; (treesit-auto-add-to-auto-mode-alist 'all) +;; (global-treesit-auto-mode)) ;; (use-package gitconfig-mode ;; :ensure t @@ -89,7 +89,9 @@ (add-to-list 'auto-mode-alist '("\\.odin\\'" . odin-ts-mode)) (add-to-list 'auto-mode-alist '("\\.zig\\(?:\\.zon\\)?\\'" . zig-ts-mode)) -(defvar treesit-language-source-alist '()) +;; (straight-use-package '(tree-sitter-langs :type git :host github +;; :repo "emacs-tree-sitter/tree-sitter-langs")) +;; (defvar treesit-language-source-alist '()) (add-to-list 'treesit-language-source-alist '(odin "https://github.com/tree-sitter-grammars/tree-sitter-odin")) (add-to-list 'treesit-language-source-alist '(zig "https://github.com/tree-sitter-grammars/tree-sitter-zig")) (add-to-list 'treesit-language-source-alist '(go "https://github.com/tree-sitter/tree-sitter-go")) diff --git a/config/.emacs.d/plugins/ui.el b/config/.emacs.d/plugins/ui.el index 12ca07b..0420409 100644 --- a/config/.emacs.d/plugins/ui.el +++ b/config/.emacs.d/plugins/ui.el @@ -329,10 +329,12 @@ ;; Don't highlight current level indentation; it's distracting and is ;; unnecessary overhead for little benefit. indent-bars-highlight-current-depth nil) + (add-hook 'prog-mode-hook #'indent-bars-mode 50) + (add-hook 'text-mode-hook #'indent-bars-mode 50) :custom (indent-bars-no-descend-lists t) ; no extra bars in continued func arg lists (indent-bars-treesit-support t) - (indent-bars-treesit-ignore-blank-lines-types '("module")) + (indent-bars-treesit-ignore-blank-lines-types '("module"))) ;; Add other languages as needed ;; (indent-bars-treesit-scope '((python function_definition class_definition for_statement ;; if_statement with_statement while_statement))) @@ -341,7 +343,7 @@ ;; list list_comprehension ;; dictionary dictionary_comprehension ;; parenthesized_expression subscript))) - :hook ((prog-mode text-mode) . indent-bars-mode)) + (use-package dashboard :ensure t diff --git a/config/.emacs.d/plugins/utils.el b/config/.emacs.d/plugins/utils.el index efb8441..7056080 100644 --- a/config/.emacs.d/plugins/utils.el +++ b/config/.emacs.d/plugins/utils.el @@ -19,6 +19,26 @@ ;; ;;; Code: +(use-package system-packages + :ensure t) + +(use-package exec-path-from-shell + :ensure t + :config + (defun copy-ssh-agent () + "copy env variables for ssh agent" + (interactive) + (exec-path-from-shell-copy-env "SSH_AGENT_PID") + (exec-path-from-shell-copy-env "SSH_AUTH_SOCK")) + (copy-ssh-agent)) + +(use-package dumb-jump + :ensure t + :config + (setq dumb-jump-prefer-searcher 'ag) + (setq xref-show-definitions-function #'consult-xref) + (add-hook 'xref-backend-functions #'dumb-jump-xref-activate)) + (use-package surround :ensure t :defer t @@ -59,7 +79,8 @@ :ensure t :defer 5 :config - (dtrt-indent-global-mode 1)) + (add-hook 'prog-mode-hook #'dtrt-indent-mode) + (add-hook 'text-mode-hook #'dtrt-indent-mode)) (use-package undo-fu :ensure t diff --git a/config/.tmux.conf b/config/.tmux.conf index 471a1dc..9ac918c 100644 --- a/config/.tmux.conf +++ b/config/.tmux.conf @@ -10,7 +10,7 @@ set -ga terminal-overrides ",xterm-256color:Tc" set -g mouse on # Changes prefix key to control a instead of control b unbind C-b -set-option -g prefix C-a +set-option -g prefix C-Space set -sg escape-time 25 setw -g mode-keys vi bind b choose-tree @@ -19,12 +19,15 @@ bind-key h select-pane -L bind-key j select-pane -D bind-key k select-pane -U bind-key l select-pane -R +bind-key a last-window set -g status-style "bg=default" set -g status-position top set -g window-status-current-style "fg=yellow" set -g window-status-style "fg=magenta" set -g base-index 1 + +set-option -g lock-after-time 0 # Other examples: # set -g @plugin 'github_username/plugin_name' # set -g @plugin 'git@github.com:user/plugin' @@ -32,8 +35,9 @@ set -g base-index 1 # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) # run '~/.tmux/plugins/tpm/tpm' #run-shell "tmux source-file ~/.local/share/tinted-theming/tinty/repos/tinted-tmux/colors/base16-$BASE16_THEME.conf" - -set -g prefix None -bind -Troot C-a switchc -Tprefix -bind -Tprefix C-x if -F '#{s/empty//:key-table}' 'set key-table empty' 'set -u key-table' -bind -Tempty C-x switchc -Tprefix +# +# set -g prefix None +# bind -Troot C-Space switchc -Tprefix +# bind -Tprefix C-x if -F '#{s/empty//:key-table}' 'set key-table empty' 'set -u key-table' +# bind -Tempty C-x switchc -Tprefix +set -g set-clipboard on