Merge remote-tracking branch 'origin/master' into arch-desktop
This commit is contained in:
@@ -97,7 +97,7 @@
|
||||
:defer t
|
||||
:init
|
||||
;; Configure themes
|
||||
(setq! auto-dark-themes '((doom-gruvbox) (doom-gruvbox-light)))
|
||||
(setq! auto-dark-themes '((kaolin-dark) (kaolin-light)))
|
||||
;; Disable doom's theme loading mechanism (just to make sure)
|
||||
(setq! doom-theme nil)
|
||||
;; Declare that all themes are safe to load.
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
;;; init.el -*- lexical-binding: t; -*-
|
||||
;;; $DOOMDIR/init.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; This file controls what Doom modules are enabled and what order they load
|
||||
;; in. Remember to run 'doom sync' after modifying it!
|
||||
|
||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a link to Doom's Module Index where all
|
||||
;; of our modules are listed, including what flags they support.
|
||||
;; NOTE: Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a link to Doom's Module Index where all of
|
||||
;; our modules are listed, including what flags they support.
|
||||
|
||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||
;; flags as well (those symbols that start with a plus).
|
||||
;; NOTE: Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on flags
|
||||
;; as well (those symbols that start with a plus).
|
||||
;;
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
|
||||
(doom! :input
|
||||
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
|
||||
bidi ; (tfel ot) thgir etirw uoy gnipleh
|
||||
;;chinese
|
||||
;;japanese
|
||||
;;layout ; auie,ctsrnm is the superior home row
|
||||
@@ -25,15 +25,15 @@
|
||||
(corfu +orderless) ; complete with cap(f), cape and a flying feather!
|
||||
;;helm ; the *other* search engine for love and life
|
||||
;;ido ; the other *other* search engine...
|
||||
;; ivy ; a search engine for love and life
|
||||
vertico ; the search engine of the future
|
||||
;;ivy ; a search engine for love and life
|
||||
vertico ; the search engine of the future
|
||||
|
||||
:ui
|
||||
;;deft ; notational velocity for Emacs
|
||||
doom ; what makes DOOM look the way it does
|
||||
doom-dashboard ; a nifty splash screen for Emacs
|
||||
dashboard ; a nifty splash screen for Emacs
|
||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
;;(emoji +unicode) ; 🙂
|
||||
(emoji +unicode) ; 🙂
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
indent-guides ; highlighted indent columns
|
||||
;;ligatures ; ligatures and symbols to make your code pretty again
|
||||
@@ -43,21 +43,21 @@
|
||||
;;neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||
smooth-scroll ; So smooth you won't believe it's not butter
|
||||
;;smooth-scroll ; So smooth you won't believe it's not butter
|
||||
;;tabs ; a tab bar for Emacs
|
||||
;;treemacs ; a project drawer, like neotree but cooler
|
||||
unicode ; extended unicode support for various languages
|
||||
;;unicode ; extended unicode support for various languages
|
||||
(vc-gutter +pretty) ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
;;window-select ; visually switch windows
|
||||
;; workspaces ; tab emulation, persistence & separate workspaces
|
||||
zen ; distraction-free coding or writing
|
||||
workspaces ; tab emulation, persistence & separate workspaces
|
||||
;;zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
(evil +everywhere); come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
(format +onsave) ; automated prettiness
|
||||
;;(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
;;lispy ; vim for lisp, for people who don't like vim
|
||||
multiple-cursors ; editing in many places at once
|
||||
@@ -65,13 +65,13 @@
|
||||
parinfer ; turn lisp into python, sort of
|
||||
;;rotate-text ; cycle region at point between text candidates
|
||||
snippets ; my elves. They type so I don't have to
|
||||
;; (whitespace +guess +trim) ; a butler for your whitespace
|
||||
(whitespace +guess +trim) ; a butler for your whitespace
|
||||
word-wrap ; soft wrapping with language-aware indent
|
||||
|
||||
:emacs
|
||||
dired ; making dired pretty [functional]
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
;;eww ; the internet is gross
|
||||
eww ; the internet is gross
|
||||
ibuffer ; interactive buffer management
|
||||
tramp ; remote files at your arthritic fingertips
|
||||
undo ; persistent, smarter undo for your inevitable mistakes
|
||||
@@ -81,33 +81,34 @@
|
||||
eshell ; the elisp shell that works everywhere
|
||||
;;shell ; simple shell REPL for Emacs
|
||||
;;term ; basic terminal emulator for Emacs
|
||||
;; vterm ; the best terminal emulation in Emacs
|
||||
;;vterm ; almost the best terminal emulation in Emacs
|
||||
ghostel ; the best terminal emulation in Emacs
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
;;biblio ; Writes a PhD for you (citation needed)
|
||||
;;collab ; buffers with friends
|
||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||
;;debugger ; stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
;;docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
(lookup +dictionary +offline) ; navigate your code and its documentation
|
||||
lookup ; navigate your code and its documentation
|
||||
;;llm ; when I said you needed friends, I didn't mean...
|
||||
(lsp +eglot) ; M-x vscode
|
||||
(magit +forge) ; a git porcelain for Emacs
|
||||
(lsp +eglot) ; M-x vscode
|
||||
magit ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
;;pass ; password manager for nerds
|
||||
;;pdf ; pdf enhancements
|
||||
;;terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
@@ -116,11 +117,11 @@
|
||||
|
||||
:lang
|
||||
;;ada ; In strong typing we (blindly) trust
|
||||
;;agda ; types of types of types of types...
|
||||
;;(agda +local) ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
(cc +lsp +tree-sitter) ; C > C++ == 1
|
||||
;;(cc +lsp) ; C > C++ == 1
|
||||
;;clojure ; java with a lisp
|
||||
common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
;;csharp ; unity, .NET, and mono shenanigans
|
||||
@@ -153,10 +154,11 @@
|
||||
;;lean ; for folks with too much to prove
|
||||
;;ledger ; be audit you can be
|
||||
;;lua ; one-based indices? one-based indices
|
||||
(markdown +grip +tree-sitter) ; writing docs for people to ignore
|
||||
markdown ; writing docs for people to ignore
|
||||
;;nim ; python + lisp at the speed of c
|
||||
;;nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
;;odin ; C, minus its footguns
|
||||
org ; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
@@ -169,20 +171,21 @@
|
||||
;;rest ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
(rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scad ; trust the preview, regret the render
|
||||
;;scala ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
(swift +lsp +tree-sitter); who asked for emoji variables?
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
(web +lsp +tree-sitter) ; the tubes
|
||||
;;web ; the tubes
|
||||
;;yaml ; JSON, but readable
|
||||
(zig +lsp +tree-sitter) ; C, but simpler
|
||||
;;zig ; C, but simpler
|
||||
|
||||
:email
|
||||
(mu4e +org +gmail +mbsync)
|
||||
(mu4e +org +gmail)
|
||||
;;notmuch
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
@@ -191,7 +194,7 @@
|
||||
;;emms
|
||||
;;everywhere ; *leave* Emacs!? You must be joking
|
||||
;;irc ; how neckbeards socialize
|
||||
;;(rss +org) ; emacs as an RSS reader
|
||||
(rss +org) ; emacs as an RSS reader
|
||||
|
||||
:config
|
||||
;;literate
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
;; (unpin! pinned-package another-pinned-package)
|
||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||
;; (unpin! t)
|
||||
(package! kaolin-themes)
|
||||
(package! auto-dark)
|
||||
(package! odin-ts-mode
|
||||
:recipe (:host github :repo "Sampie159/odin-ts-mode"))
|
||||
|
||||
@@ -1,237 +0,0 @@
|
||||
;;; doom-rose-pine-dawn-theme.el --- A light port of Rose Piné Dawn theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;
|
||||
;; Author: mvllow
|
||||
;; Ported by: donniebreve
|
||||
;; Keywords: custom themes, faces
|
||||
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
|
||||
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Thanks to mvllow (https://github.com/rose-pine)
|
||||
;; Thanks to hlissner (https://github.com/doomemacs/themes)
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(require 'doom-themes)
|
||||
|
||||
;;; Variables
|
||||
(defgroup doom-rose-pine-dawn-theme nil
|
||||
"Options for the `doom-rose-pine-dawn' theme."
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-rose-pine-dawn-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-rose-pine-dawn-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-dawn-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-rose-pine-dawn-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-dawn-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
|
||||
:group 'doom-rose-pine-dawn-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
;;; Theme definition
|
||||
(def-doom-theme doom-rose-pine-dawn
|
||||
"A light port of Rosé Pine Dawn theme"
|
||||
|
||||
;; Main theme colors
|
||||
(
|
||||
;; name default 256 16
|
||||
(base '("#faf4ed" "#faf4ed" "black" ))
|
||||
(surface '("#fffaf3" "#fffaf3" "brightblack" ))
|
||||
(overlay '("#f2e9de" "#f2e9de" "brightblack" ))
|
||||
(muted '("#9893a5" "#9893a5" "brightblack" ))
|
||||
(subtle '("#797593" "#797593" "brightblack" ))
|
||||
(text '("#575279" "#575279" "brightblack" ))
|
||||
(love '("#b4637a" "#b4637a" "red" ))
|
||||
(gold '("#ea9d34" "#ea9d34" "white" ))
|
||||
(rose '("#d7827e" "#d7827e" "white" ))
|
||||
(pine '("#286983" "#286983" "white" ))
|
||||
(foam '("#56949f" "#56949f" "white" ))
|
||||
(iris '("#907aa9" "#907aa9" "white" ))
|
||||
(highlightL '("#f4ede8" "#f4ede8" "grey" ))
|
||||
(highlightM '("#dfdad9" "#dfdad9" "grey" ))
|
||||
(highlightH '("#cecacd" "#cecacd" "grey" ))
|
||||
|
||||
;; Variables required by doom theme
|
||||
(bg base)
|
||||
(fg text)
|
||||
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
|
||||
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
|
||||
;; or region), especially when paired with the `doom-darken', `doom-lighten',
|
||||
;; and `doom-blend' helper functions.
|
||||
(bg-alt surface)
|
||||
(fg-alt text)
|
||||
;; These should represent a spectrum from bg to fg, where base0 is a starker
|
||||
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
|
||||
;; dark grey, base0 should be white and base8 should be black.
|
||||
(base0 surface)
|
||||
(base1 base)
|
||||
(base2 highlightL)
|
||||
(base3 overlay)
|
||||
(base4 highlightM)
|
||||
(base5 highlightH)
|
||||
(base6 muted)
|
||||
(base7 subtle)
|
||||
(base8 text)
|
||||
(grey muted)
|
||||
(red love)
|
||||
(orange gold)
|
||||
(green pine)
|
||||
(teal pine)
|
||||
(yellow rose)
|
||||
(blue pine)
|
||||
(dark-blue pine)
|
||||
(magenta iris)
|
||||
(violet iris)
|
||||
(cyan foam)
|
||||
(dark-cyan foam)
|
||||
;; Variables required by doom theme ends here
|
||||
|
||||
;; Required face categories for syntax highlighting
|
||||
(highlight subtle) ; cursor
|
||||
(selection base) ; can't figure out where this is used
|
||||
(region overlay) ; visual selection
|
||||
(vertical-bar surface) ; window split
|
||||
|
||||
(comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
|
||||
(doc-comments (if doom-rose-pine-dawn-brighter-comments subtle muted))
|
||||
|
||||
(builtin pine)
|
||||
(constants iris)
|
||||
(functions pine)
|
||||
(keywords pine)
|
||||
(methods foam)
|
||||
(numbers rose)
|
||||
(operators gold)
|
||||
(strings gold)
|
||||
(type rose)
|
||||
(variables iris)
|
||||
|
||||
(error love)
|
||||
(success foam)
|
||||
(warning gold)
|
||||
|
||||
(vc-added foam)
|
||||
(vc-deleted love)
|
||||
(vc-modified gold)
|
||||
|
||||
;; Other categories
|
||||
;; Modeline
|
||||
(modeline-bg (if doom-rose-pine-dawn-brighter-modeline overlay surface))
|
||||
(modeline-fg text)
|
||||
(modeline-bg-alt (if doom-rose-pine-dawn-brighter-modeline muted overlay))
|
||||
(modeline-fg-alt text) ; should this be darker or lighter?
|
||||
(modeline-bg-inactive base)
|
||||
(modeline-fg-inactive subtle)
|
||||
(modeline-bg-inactive-alt base)
|
||||
(modeline-fg-inactive-alt subtle)
|
||||
(modeline-pad
|
||||
(when doom-rose-pine-dawn-padded-modeline
|
||||
if (integerp doom-rose-pine-dawn-padded-modeline) doom-rose-pine-padded-modeline 4)))
|
||||
|
||||
;; Base theme face overrides
|
||||
(
|
||||
;; Font
|
||||
((font-lock-comment-face &override)
|
||||
:slant 'italic
|
||||
:background (if doom-rose-pine-dawn-brighter-comments (doom-blend teal base 0.07)))
|
||||
((font-lock-type-face &override) :slant 'italic)
|
||||
((font-lock-builtin-face &override) :slant 'italic)
|
||||
((font-lock-function-name-face &override) :foreground type)
|
||||
((font-lock-keyword-face &override) :weight 'bold)
|
||||
((font-lock-constant-face &override) :weight 'bold)
|
||||
|
||||
;; Highlight line
|
||||
(hl-line
|
||||
:background highlightL)
|
||||
|
||||
;; Line numbers
|
||||
((line-number &override) :foreground muted)
|
||||
((line-number-current-line &override) :foreground text)
|
||||
|
||||
;; Mode line
|
||||
(mode-line
|
||||
:background modeline-bg
|
||||
:foreground modeline-fg
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive
|
||||
:foreground modeline-fg-inactive
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if doom-rose-pine-dawn-brighter-modeline text subtle))
|
||||
|
||||
;; Company
|
||||
(company-tooltip-selection :background blue :foreground muted)
|
||||
|
||||
;; CSS mode <built-in> / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground green)
|
||||
|
||||
;; Doom mode line
|
||||
(doom-modeline-bar :background green) ; The line to the left
|
||||
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
|
||||
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
|
||||
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
|
||||
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
|
||||
|
||||
;; Helm
|
||||
(helm-selection :foreground base :weight 'bold :background blue)
|
||||
|
||||
;; Ivy
|
||||
(ivy-current-match :background highlightL :distant-foreground fg)
|
||||
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
|
||||
(ivy-posframe :background modeline-bg-alt)
|
||||
|
||||
;; Markdown mode
|
||||
(markdown-markup-face :foreground text)
|
||||
(markdown-header-face :inherit 'bold :foreground red)
|
||||
((markdown-code-face &override) :background surface)
|
||||
|
||||
;; org <built-in>
|
||||
(org-block :background (doom-blend yellow bg 0.04) :extend t)
|
||||
(org-block-background :background (doom-blend yellow bg 0.04))
|
||||
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-level-1 :foreground gold)
|
||||
(org-level-2 :foreground rose)
|
||||
(org-level-3 :foreground pine)
|
||||
(org-level-4 :foreground iris)
|
||||
(org-level-5 :foreground gold)
|
||||
(org-level-6 :foreground rose)
|
||||
(org-level-7 :foreground pine)
|
||||
(org-level-8 :foreground iris)
|
||||
|
||||
;; Solaire mode line
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
|
||||
|
||||
;; Widget
|
||||
(widget-field :foreground fg :background muted)
|
||||
(widget-single-line-field :foreground fg :background muted)
|
||||
|
||||
;; Swiper
|
||||
(swiper-line-face :background highlightM)
|
||||
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
|
||||
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
|
||||
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
|
||||
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
|
||||
|
||||
;;; doom-rose-pine-dawn-theme.el ends here
|
||||
@@ -1,244 +0,0 @@
|
||||
;;; doom-rose-pine-moon-theme.el --- A medium port of Rosé Pine Moon theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;
|
||||
;; Author: mvllow
|
||||
;; Ported by: donniebreve
|
||||
;; Keywords: custom themes, faces
|
||||
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
|
||||
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Thanks to mvllow (https://github.com/rose-pine)
|
||||
;; Thanks to hlissner (https://github.com/doomemacs/themes)
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(require 'doom-themes)
|
||||
|
||||
;;; Variables
|
||||
(defgroup doom-rose-pine-moon-theme nil
|
||||
"Options for the `doom-rose-pine-moon' theme."
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-rose-pine-moon-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-moon-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-moon-brighter-text nil
|
||||
"If non-nil, default text will be brighter."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-moon-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
|
||||
:group 'doom-rose-pine-moon-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
;;; Theme definition
|
||||
(def-doom-theme doom-rose-pine-moon
|
||||
"A medium port of Rosé Pine Moon theme"
|
||||
|
||||
;; Main theme colors
|
||||
(
|
||||
;; name default 256 16
|
||||
(base '("#232136" "#232136" "black" ))
|
||||
(surface '("#2a273f" "#2a273f" "brightblack" ))
|
||||
(overlay '("#393552" "#393552" "brightblack" ))
|
||||
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
|
||||
(subtle '("#908caa" "#908caa" "brightblack" ))
|
||||
(text '("#e0def4" "#e0def4" "brightblack" ))
|
||||
(love '("#eb6f92" "#eb6f92" "red" ))
|
||||
(gold '("#f6c177" "#f6c177" "white" ))
|
||||
(rose '("#ea9a97" "#ea9a97" "white" ))
|
||||
(pine '("#3e8fb0" "#3e8fb0" "white" ))
|
||||
(foam '("#9ccfd8" "#9ccfd8" "white" ))
|
||||
(iris '("#c4a7e7" "#c4a7e7" "white" ))
|
||||
(highlightL '("#2a283e" "#2a283e" "white" ))
|
||||
(highlightM '("#44415a" "#44415a" "white" ))
|
||||
(highlightH '("#56526e" "#56526e" "white" ))
|
||||
|
||||
;; Variables required by doom theme
|
||||
;; These are required by doom theme and used in various places
|
||||
(bg base)
|
||||
(fg text)
|
||||
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
|
||||
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
|
||||
;; or region), especially when paired with the `doom-darken', `doom-lighten',
|
||||
;; and `doom-blend' helper functions.
|
||||
(bg-alt surface)
|
||||
(fg-alt text)
|
||||
;; These should represent a spectrum from bg to fg, where base0 is a starker
|
||||
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
|
||||
;; dark grey, base0 should be white and base8 should be black.
|
||||
(base0 base)
|
||||
(base1 surface)
|
||||
(base2 highlightL)
|
||||
(base3 overlay)
|
||||
(base4 highlightM)
|
||||
(base5 highlightH)
|
||||
(base6 muted)
|
||||
(base7 subtle)
|
||||
(base8 text)
|
||||
(grey muted)
|
||||
(red love)
|
||||
(orange gold)
|
||||
(green pine)
|
||||
(teal foam)
|
||||
(yellow rose)
|
||||
(pink rose)
|
||||
(blue pine)
|
||||
(dark-blue pine)
|
||||
(magenta iris)
|
||||
(violet iris)
|
||||
(cyan foam)
|
||||
(dark-cyan pine)
|
||||
;; Variables required by doom theme ends here
|
||||
|
||||
;; Required face categories for syntax highlighting
|
||||
(highlight subtle) ; cursor
|
||||
(selection base) ; can't figure out where this is used
|
||||
(region overlay) ; visual selection
|
||||
(vertical-bar surface) ; window split
|
||||
|
||||
(comments (if doom-rose-pine-moon-brighter-comments subtle muted))
|
||||
(doc-comments (if doom-rose-pine-moon-brighter-comments subtle muted))
|
||||
|
||||
(builtin pine)
|
||||
(constants iris)
|
||||
(functions pine)
|
||||
(keywords pine)
|
||||
(methods foam)
|
||||
(numbers rose)
|
||||
(operators gold)
|
||||
(strings gold)
|
||||
(type rose)
|
||||
(variables iris)
|
||||
|
||||
(error love)
|
||||
(success foam)
|
||||
(warning gold)
|
||||
|
||||
(vc-added foam)
|
||||
(vc-deleted love)
|
||||
(vc-modified gold)
|
||||
|
||||
;; Other categories
|
||||
;; Modeline
|
||||
(modeline-bg (if doom-rose-pine-moon-brighter-modeline overlay surface))
|
||||
(modeline-fg text)
|
||||
(modeline-bg-alt (if doom-rose-pine-moon-brighter-modeline muted overlay))
|
||||
(modeline-fg-alt text) ; should this be darker or lighter?
|
||||
(modeline-bg-inactive base)
|
||||
(modeline-fg-inactive subtle)
|
||||
(modeline-bg-inactive-alt base)
|
||||
(modeline-fg-inactive-alt subtle)
|
||||
(modeline-pad
|
||||
(when doom-rose-pine-moon-padded-modeline
|
||||
if (integerp doom-rose-pine-moon-padded-modeline) doom-rose-pine-padded-modeline 4)))
|
||||
|
||||
;; Base theme face overrides
|
||||
(
|
||||
;; Font
|
||||
((font-lock-comment-face &override)
|
||||
:slant 'italic
|
||||
:background (if doom-rose-pine-moon-brighter-comments (doom-blend teal base 0.07)))
|
||||
((font-lock-type-face &override) :slant 'italic)
|
||||
((font-lock-builtin-face &override) :slant 'italic)
|
||||
((font-lock-function-name-face &override) :foreground type)
|
||||
((font-lock-keyword-face &override) :weight 'bold)
|
||||
((font-lock-constant-face &override) :weight 'bold)
|
||||
|
||||
;; Highlight line
|
||||
(hl-line
|
||||
:background surface)
|
||||
|
||||
;; Line numbers
|
||||
((line-number &override) :foreground muted)
|
||||
((line-number-current-line &override) :foreground text)
|
||||
|
||||
;; Mode line
|
||||
(mode-line
|
||||
:background modeline-bg
|
||||
:foreground modeline-fg
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive
|
||||
:foreground modeline-fg-inactive
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if doom-rose-pine-moon-brighter-modeline text subtle))
|
||||
|
||||
;; Company
|
||||
(company-tooltip-selection :background blue :foreground muted)
|
||||
|
||||
;; CSS mode <built-in> / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground green)
|
||||
|
||||
;; Doom mode line
|
||||
(doom-modeline-bar :background green) ; The line to the left
|
||||
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
|
||||
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
|
||||
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
|
||||
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
|
||||
|
||||
;; Helm
|
||||
(helm-selection :foreground base :weight 'bold :background blue)
|
||||
|
||||
;; Ivy
|
||||
(ivy-current-match :background overlay :distant-foreground fg)
|
||||
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
|
||||
(ivy-posframe :background modeline-bg-alt)
|
||||
|
||||
;; Markdown mode
|
||||
(markdown-markup-face :foreground text)
|
||||
(markdown-header-face :inherit 'bold :foreground red)
|
||||
((markdown-code-face &override) :background surface)
|
||||
|
||||
;; org <built-in>
|
||||
(org-block :background (doom-blend yellow bg 0.04) :extend t)
|
||||
(org-block-background :background (doom-blend yellow bg 0.04))
|
||||
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-level-1 :foreground gold)
|
||||
(org-level-2 :foreground rose)
|
||||
(org-level-3 :foreground pine)
|
||||
(org-level-4 :foreground iris)
|
||||
(org-level-5 :foreground gold)
|
||||
(org-level-6 :foreground rose)
|
||||
(org-level-7 :foreground pine)
|
||||
(org-level-8 :foreground iris)
|
||||
|
||||
;; Solaire mode line
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
|
||||
|
||||
;; Widget
|
||||
(widget-field :foreground fg :background muted)
|
||||
(widget-single-line-field :foreground fg :background muted)
|
||||
|
||||
;; Swiper
|
||||
(swiper-line-face :background highlightM)
|
||||
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
|
||||
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
|
||||
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
|
||||
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
|
||||
|
||||
;;; doom-rose-pine-moon-theme.el ends here
|
||||
@@ -1,242 +0,0 @@
|
||||
;;; doom-rose-pine-theme.el --- A dark port of Rosé Pine theme -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;
|
||||
;; Author: mvllow
|
||||
;; Ported by: donniebreve
|
||||
;; Keywords: custom themes, faces
|
||||
;; Homepage: https://github.com/donniebreve/rose-pine-doom-emacs
|
||||
;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (doom-themes "2.2.1"))
|
||||
;;
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Thanks to mvllow (https://github.com/rose-pine)
|
||||
;; Thanks to hlissner (https://github.com/doomemacs/themes)
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(require 'doom-themes)
|
||||
|
||||
;;; Variables
|
||||
(defgroup doom-rose-pine-theme nil
|
||||
"Options for the `doom-rose-pine' theme."
|
||||
:group 'doom-themes)
|
||||
|
||||
(defcustom doom-rose-pine-brighter-modeline nil
|
||||
"If non-nil, more vivid colors will be used to style the mode-line."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-brighter-comments nil
|
||||
"If non-nil, comments will be highlighted in more vivid colors."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-brighter-text nil
|
||||
"If non-nil, default text will be brighter."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom doom-rose-pine-padded-modeline doom-themes-padded-modeline
|
||||
"If non-nil, adds a 4px padding to the mode-line. Can be an integer to determine the exact padding."
|
||||
:group 'doom-rose-pine-theme
|
||||
:type '(choice integer boolean))
|
||||
|
||||
;;; Theme definition
|
||||
(def-doom-theme doom-rose-pine
|
||||
"A dark port of Rosé Pine theme"
|
||||
|
||||
;; Main theme colors
|
||||
(
|
||||
;; name default 256 16
|
||||
(base '("#191724" "#191724" "black" ))
|
||||
(surface '("#1f1d2e" "#1f1d2e" "brightblack" ))
|
||||
(overlay '("#26233a" "#26233a" "brightblack" ))
|
||||
(muted '("#6e6a86" "#6e6a86" "brightblack" ))
|
||||
(subtle '("#908caa" "#908caa" "brightblack" ))
|
||||
(text '("#e0def4" "#e0def4" "brightblack" ))
|
||||
(love '("#eb6f92" "#eb6f92" "red" ))
|
||||
(gold '("#f6c177" "#f6c177" "white" ))
|
||||
(rose '("#ebbcba" "#ebbcba" "white" ))
|
||||
(pine '("#31748f" "#31748f" "white" ))
|
||||
(foam '("#9ccfd8" "#9ccfd8" "white" ))
|
||||
(iris '("#c4a7e7" "#c4a7e7" "white" ))
|
||||
(highlightL '("#21202e" "#21202e" "grey" ))
|
||||
(highlightM '("#403d52" "#403d52" "grey" ))
|
||||
(highlightH '("#524f67" "#524f67" "grey" ))
|
||||
|
||||
;; Variables required by doom theme
|
||||
;; These are required by doom theme and used in various places
|
||||
(bg base)
|
||||
(fg text)
|
||||
;; These are off-color variants of bg/fg, used primarily for `solaire-mode',
|
||||
;; but can also be useful as a basis for subtle highlights (e.g. for hl-line
|
||||
;; or region), especially when paired with the `doom-darken', `doom-lighten',
|
||||
;; and `doom-blend' helper functions.
|
||||
(bg-alt surface)
|
||||
(fg-alt text)
|
||||
;; These should represent a spectrum from bg to fg, where base0 is a starker
|
||||
;; bg and base8 is a starker fg. For example, if bg is light grey and fg is
|
||||
;; dark grey, base0 should be white and base8 should be black.
|
||||
(base0 base)
|
||||
(base1 surface)
|
||||
(base2 highlightL)
|
||||
(base3 overlay)
|
||||
(base4 highlightM)
|
||||
(base5 highlightH)
|
||||
(base6 muted)
|
||||
(base7 subtle)
|
||||
(base8 text)
|
||||
(grey muted)
|
||||
(red love)
|
||||
(orange gold)
|
||||
(green pine)
|
||||
(teal pine)
|
||||
(yellow rose)
|
||||
(blue pine)
|
||||
(dark-blue pine)
|
||||
(magenta iris)
|
||||
(violet iris)
|
||||
(cyan foam)
|
||||
(dark-cyan foam)
|
||||
;; Variables required by doom theme ends here
|
||||
|
||||
;; Required face categories for syntax highlighting
|
||||
(highlight subtle) ; cursor
|
||||
(selection base) ; can't figure out where this is used
|
||||
(region overlay) ; visual selection
|
||||
(vertical-bar surface) ; window split
|
||||
|
||||
(comments (if doom-rose-pine-brighter-comments subtle muted))
|
||||
(doc-comments (if doom-rose-pine-brighter-comments subtle muted))
|
||||
|
||||
(builtin pine)
|
||||
(constants iris)
|
||||
(functions pine)
|
||||
(keywords pine)
|
||||
(methods foam)
|
||||
(numbers rose)
|
||||
(operators gold)
|
||||
(strings gold)
|
||||
(type rose)
|
||||
(variables iris)
|
||||
|
||||
(error love)
|
||||
(success foam)
|
||||
(warning gold)
|
||||
|
||||
(vc-added foam)
|
||||
(vc-deleted love)
|
||||
(vc-modified gold)
|
||||
|
||||
;; Other categories
|
||||
;; Modeline
|
||||
(modeline-bg (if doom-rose-pine-brighter-modeline overlay surface))
|
||||
(modeline-fg text)
|
||||
(modeline-bg-alt (if doom-rose-pine-brighter-modeline muted overlay))
|
||||
(modeline-fg-alt text) ; should this be darker or lighter?
|
||||
(modeline-bg-inactive base)
|
||||
(modeline-fg-inactive subtle)
|
||||
(modeline-bg-inactive-alt base)
|
||||
(modeline-fg-inactive-alt subtle)
|
||||
(modeline-pad
|
||||
(when doom-rose-pine-padded-modeline
|
||||
if (integerp doom-rose-pine-padded-modeline) doom-rose-pine-padded-modeline 4)))
|
||||
|
||||
;; Base theme face overrides
|
||||
(
|
||||
;; Font
|
||||
((font-lock-comment-face &override)
|
||||
:slant 'italic
|
||||
:background (if doom-rose-pine-brighter-comments (doom-blend teal base 0.07)))
|
||||
((font-lock-type-face &override) :slant 'italic)
|
||||
((font-lock-builtin-face &override) :slant 'italic)
|
||||
((font-lock-function-name-face &override) :foreground type)
|
||||
((font-lock-keyword-face &override) :weight 'bold)
|
||||
((font-lock-constant-face &override) :weight 'bold)
|
||||
|
||||
;; Highlight line
|
||||
(hl-line
|
||||
:background surface)
|
||||
|
||||
;; Line numbers
|
||||
((line-number &override) :foreground muted)
|
||||
((line-number-current-line &override) :foreground text)
|
||||
|
||||
;; Mode line
|
||||
(mode-line
|
||||
:background modeline-bg
|
||||
:foreground modeline-fg
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg)))
|
||||
(mode-line-inactive
|
||||
:background modeline-bg-inactive
|
||||
:foreground modeline-fg-inactive
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive)))
|
||||
(mode-line-emphasis
|
||||
:foreground (if doom-rose-pine-brighter-modeline text subtle))
|
||||
|
||||
;; Company
|
||||
(company-tooltip-selection :background blue :foreground muted)
|
||||
|
||||
;; CSS mode <built-in> / scss-mode
|
||||
(css-proprietary-property :foreground orange)
|
||||
(css-property :foreground green)
|
||||
(css-selector :foreground green)
|
||||
|
||||
;; Doom mode line
|
||||
(doom-modeline-bar :background green) ; The line to the left
|
||||
(doom-modeline-evil-emacs-state :foreground magenta) ; The dot color when in emacs mode
|
||||
(doom-modeline-evil-normal-state :foreground green) ; The dot color when in normal mode
|
||||
(doom-modeline-evil-visual-state :foreground magenta) ; The dot color when in visual mode
|
||||
(doom-modeline-evil-insert-state :foreground orange) ; The dot color when in insert mode
|
||||
|
||||
;; Helm
|
||||
(helm-selection :foreground base :weight 'bold :background blue)
|
||||
|
||||
;; Ivy
|
||||
(ivy-current-match :background overlay :distant-foreground fg)
|
||||
(ivy-minibuffer-match-face-1 :foreground pine :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-2 :foreground iris :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-3 :foreground gold :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-face-4 :foreground rose :background nil :weight 'bold)
|
||||
(ivy-minibuffer-match-highlight :foreground magenta :weight 'bold)
|
||||
(ivy-posframe :background modeline-bg-alt)
|
||||
|
||||
;; Markdown mode
|
||||
(markdown-markup-face :foreground text)
|
||||
(markdown-header-face :inherit 'bold :foreground red)
|
||||
((markdown-code-face &override) :background surface)
|
||||
|
||||
;; org <built-in>
|
||||
(org-block :background (doom-blend yellow bg 0.04) :extend t)
|
||||
(org-block-background :background (doom-blend yellow bg 0.04))
|
||||
(org-block-begin-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-block-end-line :background (doom-blend yellow bg 0.08) :foreground comments :extend t)
|
||||
(org-level-1 :foreground gold)
|
||||
(org-level-2 :foreground rose)
|
||||
(org-level-3 :foreground pine)
|
||||
(org-level-4 :foreground iris)
|
||||
(org-level-5 :foreground gold)
|
||||
(org-level-6 :foreground rose)
|
||||
(org-level-7 :foreground pine)
|
||||
(org-level-8 :foreground iris)
|
||||
|
||||
;; Solaire mode line
|
||||
(solaire-mode-line-face
|
||||
:inherit 'mode-line
|
||||
:background modeline-bg-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-alt)))
|
||||
(solaire-mode-line-inactive-face
|
||||
:inherit 'mode-line-inactive
|
||||
:background modeline-bg-inactive-alt
|
||||
:box (if modeline-pad `(:line-width ,modeline-pad :color ,modeline-bg-inactive-alt)))
|
||||
|
||||
;; Widget
|
||||
(widget-field :foreground fg :background muted)
|
||||
(widget-single-line-field :foreground fg :background muted)
|
||||
|
||||
;; Swiper
|
||||
(swiper-match-face-1 :inherit 'ivy-minibuffer-match-face-1)
|
||||
(swiper-match-face-2 :inherit 'ivy-minibuffer-match-face-2)
|
||||
(swiper-match-face-3 :inherit 'ivy-minibuffer-match-face-3)
|
||||
(swiper-match-face-4 :inherit 'ivy-minibuffer-match-face-4)))
|
||||
|
||||
;;; doom-rose-pine-theme.el ends here
|
||||
@@ -15,189 +15,83 @@ plug "andreyorst/smarttab.kak" defer smarttab %{
|
||||
|
||||
plug "occivink/kakoune-sudo-write"
|
||||
|
||||
plug "jtrv/grep-write.kak"
|
||||
|
||||
plug "kak-lsp/kak-lsp" do %{
|
||||
cargo install --locked --force --path .
|
||||
}
|
||||
|
||||
plug "gustavo-hms/luar" %{
|
||||
plug "gustavo-hms/peneira" %{
|
||||
require-module peneira
|
||||
}
|
||||
plug "gustavo-hms/luar" config %{
|
||||
require-module luar
|
||||
}
|
||||
|
||||
plug "gustavo-hms/peneira" config %{
|
||||
require-module peneira
|
||||
set-option global luar_interpreter luajit
|
||||
set-option global peneira_files_command 'fd -t f -I'
|
||||
}
|
||||
|
||||
plug 'theowenyoung/kakoune-buffer-manager'
|
||||
|
||||
plug "h-youhei/kakoune-surround"
|
||||
|
||||
plug "your-tools/kak-subvert" do %{
|
||||
cargo install --locked --force --path .
|
||||
}
|
||||
|
||||
plug "https://git.sr.ht/~nasmevka/repl.kak"
|
||||
|
||||
plug "https://gitlab.com/kstr0k/mru-files.kak" demand mru-files %{ # %{} needed even if empty
|
||||
# suggested mappings: *after* plugin loads
|
||||
# think "go alt[ernate]-f[iles]"
|
||||
# map global goto <a-f> '<esc>: mru-files ' -docstring 'mru-files'
|
||||
# map global goto <a-F> '<esc>: mru-files-related<ret>' -docstring 'mru-files-related'
|
||||
}
|
||||
|
||||
plug "custom-filetypes" load-path "~/.config/kak/al"
|
||||
# # Color Themes
|
||||
plug "tinted-theming/base16-kakoune" theme
|
||||
plug "https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes" theme
|
||||
### End Of Plugins ###
|
||||
|
||||
set-option global luar_interpreter luajit
|
||||
|
||||
## Treesitter ##
|
||||
eval %sh{ kak-tree-sitter -dksvvv --with-highlighting --with-text-objects --init $kak_session }
|
||||
#eval %sh{ kak-tree-sitter -dks --with-text-objects --session $kak_session }
|
||||
#eval %sh{ kak-tree-sitter -dks --with-highlighting --session $kak_session }
|
||||
#eval %sh{ kak-tree-sitter -dksvvv --init $kak_session }
|
||||
#
|
||||
# evaluate-commands %sh{
|
||||
# echo "colorscheme base16-$BASE16_THEME"
|
||||
# }
|
||||
|
||||
## Popup ##
|
||||
evaluate-commands %sh{kak-popup init}
|
||||
|
||||
## Highlighting ##
|
||||
hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor}
|
||||
add-highlighter global/ show-matching
|
||||
add-highlighter global/ column 80 MenuBackground
|
||||
add-highlighter global/ show-whitespaces -spc " " -nbsp ""
|
||||
#add-highlighter global/ show-whitespaces -nbsp "" -lf "" -indent "|"
|
||||
add-highlighter global/ show-whitespaces -spc " " -nbsp "" -indent " "
|
||||
|
||||
## Wrapping ##
|
||||
|
||||
add-highlighter global/ wrap -word -indent
|
||||
|
||||
set-option global grepcmd 'ag'
|
||||
## Formatting ##
|
||||
# define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
|
||||
#
|
||||
#
|
||||
# hook global -group autofmt BufSetOption filetype=(zig) %{
|
||||
# set-option buffer formatcmd 'zig fmt --stdin'
|
||||
#
|
||||
# hook -group autofmt buffer BufOpenFile .* %{
|
||||
# format
|
||||
# }
|
||||
#
|
||||
# hook -group autofmt buffer BufWritePre .* %{
|
||||
# format
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# hook global -group autofmt BufSetOption filetype=(html) %{
|
||||
# set-option buffer formatcmd 'prettier --tab-width 4 --parser html'
|
||||
#
|
||||
# hook -group autofmt buffer BufOpenFile .* %{
|
||||
# format
|
||||
# }
|
||||
#
|
||||
# hook -group autofmt buffer BufWritePre .* %{
|
||||
# format
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# hook global -group autofmt BufSetOption filetype=(css) %{
|
||||
# set-option buffer formatcmd 'prettier --tab-width 4 --parser css'
|
||||
#
|
||||
# hook -group autofmt buffer BufOpenFile .* %{
|
||||
# format
|
||||
# }
|
||||
#
|
||||
# hook -group autofmt buffer BufWritePre .* %{
|
||||
# format
|
||||
# }
|
||||
# }
|
||||
define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
|
||||
|
||||
hook global -group autofmt BufSetOption filetype=(c|cpp) %{
|
||||
set-option buffer formatcmd 'clang-format'
|
||||
|
||||
hook -group autofmt buffer BufOpenFile .* %{
|
||||
format
|
||||
}
|
||||
|
||||
hook -group autofmt buffer BufWritePre .* %{
|
||||
format
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command disable-autofmt -docstring 'disable autoformatting of buffer' %{
|
||||
remove-hooks global autofmt
|
||||
}
|
||||
|
||||
enable-autofmt
|
||||
## Indentation ##
|
||||
set global tabstop 4
|
||||
set global indentwidth 4
|
||||
hook global WinSetOption filetype=.* expandtab
|
||||
hook global WinSetOption filetype=(makefile|gas) noexpandtab
|
||||
hook global BufCreate .* %{
|
||||
editorconfig-load
|
||||
autoconfigtab
|
||||
}
|
||||
|
||||
define-command set-spell -docstring 'Enable spellcheck' %{
|
||||
# hook -group spellcheck global BufOpenFile .* %{
|
||||
hook -group spellcheck buffer InsertChar .* %{
|
||||
evaluate-commands %{
|
||||
spell
|
||||
}
|
||||
}
|
||||
|
||||
hook -group spellcheck buffer InsertDelete .* %{
|
||||
evaluate-commands %{
|
||||
spell
|
||||
}
|
||||
}
|
||||
# }
|
||||
}
|
||||
|
||||
define-command set-nospell -docstring 'Disable spellcheck' %{
|
||||
remove-hooks buffer spellcheck
|
||||
}
|
||||
|
||||
define-command sleuth -docstring 'Heuristically set buffer options' %{
|
||||
try %{
|
||||
evaluate-commands -draft %{
|
||||
# Search the first indent level
|
||||
execute-keys 'gg' '/' '^\h+' '<ret>'
|
||||
|
||||
# Tab vs. Space
|
||||
# https://youtu.be/V7PLxL8jIl8
|
||||
try %{
|
||||
execute-keys '<a-k>' '\t' '<ret>'
|
||||
#set-option buffer indentwidth 0
|
||||
noexpandtab
|
||||
} catch %{
|
||||
set-option buffer indentwidth %val{selection_length}
|
||||
expandtab
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command git-status -docstring 'Show git diff' %{
|
||||
hook -group git-status global BufOpenFile .* %{
|
||||
git show-diff
|
||||
}
|
||||
|
||||
hook -group git-status global BufWritePost .* %{
|
||||
git show-diff
|
||||
}
|
||||
}
|
||||
|
||||
define-command disable-git-status -docstring 'Disable git diff gutter' %{
|
||||
remove-hooks global git-status
|
||||
}
|
||||
|
||||
define-command sleuth-enable -docstring 'Enable sleuth' %{
|
||||
# Run sleuth when opening and saving files.
|
||||
hook -group sleuth global BufOpenFile .* %{
|
||||
sleuth
|
||||
}
|
||||
|
||||
hook -group sleuth global BufWritePost .* %{
|
||||
sleuth
|
||||
}
|
||||
}
|
||||
|
||||
define-command sleuth-disable -docstring 'Disable sleuth' %{
|
||||
remove-hooks global sleuth
|
||||
}
|
||||
|
||||
## LSP ##
|
||||
set-option global autocomplete 'prompt'
|
||||
lsp-enable
|
||||
lsp-inlay-diagnostics-enable global
|
||||
set-option global lsp_auto_highlight_references true
|
||||
set-option global lsp_hover_anchor true
|
||||
# lsp-inlay-diagnostics-enable global
|
||||
# set-option global lsp_auto_highlight_references true
|
||||
# set-option global lsp_hover_anchor true
|
||||
lsp-auto-signature-help-enable
|
||||
lsp-inlay-hints-enable global
|
||||
# lsp-inlay-hints-enable global
|
||||
|
||||
map global user k ':lsp-hover<ret>'
|
||||
|
||||
@@ -244,213 +138,190 @@ hook -group lsp-filetype-typst global BufSetOption filetype=typst %{
|
||||
# previewFeature = "disable"
|
||||
}
|
||||
}
|
||||
|
||||
set-option global lsp_config %{
|
||||
}
|
||||
|
||||
define-command fzf-buffer -docstring 'Invoke fzf to select a buffer' %{
|
||||
define-command -docstring 'git log' git-log %{
|
||||
evaluate-commands %sh{
|
||||
tmux split-window -l 20% "(printf \"%s\n\" $kak_quoted_buflist | fzf --bind 'focus:execute-silent(echo \"eval -client $kak_client %{ e {} }\" | kak -p $kak_session)' || echo \"$kak_buffile\") | xargs -I{} echo \"eval -client $kak_client %{ e '{}' }\" | /usr/bin/kak -p $kak_session"
|
||||
output=$(mktemp -d "${TMPDIR:-/tmp}"/kak-git.XXXXXXXX)/fifo
|
||||
mkfifo ${output}
|
||||
( trap - INT QUIT; git log > ${output} 2>&1 & ) > /dev/null 2>&1 < /dev/null
|
||||
|
||||
printf %s "evaluate-commands -try-client '$kak_opt_docsclient' '
|
||||
edit! -fifo ${output} *git*
|
||||
set-option buffer filetype git-log
|
||||
$(hide_blame)
|
||||
set-option buffer git_blob %{}
|
||||
hook -always -once buffer BufCloseFifo .* ''
|
||||
nop %sh{ rm -r $(dirname ${output}) }
|
||||
''
|
||||
'"
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'Invoke fzf to select a buffer' prev-fzf-buff %{
|
||||
evaluate-commands %sh{
|
||||
BUFFER=$(
|
||||
(
|
||||
eval "set -- $kak_buflist"
|
||||
while [ $# -gt 0 ]; do
|
||||
printf "%s\0" "$1"
|
||||
shift
|
||||
done
|
||||
) |
|
||||
fzf-tmux --cycle -p 80%,90% --read0 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null'
|
||||
)
|
||||
if [ -n "$BUFFER" ]; then
|
||||
printf "buffer %s" "${BUFFER}"
|
||||
fi
|
||||
}
|
||||
define-command -docstring 'fd find files' -params 1 fd %{
|
||||
edit %arg{1}
|
||||
}
|
||||
|
||||
define-command -docstring 'live grep' live-grep %{
|
||||
evaluate-commands %sh{
|
||||
complete-command -menu fd shell-script-candidates 'fd -I -t f .'
|
||||
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rfv.sh)"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
declare-option -hidden str last_command
|
||||
|
||||
define-command -docstring 'compile a la emacs' compile %{
|
||||
prompt -init "%opt{last_command}" -shell-completion "Command: " compile_text
|
||||
}
|
||||
|
||||
define-command -docstring 'exact grep' exact-grep %{
|
||||
evaluate-commands %sh{
|
||||
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rfve.sh)"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'search contents of current file' file-search %{
|
||||
evaluate-commands -save-regs '"' %{
|
||||
set-register dquote %sh{ mktemp }
|
||||
execute-keys -draft '%<a-|> cat > $kak_reg_dquote<ret>'
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rfs.sh ${kak_reg_dquote} ${kak_buffile})"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
define-command -docstring 'compile_text' compile_text -hidden %{
|
||||
evaluate-commands %{
|
||||
evaluate-commands -try-client %opt{toolsclient} %{
|
||||
fifo -scroll -name *compile-mode* -script %{
|
||||
trap - INT QUIT
|
||||
printf "*compilation started at $(date)*\n"
|
||||
eval "$kak_quoted_text"
|
||||
exit_code=$?
|
||||
if [ $exit_code == 0 ]; then
|
||||
printf "*compilation finished at $(date)*\n"
|
||||
else
|
||||
printf "*compilation exited abnormally at $(date) with exit code $exit_code*\n"
|
||||
fi
|
||||
rm $kak_reg_dquote
|
||||
fi
|
||||
} -- %arg{@}
|
||||
set-option buffer filetype cmd
|
||||
set-option buffer jump_current_line 0
|
||||
set-option global last_command %val{text}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'search contents of current file with regex' regex-file-search %{
|
||||
evaluate-commands -save-regs '"' %{
|
||||
set-register dquote %sh{ mktemp }
|
||||
execute-keys -draft '%<a-|> cat > $kak_reg_dquote<ret>'
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rgrs.sh ${kak_reg_dquote} ${kak_buffile})"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
rm $kak_reg_dquote
|
||||
fi
|
||||
define-command -docstring 'compile_run' compile_run -params .. -hidden %{
|
||||
evaluate-commands -save-regs ab %{
|
||||
set-register a %arg{@}
|
||||
set-register b %sh{ printf "*%s*" "$1" }
|
||||
evaluate-commands -try-client %opt{toolsclient} %{
|
||||
fifo -name %reg{b} -script %{
|
||||
trap - INT QUIT
|
||||
eval "$kak_quoted_reg_a"
|
||||
} -- %arg{@}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'Invoke fzf to open a file' -params 0 fzf-edit %{
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(fd -t f . |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
define-command -hidden cmd-jmp %{
|
||||
evaluate-commands -save-regs a %{
|
||||
try %{
|
||||
execute-keys -draft 'ght<ret>"ay'
|
||||
evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a}
|
||||
try %{ focus %opt{jumpclient} }
|
||||
} catch %{
|
||||
jump
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'Invoke fzf to open a file local to the current file' -params 0 fzf-edit-local %{
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
dir="$(get_local_path ${kak_buffile})"
|
||||
if [ -n "$dir" ]; then
|
||||
file="$(fd -u -t f . $dir |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')"
|
||||
fi
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
hook -group cmd-highlight global WinSetOption filetype=cmd %{
|
||||
add-highlighter window/cmd group
|
||||
add-highlighter window/cmd/path regex "^([^:\n\*]+[^/:])$" 1:cyan
|
||||
add-highlighter window/cmd/num-path regex "^([^:\n\*]+):(\d+):(\d+)?" 1:cyan 2:green 3:green
|
||||
add-highlighter window/cmd/error regex "^([^:\n\*]+):(\d+):(?:(\d+):)?\h+(?:((?:fatal )?error)|(warning)|(note)|(required from(?: here)?))?.*?$" 1:cyan 2:green 3:green 4:red 5:yellow 6:blue 7:yellow
|
||||
add-highlighter window/cmd/extra regex "^\h*(~*(?:(\^)~*)?)$" 1:green 2:cyan+b
|
||||
add-highlighter window/cmd/info-error regex "(\*compilation exited abnormally at .+ with exit code )([0-9]+)(\*)" 1:default+b 2:red+b 3:default+b
|
||||
add-highlighter window/cmd/info regex "^(\*[^\n]+\*)$" 1:default+b
|
||||
add-highlighter window/cmd/ line %{%opt{jump_current_line}} default+b
|
||||
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/cmd}
|
||||
}
|
||||
|
||||
hook global WinSetOption filetype=cmd %{
|
||||
hook buffer -group cmd-hooks NormalKey <ret> cmd-jmp
|
||||
hook -once -always window WinSetOption filetype=.* %{ remove-hooks buffer cmd-hooks }
|
||||
}
|
||||
|
||||
declare-option str curpath_dirls %sh{pwd}
|
||||
|
||||
define-command dirls -params 1 %{
|
||||
set-option global curpath_dirls "%opt{curpath_dirls}/%arg{1}"
|
||||
compile_run ls -lh %opt{curpath_dirls}
|
||||
set-option buffer filetype dirls
|
||||
}
|
||||
|
||||
complete-command dirls file 0
|
||||
|
||||
define-command -hidden dirls-jmp %{
|
||||
evaluate-commands -save-regs ab %{
|
||||
try %{
|
||||
execute-keys 'gl<a-t> "ay'
|
||||
evaluate-commands -try-client %opt{jumpclient} -verbatim -- edit -existing -- %reg{a}
|
||||
try %{ focus %opt{jumpclient} }
|
||||
} catch %{
|
||||
execute-keys 'gl<a-t> "ay'
|
||||
dirls %reg{a}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
define-command -docstring 'Pick project' -params 0 switch-project %{
|
||||
evaluate-commands %sh{
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
proj="$(cat ~/.scripts/projects | TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 80%,90% | cut -d' ' -f1)"
|
||||
if [ -n "$proj" ]; then
|
||||
printf "cd %s\n" "$proj"
|
||||
printf 'fzf-edit\n'
|
||||
fi
|
||||
fi
|
||||
}
|
||||
define-command -hidden dirls-jmp-up %{
|
||||
dirls ".."
|
||||
}
|
||||
|
||||
define-command -docstring 'Project wide search' project-search %{
|
||||
evaluate-commands %sh{
|
||||
hook -group dirls-highlight global WinSetOption filetype=dirls %{
|
||||
add-highlighter window/dirls group
|
||||
add-highlighter window/dirls/file regex "^(-[^\n]+)$" 1:cyan
|
||||
add-highlighter window/dirls/folder regex "^(d[^\n]+)$" 1:blue
|
||||
add-highlighter window/dirls/ line %{%opt{jump_current_line}} default+b
|
||||
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/dirls}
|
||||
}
|
||||
|
||||
if [ -z "${kak_client_env_TMUX}" ]; then
|
||||
printf 'fail "client was not started under tmux"\n'
|
||||
else
|
||||
file="$(rgfs.sh)"
|
||||
if [ -n "$file" ]; then
|
||||
printf "edit %s\n" "$file"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
hook global WinSetOption filetype=dirls %{
|
||||
hook buffer -group dirls-hooks NormalKey <ret> dirls-jmp
|
||||
hook buffer -group dirls-hooks NormalKey <minus> dirls-jmp-up
|
||||
}
|
||||
|
||||
define-command -docstring 'Print Working Directory' -params 0 pwd %{
|
||||
evaluate-commands echo %sh{ echo "$(pwd)"}
|
||||
}
|
||||
|
||||
# define-command -docstring 'copy to clipboard' xcopy %{
|
||||
# execute-keys '<a-|>xclip -selection clipboard -i<ret>'
|
||||
# }
|
||||
|
||||
# define-command -docstring 'paste from clipboard' xpaste %{
|
||||
# evaluate-commands -save-regs '"' %{
|
||||
# set-register dquote %sh{ xclip -selection clipboard -o }
|
||||
# execute-keys 'p'
|
||||
# }
|
||||
# }
|
||||
|
||||
define-command -docstring 'copy to clipboard' xcopy %{
|
||||
execute-keys '<a-|>wl-copy<ret>'
|
||||
execute-keys '<a-|>xclip -selection clipboard -i<ret>'
|
||||
}
|
||||
|
||||
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 '<tab>' '<c-i>'
|
||||
declare-user-mode config
|
||||
map -docstring 'enter config mode' global user e ':enter-user-mode config<ret>'
|
||||
map -docstring 'edit kakoune config' global config k ':e ~/.config/kak/kakrc<ret>'
|
||||
map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf<ret>'
|
||||
map -docstring 'edit bash config' global config b ':e ~/.bashrc<ret>'
|
||||
map -docstring 'edit scripts folder' global config s ':cd ~/.scripts<ret>:fzf-edit<ret>'
|
||||
map -docstring 'edit .config folder' global config c ':cd ~/.config<ret>:fzf-edit<ret>'
|
||||
|
||||
declare-user-mode buffer
|
||||
map -docstring 'enter buffer mode' global user b ':enter-user-mode buffer<ret>'
|
||||
map -docstring 'next buffer' global buffer n ':buffer-next<ret>'
|
||||
map -docstring 'previous buffer' global buffer p ':buffer-previous<ret>'
|
||||
map -docstring 'close current buffer' global buffer d ':delete-buffer!<ret>'
|
||||
map -docstring 'write and close current buffer' global buffer w ':w<ret>:db<ret>'
|
||||
map -docstring 'list and select a buffer' global buffer b ':fzf-buffer<ret>'
|
||||
map -docstring 'open buf manager' global user b ':buffer-manager<ret>'
|
||||
map -docstring 'compile mode' global user c ':compile<ret>'
|
||||
map -docstring 'next error' global user ] ':jump-next *compile-mode*<ret>'
|
||||
map -docstring 'previous error' global user [ ':jump-previous *compile-mode*<ret>'
|
||||
|
||||
declare-user-mode find
|
||||
map -docstring 'enter find mode' global user f ':enter-user-mode find<ret>'
|
||||
map -docstring 'find files' global find f ':fzf-edit<ret>'
|
||||
map -docstring 'find tags for the current project' global find t ':ctags-search '
|
||||
map -docstring 'find line in current file' global find l ':file-search<ret>'
|
||||
map -docstring 'find line in current file with regex' global find L ':regex-file-search<ret>'
|
||||
map -docstring 'find files in current directory' global find F ':fzf-edit-local<ret>'
|
||||
map -docstring "grep file contents recursively" global find g ':live-grep<ret>'
|
||||
map -docstring "grep exact file contents recursively" global find e ':exact-grep<ret>'
|
||||
map -docstring 'project wide search' global find p ':project-search<ret>'
|
||||
map -docstring 'clipboard paste' global user p ':xpaste<ret>'
|
||||
map -docstring 'clipboard yank' global user y ':xcopy<ret>'
|
||||
|
||||
map -docstring 'find tags for the current project' global user t ':ctags-search '
|
||||
|
||||
map -docstring 'find files' global user f ':peneira-files<ret>'
|
||||
map -docstring 'find files in particular dir' global user F ':peneira-dir-files<ret>'
|
||||
|
||||
map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp<ret>'
|
||||
map -docstring 'goto definition (tag)' global lsp t '<a-i>w:ctags-search<ret>'
|
||||
|
||||
map -docstring 'enter treesitter mode' global user t ':enter-user-mode tree-sitter<ret>'
|
||||
map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search<ret>'
|
||||
|
||||
declare-user-mode tmux
|
||||
map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux<ret>'
|
||||
map -docstring 'vertical split' global tmux v ':tmux-terminal-horizontal kak -c %val{session}<ret>'
|
||||
@@ -459,35 +330,9 @@ map -docstring 'new tab' global tmux t ':tmux-terminal-window kak -c %val{sessio
|
||||
map -docstring 'vertical terminal split' global tmux V ':tmux-repl-horizontal bash<ret>'
|
||||
map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical bash<ret>'
|
||||
map -docstring 'new terminal tab' global tmux T ':tmux-repl-window<ret>'
|
||||
map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit<ret>'
|
||||
|
||||
declare-user-mode project
|
||||
map -docstring 'enter project mode' global user p ':enter-user-mode project<ret>'
|
||||
map -docstring 'open project' global project o ':switch-project<ret>'
|
||||
|
||||
map -docstring 'enter man mode' global user m ':enter-user-mode man<ret>'
|
||||
|
||||
declare-user-mode general
|
||||
map -docstring 'enter general keybinds mode' global user g ':enter-user-mode general<ret>'
|
||||
#map -docstring 'clipboard yank' global user y '<a-|>clip.exe<ret>'
|
||||
map -docstring 'clipboard yank' global general y ':xcopy<ret>'
|
||||
#map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"<ret>'
|
||||
map -docstring 'clipboard paste' global general p ':xpaste<ret>'
|
||||
map -docstring 'quit kakoune' global general q ':q<ret>'
|
||||
map -docstring 'toggle comments' global general c ':comment-line<ret>'
|
||||
|
||||
declare-user-mode spell
|
||||
map -docstring 'enter spell mode' global general s ':enter-user-mode spell<ret>'
|
||||
map -docstring 'enable spell check' global spell s ':spell<ret>'
|
||||
map -docstring 'clear spell check' global spell c ':spell-clear<ret>'
|
||||
map -docstring 'next spell check' global spell n ':spell-next<ret>'
|
||||
map -docstring 'spell check replacements' global spell r ':spell-replace<ret>'
|
||||
|
||||
map -docstring 'quit kakoune' global user q ':q!<ret>'
|
||||
try %{
|
||||
colorscheme %sh{
|
||||
ruby -e "time = Time.new; if time.hour < 20 and time.hour > 6 then puts 'dawnfox' else puts 'carbonfox' end"
|
||||
}
|
||||
} catch %{
|
||||
colorscheme carbonfox
|
||||
}
|
||||
colorscheme dawnfox
|
||||
|
||||
2
config/.config/nvim/compiler/dex_lxb.vim
Normal file
2
config/.config/nvim/compiler/dex_lxb.vim
Normal file
@@ -0,0 +1,2 @@
|
||||
CompilerSet errorformat&
|
||||
CompilerSet makeprg=cd\ /home/E40127478/projects/dex/dex_lxb/\ &&\ ./build_all.sh\ $*
|
||||
@@ -1,67 +1,63 @@
|
||||
{
|
||||
"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": "edefef779ab08ce1a4a404713e3012b0d202bd35" },
|
||||
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
|
||||
"command.nvim": { "branch": "main", "commit": "cf73df4f9afc123b1fc3a8674d3fae08d2ad67db" },
|
||||
"command.nvim": { "branch": "main", "commit": "e5736fea4bdab1f86b17bcd71b873517bb145e1b" },
|
||||
"compiler-explorer.nvim": { "branch": "master", "commit": "523c6a7a3d8c034b421a71eb20b0da75b0b16f62" },
|
||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||
"dim.lua": { "branch": "main", "commit": "a3a0dce75f7212ab61130e77a8157530bd23db15" },
|
||||
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
|
||||
"dropbar.nvim": { "branch": "master", "commit": "ce202248134e3949aac375fd66c28e5207785b10" },
|
||||
"everblush": { "branch": "main", "commit": "678f808d81801b983b6fb8296fb17ba1b2785d7c" },
|
||||
"everforest": { "branch": "master", "commit": "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": "851a051e2bd2caba97e23314c68d69f1b1cf5d19" },
|
||||
"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": "277e04fad21e3af05a55cc414757b09a704f2a92" },
|
||||
"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": "190bb227c9d3eb4451b81fa16ea3d2efde2d67c5" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "b3298993d55fa194279b5eb9dbfb3a43da65cadf" },
|
||||
"mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
|
||||
"melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" },
|
||||
"mellow.nvim": { "branch": "main", "commit": "6273b7f0ddf6ac2b75021b3bc0bd8b3305cfeef1" },
|
||||
"mini.nvim": { "branch": "main", "commit": "3923662bf3d6ca49a9503f8d7196ea0450983e6a" },
|
||||
"monochrome.nvim": { "branch": "main", "commit": "2de78d9688ea4a177bcd9be554ab9192337d35ff" },
|
||||
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
|
||||
"monokai.nvim": { "branch": "master", "commit": "fca3943173f6026347f9ffc68baab39454446c3b" },
|
||||
"moonlight.nvim": { "branch": "pure-lua", "commit": "e24e4218ec680b6396532808abf57ca0ada82e66" },
|
||||
"moonscript-vim": { "branch": "master", "commit": "715c96c7c3b02adc507f84bf5754985460afc426" },
|
||||
"multicursor.nvim": { "branch": "1.0", "commit": "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": "70708be9664b7fcdd010eb07bdc3ebc9311c2027" },
|
||||
"neorg": { "branch": "main", "commit": "a09e0bb9b32e2d0406d4503ae8c1a7ad2ca83eae" },
|
||||
"nightfox.nvim": { "branch": "main", "commit": "4dacd3f0185a2227bdf3b6c0975a8f0bf87cac9a" },
|
||||
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
|
||||
"nvim-highlight-colors": { "branch": "main", "commit": "e2cb22089cc2358b2b995c09578224f142de6039" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "5492a24edd68f78d8a778edcb8905d0a28993abc" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nui.nvim": { "branch": "main", "commit": "10fc361835c856ba4233ef5ea135b919bf3dce97" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "430522f95fe4fb7c511ec64f8c1a90cc6a66c05c" },
|
||||
"nvim-highlight-colors": { "branch": "main", "commit": "e4c7af0211866162d999ce0bdd6a029302e19139" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "db68de3575fff9dd9bb78b34c8371759ed35fe34" },
|
||||
"nvim-nio": { "branch": "master", "commit": "edcc181a875301dd21840189aa2f2f9ad69fc172" },
|
||||
"nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" },
|
||||
"nvim-treesitter": { "branch": "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": "0ba3703f0ac706af97c80d426fc88fed4d1e5e8f" },
|
||||
"nvim-treesitter-textobjects": { "branch": "main", "commit": "5c7b0263797dfd1bd6202f2b219f3b53a80b2187" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "d7220b55e16ed3c04e88086256def5d282429493" },
|
||||
"nvim-unception": { "branch": "main", "commit": "f14eeb22238d2c2bdafe9a2e5e1f4bd200d0e450" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "58447c1fca354bbf184425e4a8d01deecbd6f3c4" },
|
||||
"oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" },
|
||||
"oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" },
|
||||
"oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" },
|
||||
"one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" },
|
||||
"onedark.nvim": { "branch": "master", "commit": "213c23ae45a04797572242568d5d51937181792d" },
|
||||
"pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" },
|
||||
"plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"range-highlight.nvim": { "branch": "master", "commit": "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" },
|
||||
"v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" },
|
||||
|
||||
@@ -12,6 +12,7 @@ setnx('<leader>b', Snacks.picker.buffers, 'List buffers')
|
||||
setnx('<leader>h', Snacks.picker.help, 'Search help')
|
||||
setnx('<leader>P', '<CMD>Markview splitToggle<CR>', 'Open markview preview')
|
||||
setnx('<leader>z', Snacks.zen.zen, 'Toggle snacks zen mode')
|
||||
setnx('<leader>d', '<CMD>AnyJump<CR>', 'AnyJump jump to definition')
|
||||
|
||||
local setto = function(key, command, desc)
|
||||
set({ 'x', 'o' }, key, command, { desc = desc })
|
||||
|
||||
@@ -64,6 +64,8 @@ vim.g.netrw_keepdir = 0
|
||||
vim.g.netrw_preview = 1
|
||||
vim.g.netrw_alto = 0
|
||||
|
||||
vim.opt.exrc = true
|
||||
|
||||
vim.ui.select = Snacks.picker.select
|
||||
|
||||
-- vim.cmd('colorscheme carbonfox')
|
||||
|
||||
@@ -151,11 +151,11 @@ return {
|
||||
-- refer to the configuration section below
|
||||
set_dark_mode = function()
|
||||
vim.api.nvim_set_option_value("background", "dark", {})
|
||||
vim.cmd('colorscheme carbonfox')
|
||||
vim.cmd('colorscheme rose-pine-main')
|
||||
end,
|
||||
set_light_mode = function()
|
||||
vim.api.nvim_set_option_value("background", "light", {})
|
||||
vim.cmd('colorscheme dawnfox')
|
||||
vim.cmd('colorscheme rose-pine-dawn')
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -34,22 +34,22 @@ return {
|
||||
ft = 'puml',
|
||||
},
|
||||
|
||||
{
|
||||
"S1M0N38/love2d.nvim",
|
||||
-- event = "VeryLazy",
|
||||
ft = 'lua',
|
||||
version = "2.*",
|
||||
opts = { },
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-neorg/neorg",
|
||||
-- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
|
||||
ft = 'norg',
|
||||
version = "*", -- Pin Neorg to the latest stable release
|
||||
config = true,
|
||||
},
|
||||
|
||||
-- {
|
||||
-- "S1M0N38/love2d.nvim",
|
||||
-- -- event = "VeryLazy",
|
||||
-- ft = 'lua',
|
||||
-- version = "2.*",
|
||||
-- opts = { },
|
||||
-- },
|
||||
--
|
||||
-- {
|
||||
-- "nvim-neorg/neorg",
|
||||
-- -- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
|
||||
-- ft = 'norg',
|
||||
-- version = "*", -- Pin Neorg to the latest stable release
|
||||
-- config = true,
|
||||
-- },
|
||||
--
|
||||
-- {
|
||||
-- "Olical/conjure"
|
||||
-- },
|
||||
|
||||
@@ -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"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
|
||||
set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
|
||||
set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
|
||||
set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
|
||||
set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" })
|
||||
set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" })
|
||||
|
||||
-- Add or skip adding a new cursor by matching word/selection
|
||||
set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" })
|
||||
set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" })
|
||||
set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" })
|
||||
set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" })
|
||||
|
||||
set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" })
|
||||
set("n", "<localleader>s", function()
|
||||
vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end)
|
||||
end, { desc = "Add cursors to regex match inside text object " })
|
||||
set("n", "<localleader>*", function()
|
||||
mc.operator({pattern = vim.fn.expand("<cword>")})
|
||||
end, { desc = "Add cursors to current word inside text object" })
|
||||
set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" })
|
||||
|
||||
-- Add cursor at next argument treesitter
|
||||
set({'n', 'x'}, ']A', function()
|
||||
if vim.v.count < 1 then
|
||||
mc.addCursor(']p')
|
||||
else
|
||||
for _=1, vim.v.count - 1 do
|
||||
mc.addCursor(']p')
|
||||
end
|
||||
end
|
||||
end, { desc = 'Create multicursor on next argument'})
|
||||
set({'n', 'x'}, '[A', function()
|
||||
if vim.v.count < 1 then
|
||||
mc.addCursor('[p')
|
||||
else
|
||||
for _=1, vim.v.count - 1 do
|
||||
mc.addCursor('[p')
|
||||
end
|
||||
end
|
||||
end, { desc = 'Create multicursor on previous argument'})
|
||||
|
||||
-- Add and remove cursors with control + left click.
|
||||
set("n", "<c-leftmouse>", mc.handleMouse)
|
||||
set("n", "<c-leftdrag>", mc.handleMouseDrag)
|
||||
set("n", "<c-leftrelease>", mc.handleMouseRelease)
|
||||
|
||||
-- Disable and enable cursors.
|
||||
set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" })
|
||||
|
||||
-- Mappings defined in a keymap layer only apply when there are
|
||||
-- multiple cursors. This lets you have overlapping mappings.
|
||||
mc.addKeymapLayer(function(layerSet)
|
||||
|
||||
-- Select a different cursor as the main one.
|
||||
layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" })
|
||||
layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" })
|
||||
layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" })
|
||||
layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" })
|
||||
|
||||
-- Delete the main cursor.
|
||||
layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
|
||||
|
||||
-- Enable and clear cursors using escape.
|
||||
layerSet("n", "<esc>", function()
|
||||
if not mc.cursorsEnabled() then
|
||||
mc.enableCursors()
|
||||
else
|
||||
mc.clearCursors()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
-- Customize how cursors look.
|
||||
local hl = vim.api.nvim_set_hl
|
||||
hl(0, "MultiCursorCursor", { reverse = true })
|
||||
hl(0, "MultiCursorVisual", { link = "Visual" })
|
||||
hl(0, "MultiCursorSign", { link = "SignColumn"})
|
||||
hl(0, "MultiCursorMatchPreview", { link = "Search" })
|
||||
hl(0, "MultiCursorDisabledCursor", { reverse = true })
|
||||
hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
|
||||
hl(0, "MultiCursorDisabledSign", { link = "SignColumn"})
|
||||
end
|
||||
},
|
||||
-- {
|
||||
-- "jake-stewart/multicursor.nvim",
|
||||
-- branch = "1.0",
|
||||
-- config = function()
|
||||
-- local mc = require("multicursor-nvim")
|
||||
-- mc.setup()
|
||||
--
|
||||
-- local set = vim.keymap.set
|
||||
--
|
||||
-- -- Add or skip cursor above/below the main cursor.
|
||||
-- set({"n", "x"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
|
||||
-- set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
|
||||
-- set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
|
||||
-- set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
|
||||
-- set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" })
|
||||
-- set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" })
|
||||
--
|
||||
-- -- Add or skip adding a new cursor by matching word/selection
|
||||
-- set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" })
|
||||
-- set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" })
|
||||
-- set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" })
|
||||
-- set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" })
|
||||
--
|
||||
-- set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" })
|
||||
-- set("n", "<localleader>s", function()
|
||||
-- vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end)
|
||||
-- end, { desc = "Add cursors to regex match inside text object " })
|
||||
-- set("n", "<localleader>*", function()
|
||||
-- mc.operator({pattern = vim.fn.expand("<cword>")})
|
||||
-- end, { desc = "Add cursors to current word inside text object" })
|
||||
-- set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" })
|
||||
--
|
||||
-- -- Add cursor at next argument treesitter
|
||||
-- set({'n', 'x'}, ']A', function()
|
||||
-- if vim.v.count < 1 then
|
||||
-- mc.addCursor(']p')
|
||||
-- else
|
||||
-- for _=1, vim.v.count - 1 do
|
||||
-- mc.addCursor(']p')
|
||||
-- end
|
||||
-- end
|
||||
-- end, { desc = 'Create multicursor on next argument'})
|
||||
-- set({'n', 'x'}, '[A', function()
|
||||
-- if vim.v.count < 1 then
|
||||
-- mc.addCursor('[p')
|
||||
-- else
|
||||
-- for _=1, vim.v.count - 1 do
|
||||
-- mc.addCursor('[p')
|
||||
-- end
|
||||
-- end
|
||||
-- end, { desc = 'Create multicursor on previous argument'})
|
||||
--
|
||||
-- -- Add and remove cursors with control + left click.
|
||||
-- set("n", "<c-leftmouse>", mc.handleMouse)
|
||||
-- set("n", "<c-leftdrag>", mc.handleMouseDrag)
|
||||
-- set("n", "<c-leftrelease>", mc.handleMouseRelease)
|
||||
--
|
||||
-- -- Disable and enable cursors.
|
||||
-- set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" })
|
||||
--
|
||||
-- -- Mappings defined in a keymap layer only apply when there are
|
||||
-- -- multiple cursors. This lets you have overlapping mappings.
|
||||
-- mc.addKeymapLayer(function(layerSet)
|
||||
--
|
||||
-- -- Select a different cursor as the main one.
|
||||
-- layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" })
|
||||
-- layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" })
|
||||
-- layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" })
|
||||
-- layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" })
|
||||
--
|
||||
-- -- Delete the main cursor.
|
||||
-- layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
|
||||
--
|
||||
-- -- Enable and clear cursors using escape.
|
||||
-- layerSet("n", "<esc>", function()
|
||||
-- if not mc.cursorsEnabled() then
|
||||
-- mc.enableCursors()
|
||||
-- else
|
||||
-- mc.clearCursors()
|
||||
-- end
|
||||
-- end)
|
||||
-- end)
|
||||
--
|
||||
-- -- Customize how cursors look.
|
||||
-- local hl = vim.api.nvim_set_hl
|
||||
-- hl(0, "MultiCursorCursor", { reverse = true })
|
||||
-- hl(0, "MultiCursorVisual", { link = "Visual" })
|
||||
-- hl(0, "MultiCursorSign", { link = "SignColumn"})
|
||||
-- hl(0, "MultiCursorMatchPreview", { link = "Search" })
|
||||
-- hl(0, "MultiCursorDisabledCursor", { reverse = true })
|
||||
-- hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
|
||||
-- hl(0, "MultiCursorDisabledSign", { link = "SignColumn"})
|
||||
-- end
|
||||
-- },
|
||||
}
|
||||
|
||||
@@ -7,3 +7,4 @@ https://www.amazon.com/ap/signin Amazon Sign-In
|
||||
https://blackhawk.cps.golf/onlineresweb/teetime/checkout?id=2390546 Black Hawk Online Booking Engine
|
||||
https://boardsource.xyz/cart Boardsource - MBK Low Pro Keycaps
|
||||
https://www.gouletpens.com/26032528/checkouts/1f056f22cfa3f632ef0ba6e960fa297e?previous_step=shipping_method&step=payment_method https://www.gouletpens.com/26032528/checkouts/1f056f22cfa3f632ef0ba6e960fa297e?previous_step=shipping_method&step=payment_method
|
||||
https://online.cartus.com/resp/Main#/addElectronicReimbursement?PageType=0 CartusOnline - Bank Account Information
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# Note: the "Super" modifier is also known as Logo, GUI, Windows, Mod4, etc.
|
||||
|
||||
# Super+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot)
|
||||
riverctl map normal Super Return spawn alacritty
|
||||
riverctl map normal Super Return spawn wezterm
|
||||
|
||||
riverctl map normal Super D spawn 'bemenu-run --fn "Iosevka Term SS12 14"'
|
||||
# Super+Q to close the focused view
|
||||
@@ -169,10 +169,9 @@ riverctl focus-follows-cursor normal
|
||||
|
||||
riverctl map normal Super+Control O spawn 'mumble rpc starttalking'
|
||||
riverctl map normal Super O spawn 'mumble rpc stoptalking'
|
||||
riverctl map normal Super Escape spawn 'swaylock -f -C ~/.config/sway/rose-pine'
|
||||
riverctl map normal Super Escape spawn 'swaylock -f' #-C ~/.config/sway/rose-pine'
|
||||
swaybg -m fill -i $HOME/Pictures/wallpapers/wallpaper &
|
||||
# pgrep creek || ( while $HOME/.config/river/bar.sh; do sleep 1; done ) | creek -fn 'Ubuntu:size=14' -nf 0xb8b8b8 -nb 0x282828 -ff 0x181818 -fb 0x7cafc2
|
||||
pipewire-launch &
|
||||
waybar &
|
||||
wlr-randr --output DP-2 --adaptive-sync enabled --mode 2560x1440@165Hz
|
||||
wlr-randr --output DP-2 --adaptive-sync enabled --mode 2560x1440@165Hz --output HDMI-A-1 --left-of DP-2
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP='river'
|
||||
waybar &
|
||||
|
||||
Reference in New Issue
Block a user