23 Commits

Author SHA1 Message Date
Michael Chalupiak
25c0556ab4 Merge branch 'master' into macmini 2025-12-26 11:41:08 -05:00
Michael Chalupiak
ef1981d06b multicursor (good this time) 2025-12-26 11:40:48 -05:00
Michael Chalupiak
97b50a3a2e merge master 2025-12-19 14:28:22 -05:00
Michael Chalupiak
f60dd72912 Small vim config changes 2025-12-19 14:25:00 -05:00
Michael Chalupiak
458a2dd1d6 auto colorscheme for kakoune 2025-11-14 12:54:18 -05:00
Michael Chalupiak
16169fbab4 merge 2025-11-14 00:11:07 -05:00
Michael Chalupiak
367244a53d Update to neovim and ghostty theme 2025-09-24 18:22:28 -04:00
Michael Chalupiak
93361624d7 neovim hex editor 2025-09-18 11:28:54 -04:00
Michael Chalupiak
6dcd713273 Actually removing telescope (snacks.picker for the win) 2025-08-29 12:18:16 -04:00
Michael Chalupiak
a177955e85 Small additions to snacks.picker 2025-08-29 11:58:09 -04:00
Michael Chalupiak
c8a110b9ba Changed from telescope to snacks.picker, also now using nord 2025-08-29 11:50:23 -04:00
Michael Chalupiak
449f2dc890 Added diagnostic toggle 2025-08-24 23:01:59 -04:00
Michael Chalupiak
005f77cdbf Added leap.nvim 2025-08-24 22:51:17 -04:00
Michael Chalupiak
cf051a191f Optimized neovim config 2025-08-24 02:58:30 -04:00
Michael Chalupiak
1114797040 removed tmux plugins 2025-08-23 15:27:51 -04:00
Michael Chalupiak
d3ee528e2b fix opening config 2025-08-23 14:41:02 -04:00
Michael Chalupiak
1f5f04cef1 Add neogit to neovim config and change theme to xcode 2025-08-18 19:29:30 -04:00
Michael Chalupiak
88b5ef02f5 .bashrc 2025-08-17 14:35:56 -04:00
Michael Chalupiak
04da38c6a2 Merge remote-tracking branch 'refs/remotes/github/master' 2025-08-17 14:18:27 -04:00
Michael Chalupiak
bce85fa1a7 move nvim config 2025-08-17 14:17:37 -04:00
Michael Chalupiak
4f9f7e548e Merge branch 'macmini'
Merging neovim config
2025-08-17 11:32:58 -04:00
Michael Chalupiak
59dd7303af Merge branch 'macmini'
New neovim config
2025-08-17 11:28:03 -04:00
Michael Chalupiak
3ebc1b414c New neovim config 2025-08-17 11:14:52 -04:00
38 changed files with 1698 additions and 3571 deletions

27
.gitignore vendored Normal file
View File

@@ -0,0 +1,27 @@
config/.config/dconf/*
config/.themes/*
config/**/*.uuid
config/.icons/*
config/.config/KDE/*
config/.config/falkon/*
config/.config/ghostty/iTerm2-Color-Schemes/*
config/.config/ghostty/themes/*
config/.config/helix/runtime/*
config/.config/kak/colors/*
config/.config/kak/plugins/*
config/.config/mutt/chalupmc@rose-hulman
config/.config/mutt/mikecchalupiak@outlook
config/.config/mutt/spamreciver1@outlook
config/.config/qt5ct/colors/*
config/.config/qutebrowser/autoconfig.yml
config/.config/qutebrowser/rosepine/*
config/.config/zathura/colors
config/.doom.d/flycheck_config.el
config/.scripts/kkse
config/.scripts/mlvwm-alert
config/.scripts/mlvwm-confirm
config/.scripts/mlvwm-message
config/.scripts/mlvwm-powerdown
config/.scripts/mlvwm-restart
config/.scripts/mlvwm-screenshot
config/.scripts/pipewire-launch

View File

@@ -1,5 +1,4 @@
! High DPI Settings for Window Managers
!Xft.dpi: 192
! #define background_opacity 80
#include ".theme.xresources"
! .alpha: 0.2

View File

@@ -18,3 +18,11 @@ test -r '/home/mikec/.opam/opam-init/init.sh' && . '/home/mikec/.opam/opam-init/
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
exec river
fi
HOMEBREW_PREFIX=/opt/homebrew
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
export CPATH="$HOMEBREW_PREFIX/include:$CPATH"
export LIBRARY_PATH="$HOMEBREW_PREFIX/lib:$LIBRARY_PATH"
. "/Users/mikec/.local/share/bob/env/env.sh"
test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"

View File

@@ -19,6 +19,11 @@ PATH=$PATH:~/.config/emacs/bin/
PATH=$PATH:~/.mint/bin/
PATH=$PATH:~/glamoroustoolkit/bin/
PATH=$PATH:~/Documents/Projects/Cuis-Smalltalk-Dev/
PATH=$PATH:~/opt/homebrew/bin/
export CFLAGS="$CFLAGS -I/opt/homebrew/include"
LDPATH=$LDPATH:/opt/homebrew/lib/
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
@@ -123,7 +128,7 @@ alias _='sudo'
alias _i='sudo -i'
alias please='sudo'
alias fucking='sudo'
alias hx='helix'
# alias hx='helix'
alias bat='bat --theme="base16-256"'
if [ -n "$(command -v 'eza')" ]; then
alias ls='eza'
@@ -134,10 +139,10 @@ alias zf='z $(flirt)'
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
# if [ -z "$EDITOR" ]; then
# export EDITOR='kak'
if [ -z "$EDITOR" ]; then
# export EDITOR=kak
export EDITOR='nvim'
# fi
fi
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
@@ -178,22 +183,23 @@ tinty_source_shell_theme() {
# fi
run_kak() {
/usr/bin/kak -c $SESH 2>/dev/null "$@" || /usr/bin/kak -s $SESH "$@"
$(which kak) -c $SESH 2>/dev/null "$@" || $(which 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 kak='tmux new-session -e "EDITOR=\"$(which kak) -c $SESH\"" -s $SESH $(which kak) -s $SESH > /dev/null'
elif [ -n "$(command -v tmux)" ] && [ -n "$(command -v kak)" ]; then
SESH="$(tmux display-message -p '#S')"
# 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 vidir='EDITOR="$(which kak) -c $SESH 2>/dev/null || $(which kak) -s $SESH" vidir'
alias vipe='EDITOR="$(which kak) -c $SESH 2>/dev/null || $(which kak) -s $SESH" vipe'
fi
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix || command -v hx)" ] && [ -z "$TMUX" ]; then
if [ -n "$(command -v tmux)" ] && [ -n "$(command -v helix)" ] && [ -z "$TMUX" ]; then
alias helix='tmux new-session -e "EDITOR=helix" helix > /dev/null'
# alias hx='tmux new-session -e "EDITOR=helix" helix > /dev/null'
fi
# if [ -n "$(command -v tmux)" ] && [ -z "$TMUX" ]; then
# SESH="$( (tmux list-sessions 2>/dev/null || echo '-1') | cut -d' ' -f1 | tr -d ':-' | sort -r | head -n1 | xargs -I{} echo '{} + 1' | bc)"
@@ -213,9 +219,9 @@ alias csi='rlwrap csi'
alias chicken-csi='rlwrap chicken-csi'
alias icyc='rlwrap icyc'
export DCONF_PROFILE
export FZF_DEFAULT_OPTS="
--color=fg:#908caa,bg:#191724,hl:#ebbcba
--color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba
--color=border:#403d52,header:#31748f,gutter:#191724
--color=spinner:#f6c177,info:#9ccfd8
--color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa"
# export FZF_DEFAULT_OPTS="
# --color=fg:#908caa,bg:#191724,hl:#ebbcba
# --color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba
# --color=border:#403d52,header:#31748f,gutter:#191724
# --color=spinner:#f6c177,info:#9ccfd8
# --color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa"

File diff suppressed because one or more lines are too long

View File

@@ -10,11 +10,14 @@ font-family = "CaskaydiaCove Nerd Font"
# font-family = "Ubuntu Mono Nerd Font"
# font-family = "Victor Mono Nerd Font"
# font-family = "Sudo"
theme = light:rose-pine-dawn,dark:rose-pine
# theme = light:rose-pine-dawn,dark:rose-pine
font-size = 14
font-variation = wdth=100
font-thicken = true
# font-variation = wdth=100
# theme = light:xcodelight,dark:xcodedark
theme = light:Dawnfox,dark:Carbonfox
# theme = Monokai Classic
# window-decoration = false
# gtk-adwaita = false
# gtk-adwaita = true
window-decoration = true
shell-integration-features = true

View File

@@ -1,9 +1,9 @@
# lua
[language.lua.grammar.source.git]
[lua.grammar.source.git]
url = "https://github.com/tree-sitter-grammars/tree-sitter-lua"
pin = "88e446476a1e97a8724dff7a23e2d709855077f2"
[language.lua.grammar]
[lua.grammar]
path = "src"
compile = "cc"
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
@@ -44,11 +44,11 @@ path = "runtime/queries/lua"
# path = "runtime/queries/clojure"
#ocaml
[language.ocaml.grammar.source.git]
[ocaml.grammar.source.git]
url = "https://github.com/tree-sitter/tree-sitter-ocaml"
pin = "ef6ed4a773a260545f0b03c43d2ca78235e9a488"
[language.ocaml.grammar]
[ocaml.grammar]
path = "grammars/ocaml/src"
compile = "cc"
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
@@ -65,11 +65,11 @@ pin = "6bedca80646ce7350fb73029adf802ce7d9e241d"
path = "runtime/queries/ocaml"
# typst
[language.typst.grammar.source.git]
[typst.grammar.source.git]
url = "https://github.com/uben0/tree-sitter-typst"
pin = "46cf4ded12ee974a70bf8457263b67ad7ee0379d"
[language.typst.grammar]
[typst.grammar]
path = "src"
compile = "cc"
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
@@ -86,11 +86,11 @@ pin = "46cf4ded12ee974a70bf8457263b67ad7ee0379d"
path = "queries/typst"
# swift
[language.swift.grammar.source.git]
[swift.grammar.source.git]
url = "https://github.com/alex-pinkus/tree-sitter-swift"
pin = "57c1c6d6ffa1c44b330182d41717e6fe37430704"
[language.swift.grammar]
[swift.grammar]
path = "src"
compile = "cc"
compile_args = ["-c", "-fpic", "../scanner.c", "-I", ".."]
@@ -108,3 +108,27 @@ pin = "6bedca80646ce7350fb73029adf802ce7d9e241d"
[language.swift.queries]
path = "runtime/queries/swift"
# odin
[language.odin.grammar.source.git]
url = "https://github.com/tree-sitter-grammars/tree-sitter-odin"
pin = "e8adc739b78409a99f8c31313f0bb54cc538cf73"
[language.odin.grammar]
path = "src"
compile = "cc"
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
compile_flags = ["-O3"]
link = "cc"
link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "odin.so"]
link_flags = ["-O3"]
[language.odin.queries.source.git]
url = "https://github.com/helix-editor/helix"
pin = "6bedca80646ce7350fb73029adf802ce7d9e241d"
# url = "https://github.com/alex-pinkus/tree-sitter-odin"
# pin = "57c1c6d6ffa1c44b330182d41717e6fe37430704"
[language.odin.queries]
path = "runtime/queries/odin"

View File

@@ -1,69 +0,0 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
hook global BufCreate .*[.](typ) %{
set-option buffer filetype typst
}
# Initialization
# ‾‾‾‾‾‾‾‾‾‾‾‾‾‾
hook -group typst-highlight global WinSetOption filetype=typst %{
require-module typst
add-highlighter window/typst ref typst
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/typst }
hook window InsertChar \n -group typst typst-on-new-line
}
provide-module typst %§
# Highlighters
# ‾‾‾‾‾‾‾‾‾‾‾‾
add-highlighter shared/typst group
# Comments
add-highlighter shared/typst/ regex ^//(?:[^\n/][^\n]*|)$ 0:comment
# Strings
add-highlighter shared/typst/ regex '"[^"]*"' 0:string
# Headings
add-highlighter shared/typst/ regex ^=+\h+[^\n]+$ 0:header
# Code blocks
# Raw with optional syntax highlighting
add-highlighter shared/typst/ regex '^```[^(```)]*```' 0:mono
# Multiline monospace
add-highlighter shared/typst/ regex '^`[^(`)]*`' 0:mono
# Monospace text
add-highlighter shared/typst/ regex \B(`[^\n]+?`)\B 0:mono
add-highlighter shared/typst/ regex \B(```[^\n]+?```)\B 0:mono
# Bold text
add-highlighter shared/typst/ regex \s\*[^\*]+\*\B 0:+b
# Italic text
add-highlighter shared/typst/ regex \b_.*?_\b 0:+i
# Code expressions: functions, variables
add-highlighter shared/typst/ regex (^|\h)#(\w|\.|-)+ 0:meta
# Bold terms in term lists
add-highlighter shared/typst/ regex ^/\h[^:]*: 0:+b
§
# Commands
# ‾‾‾‾‾‾‾‾
define-command -hidden typst-on-new-line %<
evaluate-commands -draft -itersel %<
# Preserve previous line indent
try %{ execute-keys -draft <semicolon> K <a-&> }
# Cleanup trailing whitespaces from previous line
try %{ execute-keys -draft k x s \h+$ <ret> d }
>
>

View File

@@ -0,0 +1,191 @@
# Carbonfox theme for Kakoune
#
# Taken and adapted from
# <https://github.com/EdenEast/nightfox.nvim/blob/main/lua/nightfox/palette/carbonfox.lua>
# Color palette
declare-option str black_base "rgb:282828"
declare-option str black_dim "rgb:222222"
declare-option str black_bright "rgb:484848"
declare-option str red_base "rgb:ee5396"
declare-option str red_dim "rgb:ca4780"
declare-option str red_bright "rgb:f16da6"
declare-option str green_base "rgb:25be6a"
declare-option str green_dim "rgb:1fa25a"
declare-option str green_bright "rgb:46c880"
declare-option str yellow_base "rgb:08bdba"
declare-option str yellow_dim "rgb:07a19e"
declare-option str yellow_bright "rgb:2dc7c4"
declare-option str blue_base "rgb:78a9ff"
declare-option str blue_dim "rgb:6690d9"
declare-option str blue_bright "rgb:8cb6ff"
declare-option str magenta_base "rgb:be95ff"
declare-option str magenta_dim "rgb:a27fd9"
declare-option str magenta_bright "rgb:c8a5ff"
declare-option str cyan_base "rgb:33b1ff"
declare-option str cyan_dim "rgb:2b96d9"
declare-option str cyan_bright "rgb:52bdff"
declare-option str white_base "rgb:dfdfe0"
declare-option str white_dim "rgb:bebebe"
declare-option str white_bright "rgb:e4e4e5"
declare-option str orange_base "rgb:3ddbd9"
declare-option str orange_dim "rgb:34bab8"
declare-option str orange_bright "rgb:5ae0df"
declare-option str pink_base "rgb:ff7eb6"
declare-option str pink_dim "rgb:d96b9b"
declare-option str pink_bright "rgb:ff91c1"
declare-option str bg0 "rgb:0c0c0c"
declare-option str bg1 "rgb:161616"
declare-option str bg2 "rgb:252525"
declare-option str bg3 "rgb:353535"
declare-option str bg4 "rgb:535353"
declare-option str fg0 "rgb:f9fbff"
declare-option str fg1 "rgb:f2f4f8"
declare-option str fg2 "rgb:b6b8bb"
declare-option str fg3 "rgb:7b7c7e"
declare-option str comment "rgb:6e6f70"
declare-option str sel1 "rgb:525253"
declare-option str sel0 "rgb:2a2a2a"
# Markup
set-face global title "%opt{yellow_base}"
set-face global header "%opt{red_bright}"
set-face global bold "%opt{fg1}+b"
set-face global italic "%opt{fg1}+i"
# Builtins
set-face global Default "%opt{fg1},%opt{bg1}"
set-face global PrimarySelection "%opt{fg2},%opt{sel0}"
set-face global SecondarySelection "%opt{fg3},%opt{sel1}"
set-face global PrimaryCursor "%opt{bg1},%opt{fg1}"
set-face global SecondaryCursor "%opt{bg1},%opt{fg2}"
set-face global PrimaryCursorEol "%opt{fg2},%opt{blue_bright}"
set-face global SecondaryCursorEol "%opt{fg3},%opt{blue_dim}"
set-face global LineNumbers "%opt{fg3},%opt{bg1}"
set-face global LineNumberCursor "%opt{fg2},%opt{bg1}"
set-face global LineNumbersWrapped "%opt{fg3},%opt{bg1}+i"
set-face global MenuForeground "%opt{fg1},%opt{sel1}"
set-face global MenuBackground "%opt{fg1},%opt{sel0}"
set-face global MenuInfo "%opt{fg1},%opt{bg0}"
set-face global Information "%opt{fg1},%opt{bg0}"
set-face global Error "%opt{red_base},%opt{bg0}"
set-face global StatusLine "%opt{fg2},%opt{bg0}"
set-face global StatusLineMode "%opt{green_bright},%opt{bg0}"
set-face global StatusLineInfo "%opt{blue_bright},%opt{bg0}"
set-face global StatusLineValue "%opt{orange_base},%opt{bg0}"
set-face global StatusCursor "%opt{bg0},%opt{fg2}"
set-face global Prompt "%opt{blue_bright},%opt{bg0}"
set-face global MatchingChar "%opt{fg1},%opt{sel1}"
set-face global Whitespace "%opt{fg3},%opt{bg1}"
set-face global WrapMarker Whitespace
set-face global BufferPadding "%opt{blue_dim},%opt{bg1}"
# Code
set-face global value "%opt{orange_bright}"
set-face global type "%opt{yellow_base}"
set-face global variable "%opt{white_base}"
set-face global module "%opt{blue_base}"
set-face global function "%opt{blue_bright}"
set-face global string "%opt{green_base}"
set-face global keyword "%opt{magenta_base}"
set-face global operator "%opt{fg2}"
set-face global attribute "%opt{blue_base}"
set-face global comment "%opt{comment}"
set-face global documentation comment
set-face global meta "%opt{pink_bright}"
set-face global builtin "%opt{red_base}"
# Tree-sitter (<https://github.com/hadronized/kak-tree-sitter>)
set-face global ts_attribute "%opt{yellow_base}"
set-face global ts_comment "%opt{comment}"
set-face global ts_comment_unused "%opt{comment}"
set-face global ts_conceal "%opt{magenta_dim}"
set-face global ts_constant "%opt{orange_bright}"
set-face global ts_constant_builtin_boolean "%opt{orange_bright}"
set-face global ts_constant_character "%opt{green_base}"
set-face global ts_constant_macro "%opt{orange_bright}"
set-face global ts_constructor "%opt{cyan_base}"
set-face global ts_diff_plus "%opt{green_base}"
set-face global ts_diff_minus "%opt{red_base}"
set-face global ts_diff_delta "%opt{yellow_base}"
set-face global ts_diff_delta_moved "%opt{blue_base}"
set-face global ts_error "%opt{red_base}"
set-face global ts_function "%opt{blue_bright}"
set-face global ts_function_builtin "%opt{pink_base}"
set-face global ts_function_macro "%opt{pink_bright}"
set-face global ts_function_method_private "%opt{blue_dim}"
set-face global ts_hint "%opt{orange_base}"
set-face global ts_info "%opt{blue_base}"
set-face global ts_keyword "%opt{magenta_base}"
set-face global ts_keyword_conditional "%opt{magenta_bright}"
set-face global ts_keyword_control_conditional "%opt{magenta_bright}"
set-face global ts_keyword_control_directive "%opt{pink_bright}"
set-face global ts_keyword_control_import "%opt{orange_bright}"
set-face global ts_keyword_directive "%opt{pink_bright}"
set-face global ts_keyword_storage "%opt{blue_base}"
set-face global ts_keyword_storage_modifier "%opt{magenta_base}"
set-face global ts_keyword_storage_modifier_mut "%opt{blue_bright}"
set-face global ts_keyword_storage_modifier_ref "%opt{blue_bright}"
set-face global ts_label "%opt{pink_base}+i"
set-face global ts_markup_bold "%opt{red_base}+b"
set-face global ts_markup_heading "%opt{blue_base}"
set-face global ts_markup_heading_1 "%opt{blue_base}"
set-face global ts_markup_heading_2 "%opt{blue_base}"
set-face global ts_markup_heading_3 "%opt{blue_base}"
set-face global ts_markup_heading_4 "%opt{blue_base}"
set-face global ts_markup_heading_5 "%opt{blue_base}"
set-face global ts_markup_heading_6 "%opt{blue_base}"
set-face global ts_markup_heading_marker "%opt{orange_base}+b"
set-face global ts_markup_italic "%opt{pink_base}+i"
set-face global ts_markup_list_checked "%opt{green_base}"
set-face global ts_markup_list_numbered "%opt{fg2}"
set-face global ts_markup_list_unchecked "%opt{cyan_base}"
set-face global ts_markup_list_unnumbered "%opt{fg2}"
set-face global ts_markup_link_label "%opt{blue_base}"
set-face global ts_markup_link_url "%opt{cyan_base}+u"
set-face global ts_markup_link_uri "%opt{cyan_base}+u"
set-face global ts_markup_link_text "%opt{blue_base}"
set-face global ts_markup_quote "%opt{fg2},%opt{bg2}"
set-face global ts_markup_raw "%opt{green_base}"
set-face global ts_markup_strikethrough "%opt{fg1}+s"
set-face global ts_namespace "%opt{cyan_base}"
set-face global ts_operator "%opt{fg2}"
set-face global ts_property "%opt{blue_base}"
set-face global ts_punctuation "%opt{fg2}"
set-face global ts_punctuation_special "%opt{blue_bright}"
set-face global ts_special "%opt{blue_base}"
set-face global ts_spell "%opt{fg1},%opt{bg1},%opt{red_base}+c"
set-face global ts_string "%opt{green_base}"
set-face global ts_string_regex "%opt{yellow_bright}"
set-face global ts_string_regexp "%opt{yellow_bright}"
set-face global ts_string_escape "%opt{cyan_base}"
set-face global ts_string_special "%opt{green_base}"
set-face global ts_string_special_path "%opt{green_base}"
set-face global ts_string_special_symbol "%opt{green_base}"
set-face global ts_string_symbol "%opt{green_base}"
set-face global ts_tag "%opt{blue_base}"
set-face global ts_tag_error "%opt{red_base}"
set-face global ts_text "%opt{white_base}"
set-face global ts_text_title "%opt{orange_base}"
set-face global ts_type "%opt{yellow_base}"
set-face global ts_type_enum_variant "%opt{yellow_base}"
set-face global ts_type_enum_variant_builtin "%opt{orange_bright}"
set-face global ts_variable "%opt{white_base}"
set-face global ts_variable_builtin "%opt{red_base}"
set-face global ts_variable_other_member "%opt{cyan_base}"
set-face global ts_variable_other_member_private "%opt{cyan_dim}"
set-face global ts_variable_parameter "%opt{blue_base}"
set-face global ts_warning "%opt{magenta_base}"

View File

@@ -0,0 +1,178 @@
# Carbonfox theme for Kakoune
#
# Taken and adapted from
# <https://github.com/EdenEast/nightfox.nvim/blob/main/lua/nightfox/palette/dawnfox.lua>
# Color palette
declare-option str pink_dim "rgb:c9709e"
declare-option str pink_base "rgb:d685af"
declare-option str pink_bright "rgb:de8db7"
declare-option str bg2 "rgb:ebe0df"
declare-option str fg1 "rgb:575279"
declare-option str bg3 "rgb:ebdfe4"
declare-option str orange_dim "rgb:ca6e69"
declare-option str orange_base "rgb:d7827e"
declare-option str orange_bright "rgb:de8c88"
declare-option str red_dim "rgb:a5576d"
declare-option str red_base "rgb:b4637a"
declare-option str red_bright "rgb:c26d85"
declare-option str green_dim "rgb:597668"
declare-option str green_base "rgb:618774"
declare-option str green_bright "rgb:629f81"
declare-option str cyan_dim "rgb:50848c"
declare-option str cyan_base "rgb:56949f"
declare-option str cyan_bright "rgb:5ca7b4"
declare-option str black_dim "rgb:504c6b"
declare-option str black_base "rgb:575279"
declare-option str black_bright "rgb:5f5695"
declare-option str yellow_dim "rgb:dd9024"
declare-option str yellow_base "rgb:ea9d34"
declare-option str yellow_bright "rgb:eea846"
declare-option str fg3 "rgb:a8a3b3"
declare-option str sel1 "rgb:b8cece"
declare-option str comment "rgb:9893a5"
declare-option str blue_dim "rgb:295e73"
declare-option str blue_base "rgb:286983"
declare-option str blue_bright "rgb:2d81a3"
declare-option str sel0 "rgb:d0d8d8"
declare-option str fg2 "rgb:625c87"
declare-option str bg1 "rgb:faf4ed"
declare-option str fg0 "rgb:4c4769"
declare-option str bg4 "rgb:bdbfc9"
declare-option str bg0 "rgb:ebe5df"
declare-option str white_dim "rgb:c8cfde"
declare-option str white_base "rgb:e5e9f0"
declare-option str white_bright "rgb:e6ebf3"
declare-option str magenta_dim "rgb:816b9a"
declare-option str magenta_base "rgb:907aa9"
declare-option str magenta_bright "rgb:9a80b9"
# Markup
set-face global title "%opt{yellow_base}"
set-face global header "%opt{red_dim}+b"
set-face global bold "%opt{fg1}+b"
set-face global italic "%opt{fg1}+i"
# Builtins
set-face global Default "%opt{fg1},%opt{bg1}"
set-face global PrimarySelection "%opt{fg2},%opt{sel0}"
set-face global SecondarySelection "%opt{fg3},%opt{sel1}"
set-face global PrimaryCursor "%opt{bg1},%opt{fg1}"
set-face global SecondaryCursor "%opt{bg1},%opt{fg2}"
set-face global PrimaryCursorEol "%opt{bg2},%opt{blue_bright}"
set-face global SecondaryCursorEol "%opt{bg3},%opt{blue_dim}"
set-face global LineNumbers "%opt{fg3},%opt{bg1}"
set-face global LineNumberCursor "%opt{fg2},%opt{bg1}"
set-face global LineNumbersWrapped "%opt{fg3},%opt{bg1}+i"
set-face global MenuForeground "%opt{fg1},%opt{sel1}"
set-face global MenuBackground "%opt{fg1},%opt{sel0}"
set-face global MenuInfo "%opt{fg1},%opt{bg0}"
set-face global Information "%opt{fg1},%opt{bg0}"
set-face global Error "%opt{red_base},%opt{bg0}"
set-face global StatusLine "%opt{fg2},%opt{bg0}"
set-face global StatusLineMode "%opt{green_bright},%opt{bg0}"
set-face global StatusLineInfo "%opt{blue_bright},%opt{bg0}"
set-face global StatusLineValue "%opt{orange_base},%opt{bg0}"
set-face global StatusCursor "%opt{bg0},%opt{fg2}"
set-face global Prompt "%opt{blue_bright},%opt{bg0}"
set-face global MatchingChar "%opt{fg1},%opt{sel1}"
set-face global Whitespace "%opt{fg3},%opt{bg1}"
set-face global WrapMarker Whitespace
set-face global BufferPadding "%opt{blue_dim},%opt{bg1}"
# Code
set-face global value "%opt{orange_dim}"
set-face global type "%opt{yellow_base}"
set-face global variable "%opt{black_base}"
set-face global module "%opt{blue_base}"
set-face global function "%opt{blue_dim}"
set-face global string "%opt{green_base}"
set-face global keyword "%opt{magenta_base}"
set-face global operator "%opt{fg2}"
set-face global attribute "%opt{blue_base}"
set-face global comment "%opt{comment}"
set-face global documentation comment
set-face global meta "%opt{pink_dim}"
set-face global builtin "%opt{red_base}"
# Tree-sitter (<https://github.com/hadronized/kak-tree-sitter>)
set-face global ts_attribute "%opt{yellow_base}"
set-face global ts_comment "%opt{comment}"
set-face global ts_comment_unused "%opt{comment}"
set-face global ts_conceal "%opt{magenta_dim}"
set-face global ts_constant "%opt{orange_dim}"
set-face global ts_constant_builtin_boolean "%opt{orange_dim}"
set-face global ts_constant_character "%opt{green_base}"
set-face global ts_constant_macro "%opt{orange_dim}"
set-face global ts_constructor "%opt{cyan_base}"
set-face global ts_diff_plus "%opt{green_base}"
set-face global ts_diff_minus "%opt{red_base}"
set-face global ts_diff_delta "%opt{yellow_base}"
set-face global ts_diff_delta_moved "%opt{blue_base}"
set-face global ts_error "%opt{red_base}"
set-face global ts_function "%opt{blue_dim}"
set-face global ts_function_builtin "%opt{pink_base}"
set-face global ts_function_macro "%opt{pink_dim}"
set-face global ts_function_method_private "%opt{blue_dim}"
set-face global ts_hint "%opt{green_base}"
set-face global ts_info "%opt{blue_base}"
set-face global ts_keyword "%opt{magenta_base}"
set-face global ts_keyword_conditional "%opt{magenta_dim}"
set-face global ts_keyword_control_conditional "%opt{magenta_dim}"
set-face global ts_keyword_control_directive "%opt{pink_dim}"
set-face global ts_keyword_control_import "%opt{orange_dim}"
set-face global ts_keyword_directive "%opt{pink_dim}"
set-face global ts_keyword_storage "%opt{blue_base}"
set-face global ts_keyword_storage_modifier "%opt{magenta_base}"
set-face global ts_keyword_storage_modifier_mut "%opt{blue_dim}"
set-face global ts_keyword_storage_modifier_ref "%opt{blue_dim}"
set-face global ts_label "%opt{pink_base}+i"
set-face global ts_markup_bold "%opt{red_base}+b"
set-face global ts_markup_heading "%opt{blue_base}"
set-face global ts_markup_heading_1 "%opt{blue_base}+b"
set-face global ts_markup_heading_2 "%opt{blue_base}+b"
set-face global ts_markup_heading_3 "%opt{blue_base}+b"
set-face global ts_markup_heading_4 "%opt{blue_base}+b"
set-face global ts_markup_heading_5 "%opt{blue_base}+b"
set-face global ts_markup_heading_6 "%opt{blue_base}+b"
set-face global ts_markup_heading_marker "%opt{orange_base}+b"
set-face global ts_markup_italic "%opt{pink_base}+i"
set-face global ts_markup_list_checked "%opt{green_base}"
set-face global ts_markup_list_numbered "%opt{fg2}"
set-face global ts_markup_list_unchecked "%opt{cyan_base}"
set-face global ts_markup_list_unnumbered "%opt{fg2}"
set-face global ts_markup_link_label "%opt{blue_base}"
set-face global ts_markup_link_url "%opt{cyan_base}+u"
set-face global ts_markup_link_uri "%opt{cyan_base}+u"
set-face global ts_markup_link_text "%opt{blue_base}"
set-face global ts_markup_quote "%opt{fg2},%opt{bg2}"
set-face global ts_markup_raw "%opt{green_base}"
set-face global ts_markup_strikethrough "%opt{fg1}+s"
set-face global ts_namespace "%opt{cyan_base}"
set-face global ts_operator "%opt{fg2}"
set-face global ts_property "%opt{blue_base}"
set-face global ts_punctuation "%opt{fg2}"
set-face global ts_punctuation_special "%opt{blue_dim}"
set-face global ts_special "%opt{blue_base}"
set-face global ts_spell "%opt{fg1},%opt{bg1},%opt{red_base}+c"
set-face global ts_string "%opt{green_base}"
set-face global ts_string_regex "%opt{yellow_dim}"
set-face global ts_string_regexp "%opt{yellow_dim}"
set-face global ts_string_escape "%opt{cyan_base}"
set-face global ts_string_special "%opt{green_base}"
set-face global ts_string_special_path "%opt{green_base}"
set-face global ts_string_special_symbol "%opt{green_base}"
set-face global ts_string_symbol "%opt{green_base}"
set-face global ts_tag "%opt{blue_base}"
set-face global ts_tag_error "%opt{red_base}"
set-face global ts_text "%opt{black_base}"
set-face global ts_text_title "%opt{orange_base}"
set-face global ts_type "%opt{yellow_base}"
set-face global ts_type_enum_variant "%opt{yellow_base}"
set-face global ts_type_enum_variant_builtin "%opt{orange_dim}"
set-face global ts_variable "%opt{black_base}"
set-face global ts_variable_builtin "%opt{red_base}"
set-face global ts_variable_other_member "%opt{cyan_base}"
set-face global ts_variable_other_member_private "%opt{cyan_dim}"
set-face global ts_variable_parameter "%opt{blue_base}"
set-face global ts_warning "%opt{yellow_base}"

View File

@@ -49,11 +49,11 @@ plug "https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes" theme
set-option global luar_interpreter luajit
## Treesitter ##
# eval %sh{ kak-tree-sitter -dksvvv --with-highlighting --with-text-objects --init $kak_session }
eval %sh{ kak-tree-sitter -dksvvv --with-highlighting --with-text-objects --init $kak_session }
#eval %sh{ kak-tree-sitter -dks --with-text-objects --session $kak_session }
#eval %sh{ kak-tree-sitter -dks --with-highlighting --session $kak_session }
#eval %sh{ kak-tree-sitter -dksvvvv --init $kak_session }
#eval %sh{ kak-tree-sitter -dksvvv --init $kak_session }
#
# evaluate-commands %sh{
# echo "colorscheme base16-$BASE16_THEME"
# }
@@ -64,82 +64,53 @@ evaluate-commands %sh{kak-popup init}
## Highlighting ##
hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor}
add-highlighter global/ show-matching
add-highlighter global/ column 80 MenuForeground
add-highlighter global/ show-whitespaces
add-highlighter global/ column 80 MenuBackground
add-highlighter global/ show-whitespaces -spc " " -nbsp ""
#add-highlighter global/ show-whitespaces -nbsp "" -lf "" -indent "|"
## Wrapping ##
add-highlighter global/ wrap -word -indent
## Formatting ##
define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
hook global -group autofmt BufSetOption filetype=(zig) %{
set-option buffer formatcmd 'zig fmt --stdin'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(html) %{
set-option buffer formatcmd 'prettier --tab-width 4 --parser html'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(css) %{
set-option buffer formatcmd 'prettier --tab-width 4 --parser css'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(javascript) %{
set-option buffer formatcmd 'prettier --tab-width 4 --parser typescript'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
hook global -group autofmt BufSetOption filetype=(go) %{
set-option buffer formatcmd 'gofmt'
hook -group autofmt buffer BufOpenFile .* %{
format
}
hook -group autofmt buffer BufWritePre .* %{
format
}
}
}
define-command disable-autofmt -docstring 'disable autoformatting of buffer' %{
remove-hooks global autofmt
}
enable-autofmt
# define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{
#
#
# hook global -group autofmt BufSetOption filetype=(zig) %{
# set-option buffer formatcmd 'zig fmt --stdin'
#
# hook -group autofmt buffer BufOpenFile .* %{
# format
# }
#
# hook -group autofmt buffer BufWritePre .* %{
# format
# }
# }
#
# hook global -group autofmt BufSetOption filetype=(html) %{
# set-option buffer formatcmd 'prettier --tab-width 4 --parser html'
#
# hook -group autofmt buffer BufOpenFile .* %{
# format
# }
#
# hook -group autofmt buffer BufWritePre .* %{
# format
# }
# }
#
# hook global -group autofmt BufSetOption filetype=(css) %{
# set-option buffer formatcmd 'prettier --tab-width 4 --parser css'
#
# hook -group autofmt buffer BufOpenFile .* %{
# format
# }
#
# hook -group autofmt buffer BufWritePre .* %{
# format
# }
# }
## Indentation ##
set global tabstop 4
@@ -151,6 +122,26 @@ hook global BufCreate .* %{
autoconfigtab
}
define-command set-spell -docstring 'Enable spellcheck' %{
# hook -group spellcheck global BufOpenFile .* %{
hook -group spellcheck buffer InsertChar .* %{
evaluate-commands %{
spell
}
}
hook -group spellcheck buffer InsertDelete .* %{
evaluate-commands %{
spell
}
}
# }
}
define-command set-nospell -docstring 'Disable spellcheck' %{
remove-hooks buffer spellcheck
}
define-command sleuth -docstring 'Heuristically set buffer options' %{
try %{
evaluate-commands -draft %{
@@ -201,29 +192,16 @@ define-command sleuth-disable -docstring 'Disable sleuth' %{
}
## LSP ##
# lsp-enable
# lsp-inlay-diagnostics-enable global
hook global WinSetOption filetype=(c|zig|python|ruby|lua|java|html|css|swift) %{
# set-option window lsp_auto_highlight_references true
set-option window lsp_hover_anchor true
lsp-auto-hover-enable
#lsp-auto-hover-insert-mode-enable
lsp-enable
lsp-inlay-diagnostics-enable global
set-option global lsp_auto_highlight_references true
set-option global lsp_hover_anchor true
lsp-auto-signature-help-enable
lsp-inlay-hints-enable global
lsp-enable-window
}
hook global WinSetOption filetype=(rust) %{
set-option window lsp_auto_highlight_references true
set-option window lsp_hover_anchor true
lsp-auto-hover-enable
#lsp-auto-hover-insert-mode-enable
lsp-auto-signature-help-enable
lsp-inlay-hints-enable global
lsp-enable-window
}
map global user k ':lsp-hover'
hook global WinSetOption filetype=(c|zig|rust|python|ruby|lua|java|html|css) %{
hook global WinSetOption filetype=(c|cpp|zig|rust|python|ruby|lua|java|html|css) %{
hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens
hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens
@@ -253,6 +231,19 @@ hook -group lsp-filetype-swift global BufSetOption filetype=swift %{
}
}
hook -group lsp-filetype-typst global BufSetOption filetype=typst %{
set-option buffer lsp_servers %{
[tinymist]
root_globs = [".git", ".hg"]
args = ["lsp"]
settings_section = "_"
[tinymist.settings._]
# See https://myriad-dreamin.github.io/tinymist/configurations.html
exportPdf = "onType"
# formatterMode = "typstyle"
# previewFeature = "disable"
}
}
set-option global lsp_config %{
}
@@ -417,19 +408,19 @@ define-command -docstring 'Print Working Directory' -params 0 pwd %{
# }
define-command -docstring 'copy to clipboard' xcopy %{
execute-keys '<a-|>wl-copy<ret>'
execute-keys '<a-|>pbcopy<ret>'
}
define-command -docstring 'paste from clipboard' xpaste %{
evaluate-commands -save-regs '"' %{
set-register dquote %sh{ wl-paste }
set-register dquote %sh{ pbpaste }
execute-keys 'P'
}
}
declare-user-mode config
map -docstring 'enter config mode' global user e ':enter-user-mode config<ret>'
map -docstring 'edit kakoune config' global config k ':cd ~/.config/kak/<ret>:e ./kakrc<ret>'
map -docstring 'edit kakoune config' global config k ':e ~/.config/kak/kakrc<ret>'
map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf<ret>'
map -docstring 'edit bash config' global config b ':e ~/.bashrc<ret>'
map -docstring 'edit scripts folder' global config s ':cd ~/.scripts<ret>:fzf-edit<ret>'
@@ -493,4 +484,10 @@ map -docstring 'next spell check' global spell n ':spell-next<ret>'
map -docstring 'spell check replacements' global spell r ':spell-replace<ret>'
map -docstring 'quit kakoune' global user q ':q!<ret>'
colorscheme base16-rose-pine
try %{
colorscheme %sh{
ruby -e "time = Time.new; if time.hour < 20 and time.hour > 6 then puts 'dawnfox' else puts 'carbonfox' end"
}
} catch %{
colorscheme carbonfox
}

View File

@@ -1,29 +0,0 @@
function colors(color, theme)
color = os.getenv("BASE16_THEME")
alt_color = 'rose-pine' or color
-- Available values: `'hard'`, `'medium'`, `'soft'`
vim.g.gruvbox_material_background = 'medium'
-- Available values: `'material'`, `'mix'`, `'original'`
vim.g.gruvbox_material_foreground = 'mix'
-- Available values: `'hard'`, `'medium'`, `'soft'`
vim.g.everforest_background = 'hard'
vim.g.gruvbox_material_better_performance = 1
vim.g.everforest_better_performance = 1
if color == 'gruvbox-dark-hard' then
color = 'gruvbox-material'
vim.g.gruvbox_material_background = 'hard'
elseif color == 'gruvbox-dark-soft' then
color = 'gruvbox-material'
vim.g.gruvbox_material_background = 'soft'
elseif color == 'everforest-dark-hard' then
vim.g.everforest_background = 'hard'
color = 'everforest'
end
if theme then
vim.cmd.colorscheme(alt_color)
elseif not pcall(vim.cmd.colorscheme, color) or color == nil then
vim.cmd.colorscheme(alt_color)
end
end
colors(nil, true)

View File

@@ -1,106 +0,0 @@
local lsp = require('lsp-zero')
local lsp_config = require("lspconfig")
--Enable (broadcasting) snippet capability for completion
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
lsp_config.html.setup {
capabilities = capabilities,
filetypes = { "html", "etlua" },
}
lsp_config.nim_langserver.setup{
settings = {
nim = {
projectMapping = {
projectFile = "main.nim",
fileRegex = ".*\\.nim"
}
}
}
}
lsp_config.hls.setup{}
lsp_config.clojure_lsp.setup{}
lsp_config.clangd.setup{}
lsp_config.sourcekit.setup{}
local cmp = require("cmp")
local cmp_select = {behavior = cmp.SelectBehavior.Select}
local cmp_mappings = lsp.defaults.cmp_mappings({
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
['<C-y>'] = cmp.mapping.confirm({select = true}),
['<C-Space>'] = cmp.mapping.complete(),
})
cmp.setup {
sources = {
{ name = 'conjure' },
{ name = 'nvim_lsp_signature_help' },
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
}
}
lsp.set_preferences({
sign_icons = { }
})
lsp.setup_nvim_cmp({
mapping = cmp_mappings
})
vim.api.nvim_create_autocmd('User', {
pattern = 'LspAttached',
once = true,
callback = vim.lsp.codelens.refresh,
})
lsp.on_attach(function(client, bufnr)
local opts = {buffer = bufnr, remap = false}
if client.name == "eslint" then
vim.cmd.LspStop('eslint')
return
end
if client.name == "html" or client.name == "cssls" then
capabilities = capabilities
end
vim.api.nvim_create_autocmd({ 'TextChanged', 'InsertLeave' }, {
buffer = bufnr,
callback = vim.lsp.codelens.refresh,
})
-- trigger codelens refresh
vim.api.nvim_exec_autocmds('User', { pattern = 'LspAttached' })
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<leader>vws", vim.lsp.buf.workspace_symbol, opts)
vim.keymap.set("n", "<leader>vd", vim.diagnostic.open_float, opts)
vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts)
vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts)
vim.keymap.set("n", "<leader>vca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "<leader>vrr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<leader>vrn", vim.lsp.buf.rename, opts)
vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
end)
lsp_config.lua_ls.setup {
-- ... other configs
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
}
}
}
}
lsp_config.racket_langserver.setup{}
lsp.setup()

View File

@@ -1,15 +0,0 @@
local builtin = require('telescope.builtin')
local telescope = require('telescope')
telescope.load_extension("workspaces")
telescope.load_extension("recent_files")
telescope.load_extension("telescope-tabs")
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
vim.keymap.set('n', '<leader>fF', builtin.git_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
vim.keymap.set('n', '<leader>bb', builtin.buffers, {})
vim.keymap.set('n', '<leader>hh', builtin.help_tags, {})
vim.keymap.set('n', '<leader>cc', builtin.colorscheme, {})
vim.keymap.set('n', '<leader>wo', ":Telescope workspaces<CR>", {})
vim.api.nvim_set_keymap("n", "<leader>fr",
[[<cmd>lua require('telescope').extensions.recent_files.pick()<CR>]],
{noremap = true, silent = true})

View File

@@ -1,22 +0,0 @@
require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all"
ensure_installed = { "help", "java", "c", "lua" },
-- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = false,
-- Automatically install missing parsers when entering buffer
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
auto_install = true,
highlight = {
-- `false` will disable the whole extension
enable = true,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
}

View File

@@ -1,2 +0,0 @@
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)

View File

@@ -1 +0,0 @@
[{"url": "sqlserver://chalupmc:MikeC00l@golem.csse.rose-hulman.edu/SodaBasechalupmc", "name": "SodaBasechalupmc"}, {"url": "sqlserver://chalupmc:MikeC00l@golem.csse.rose-hulman.edu/NWindchalupmc", "name": "NWindchalupmc"}]

View File

@@ -1,97 +0,0 @@
-- See `:help vim.lsp.start_client` for an overview of the supported `config` options.
--local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t')
--local workspace_dir = '/path/to/workspace-root/' .. project_name
local workspace_dir = vim.fn.getcwd()
local config = {
-- The command that starts the language server
-- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line
cmd = {
-- 💀
'jdtls', -- or '/path/to/java17_or_newer/bin/java'
-- depends on if `java` is in your $PATH env variable and if it points to the right version.
-- '-Declipse.application=org.eclipse.jdt.ls.core.id1',
-- '-Dosgi.bundles.defaultStartLevel=4',
-- '-Declipse.product=org.eclipse.jdt.ls.core.product',
-- '-Dlog.protocol=true',
-- '-Dlog.level=ALL',
-- '-Xms1g',
-- '--add-modules=ALL-SYSTEM',
-- '--add-opens', 'java.base/java.util=ALL-UNNAMED',
-- '--add-opens', 'java.base/java.lang=ALL-UNNAMED',
--
-- -- 💀
-- '-jar', '/usr/share/java/jdtls/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar',
-- -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
-- -- Must point to the Change this to
-- -- eclipse.jdt.ls installation the actual version
--
--
-- -- 💀
-- '-configuration', '/usr/share/java/jdtls/config_linux',
-- -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^
-- -- Must point to the Change to one of `linux`, `win` or `mac`
-- -- eclipse.jdt.ls installation Depending on your system.
--
--
-- -- 💀
-- -- See `data directory configuration` section in the README
-- '-data', "/home/mikec/Documents/workspace"
},
-- 💀
-- This is the default if not provided, you can remove it. Or adjust as needed.
-- One dedicated LSP server & client will be started per unique root_dir
root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}),
-- Here you can configure eclipse.jdt.ls specific settings
-- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request
-- for a list of options
settings = {
java = {
}
},
-- Language server `initializationOptions`
-- You need to extend the `bundles` with paths to jar files
-- if you want to use additional eclipse.jdt.ls plugins.
--
-- See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation
--
-- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this
--init_options = {
-- bundles = {
-- vim.fn.glob("/home/mikec/.local/share/nvim/mason/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1)
-- }
--},
}
-- This bundles definition is the same as in the previous section (java-debug installation)
local bundles = {
vim.fn.glob("/home/mikec/.local/share/nvim/mason/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1)
};
-- This is the new part
vim.list_extend(bundles, vim.split(vim.fn.glob("/path/to/microsoft/vscode-java-test/server/*.jar", 1), "\n"))
config['init_options'] = {
bundles = bundles;
}
-- This starts a new client & server,
-- or attaches to an existing client & server depending on the `root_dir`.
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<leader>vws", vim.lsp.buf.workspace_symbol, opts)
vim.keymap.set("n", "<leader>vd", vim.diagnostic.open_float, opts)
vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts)
vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts)
vim.keymap.set("n", "<leader>vca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "<leader>vrr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<leader>vrn", vim.lsp.buf.rename, opts)
vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
vim.keymap.set("n", "<leader>i", function() require('jdtls').organize_imports() end, opts)
require('jdtls').start_or_attach(config)

2
config/.config/nvim/init.lua Executable file → Normal file
View File

@@ -1 +1 @@
config = require("config")
require 'config'

View File

@@ -0,0 +1,70 @@
{
"auto-dark-mode.nvim": { "branch": "master", "commit": "e300259ec777a40b4b9e3c8e6ade203e78d15881" },
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
"catppuccin": { "branch": "main", "commit": "da33755d00e09bff2473978910168ff9ea5dc453" },
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
"compiler-explorer.nvim": { "branch": "master", "commit": "3f1d95509b66803c79b4ef3ab1e51e5bc53f4ca2" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"dim.lua": { "branch": "main", "commit": "a3a0dce75f7212ab61130e77a8157530bd23db15" },
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
"dropbar.nvim": { "branch": "master", "commit": "ce202248134e3949aac375fd66c28e5207785b10" },
"everblush": { "branch": "main", "commit": "678f808d81801b983b6fb8296fb17ba1b2785d7c" },
"everforest": { "branch": "master", "commit": "484dd560dccb2d2842685c441ad2b54a54ffef1b" },
"fennel.vim": { "branch": "main", "commit": "c6a9c035ca108cbb24273d96cd6277fb8fbc60b4" },
"github-colors": { "branch": "main", "commit": "7292749e49e6f870e63879a528bb05c8c8d1a59a" },
"github-nvim-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" },
"gitsigns.nvim": { "branch": "main", "commit": "cdafc320f03f2572c40ab93a4eecb733d4016d07" },
"gruvbox-material": { "branch": "master", "commit": "4bfc6983abc249c5943a60d8eb3980a3c2ababe1" },
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
"hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"leap.nvim": { "branch": "main", "commit": "a3d721dffbc634cdea2d7e3d868501a8b59da058" },
"love2d.nvim": { "branch": "main", "commit": "25715394680590f56aab90390d430cab0dc46808" },
"lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" },
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "7d527c76c43f46294de9c19d39c5a86317809b4b" },
"mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
"melange-nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" },
"mellow.nvim": { "branch": "main", "commit": "5cd188489bcc7eb512f0a30581ad972070f8e5cd" },
"mini.nvim": { "branch": "main", "commit": "6e885e4c27743ae6bf5957ea78ce86c032835f09" },
"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" },
"nabla.nvim": { "branch": "master", "commit": "9b69b709063ccf40ac36fabb4fff7d90b3736475" },
"nelua.vim": { "branch": "main", "commit": "5bc2ce7cc1ae952940bb3419ad106c02820f4baf" },
"neogit": { "branch": "master", "commit": "4ba620addbeeca2594c794b151e611c037973480" },
"neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" },
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
"nvim-highlight-colors": { "branch": "main", "commit": "e0c4a58ec8c3ca7c92d3ee4eb3bc1dd0f7be317e" },
"nvim-lspconfig": { "branch": "master", "commit": "e0fae251f8459940331960106d4bd9457cec23de" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-surround": { "branch": "main", "commit": "fcfa7e02323d57bfacc3a141f8a74498e1522064" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
"nvim-unception": { "branch": "main", "commit": "df0e505f0f1371c49c2bcf993985962edb5a279d" },
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
"oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" },
"oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
"one-nvim": { "branch": "main", "commit": "faf6fb3f98fccbe009c3466f657a8fff84a5f956" },
"onedark.nvim": { "branch": "master", "commit": "6c10964f91321c6a0f09bcc41dd64e7a6602bc4f" },
"pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" },
"plantuml-syntax": { "branch": "master", "commit": "9d4900aa16674bf5bb8296a72b975317d573b547" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"range-highlight.nvim": { "branch": "master", "commit": "f54aec737f138e52c187a8bea77b41347fd86f12" },
"rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" },
"sherbet.nvim": { "branch": "master", "commit": "5c4166eff70ec551ae0023edfb89141b25cc18c6" },
"snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" },
"telescope-tabs": { "branch": "vim_ui_select", "commit": "f01bc722582fdcaa58ea37492b382ff109893d95" },
"tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
"v-vim": { "branch": "master", "commit": "1dc1388bafb89072f8349dbd96f9462ae22237cb" },
"vim-colors-xcode": { "branch": "master", "commit": "6d449229bf29176448bd06377689d7a8db0d1bee" },
"vim-etlua": { "branch": "master", "commit": "bb2974d0134ce6da60c3be0d82d809976b859c1c" },
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
"vim-teal": { "branch": "master", "commit": "a416397cf7aad7b03ef53fd3d9847fd764bcbfee" },
"vscode.nvim": { "branch": "main", "commit": "cb9df0873c10a21d05362455ae3bb355eadcef6b" }
}

View File

@@ -1,29 +0,0 @@
local M = {}
local function db_completion()
require("cmp").setup.buffer { sources = { { name = "vim-dadbod-completion" } } }
end
function M.setup()
vim.g.db_ui_save_location = vim.fn.stdpath "config" .. require("plenary.path").path.sep .. "db_ui"
vim.api.nvim_create_autocmd("FileType", {
pattern = {
"sql",
},
command = [[setlocal omnifunc=vim_dadbod_completion#omni]],
})
vim.api.nvim_create_autocmd("FileType", {
pattern = {
"sql",
"mysql",
"plsql",
},
callback = function()
vim.schedule(db_completion)
end,
})
end
return M

7
config/.config/nvim/lua/config/init.lua Executable file → Normal file
View File

@@ -1,3 +1,4 @@
require("config.remap")
require("config.packer")
require("config.set")
require 'config.lazy'
require 'config.set'
require 'config.keymap'
require 'config.lsp'

View File

@@ -0,0 +1,75 @@
local set = vim.keymap.set
local setnx = function(key, command, desc)
set({'n', 'x'}, key, command, { desc = desc })
end
setnx('<leader>ff', Snacks.picker.files, 'Find files')
setnx('<leader>f/', Snacks.picker.grep_word, 'Search current word')
setnx('<leader>fg', Snacks.picker.grep, 'Search in files')
setnx('<leader>fr', Snacks.picker.recent, 'Find recent files')
setnx('<leader>b', Snacks.picker.buffers, 'List buffers')
setnx('<leader>h', Snacks.picker.help, 'Search help')
setnx('<leader>X', require'hex'.toggle, 'Toggle hex editor')
setnx('<leader>m', Snacks.picker.marks, 'Search marks')
setnx('<leader>q', Snacks.picker.qflist, 'Search quickfix list')
setnx('<leader>l', Snacks.picker.loclist, 'Search location list')
setnx('<leader>j', Snacks.picker.jumps, 'Search jumplist')
setnx('<leader>r', Snacks.picker.registers, 'Search registers')
setnx('<leader>s', Snacks.picker.spelling, 'List spelling suggestions')
setnx('<leader>M', Snacks.picker.man, 'Search man pages')
setnx('<leader>t', require'telescope-tabs'.list_tabs, 'List tabs')
setnx('<leader>c', Snacks.picker.colorschemes, 'Select colorscheme')
setnx('<leader>N', Snacks.picker.notifications, 'List notifications')
local neogit = require('neogit')
setnx('<leader>op', '<CMD>Oil<CR>', 'Open file manager')
setnx('<leader>oP', '<CMD>Oil --float<CR>', 'Open file manager in floating window')
setnx('<leader>ot', '<CMD>term<CR>', 'Open terminal')
setnx('<leader>oT', '<CMD>tabnew<CR>', 'Open new tab')
setnx('<leader>of', '<CMD>enew<CR>', 'Open new file')
-- setnx('<leader>ow', '<CMD>Telescope workspaces', 'Open workspace')
setnx('<leader>ol', '<CMD>Lazy<CR>', 'Open Lazy')
setnx('<leader>om', '<CMD>Mason<CR>', 'Open Mason')
setnx('<leader>oc', '<CMD>cd ' .. vim.fn.stdpath('config') .. '<CR><CMD>Oil .<CR>', 'Open neovim configuration')
setnx('<leader>og', neogit.open, 'Open (neo)git')
-- Exit terminal mode with ESC
set('t', '<Esc>', '<C-\\><C-n>')
-- Swap ' and `
setnx('\'', '`', 'Goto mark with column')
setnx('`', '\'', 'Goto mark without column')
setnx('<leader>x', '<CMD>bd!<CR>', 'Close Current Buffer')
setnx('grr', Snacks.picker.lsp_references, 'Search lsp references')
-- setnx('grI', tele.lsp_incoming_calls, 'Find incoming function calls')
-- setnx('grO', tele.lsp_outgoing_calls, 'Find outgoing function calls')
setnx('grd', Snacks.picker.diagnostics, 'Show LSP diagnostics')
setnx('grD', (function()
local diag = true
return function()
diag = not diag
vim.diagnostic.config({ update_in_insert = true, float = true, virtual_lines = diag})
end
end)(), 'Toggle LSP diagnostics')
setnx('grs', Snacks.picker.lsp_workspace_symbols, 'Show workspace symbols')
setnx('grS', Snacks.picker.lsp_symbols, 'Show document symbols')
setnx('gri', Snacks.picker.lsp_implementations, 'Goto implementation')
setnx('gd', Snacks.picker.lsp_definitions, 'Goto definition')
setnx('gD', Snacks.picker.lsp_type_definitions, 'Goto type definition')
setnx('<leader>gc', Snacks.picker.git_log, 'List git commits')
setnx('<leader>gb', Snacks.picker.git_branches, 'List git branches')
setnx('<leader>gs', Snacks.picker.git_status, 'Show git status')
setnx('<leader>gS', Snacks.picker.git_stash, 'Show git stash')
setnx('<leader>gB', Snacks.picker.git_log_file, 'List buffers git commits')
setnx('<leader>gr', Snacks.picker.git_log_line, 'List buffers git commits over visual range')
setnx('<leader>n', require('nabla').popup, 'Show popup for nabla preview')
setnx('<leader>p', '"+p', 'Paste from system clipboard')
setnx('<leader>y', '"+y', 'Yank to system clipboard')
setnx('gs', '<Plug>(leap)', 'Activate leap')
setnx('g<C-s>', '<Plug>(leap-anywhere)', 'Activate leap anywhere')
setnx('gS', require('leap.remote').action, 'Activate remote leap')

View File

@@ -0,0 +1,35 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
-- install = { colorscheme = { "nord" } },
-- automatically check for plugin updates
checker = { enabled = false, notify = false },
})

View File

@@ -0,0 +1,48 @@
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
callback = function(args)
local client = vim.lsp.get_client_by_id(args.data.client_id)
if client:supports_method('textDocument/inlayHint') or client.server_capabilities.inlayHintProvider then
vim.lsp.inlay_hint.enable(true, { bufnr = args.buf })
end
end
})
-- vim.lsp.config('rust-analyzer', {
-- settings = {
-- ["rust-analyzer"] = {
-- inlayHints = {
-- bindingModeHints = {
-- enable = false,
-- },
-- chainingHints = {
-- enable = true,
-- },
-- closingBraceHints = {
-- enable = true,
-- minLines = 25,
-- },
-- closureReturnTypeHints = {
-- enable = "never",
-- },
-- lifetimeElisionHints = {
-- enable = "never",
-- useParameterNames = false,
-- },
-- maxLength = 25,
-- parameterHints = {
-- enable = true,
-- },
-- reborrowHints = {
-- enable = "never",
-- },
-- renderColons = true,
-- typeHints = {
-- enable = true,
-- hideClosureInitialization = false,
-- hideNamedConstructor = false,
-- },
-- },
-- }
-- }
-- })

View File

@@ -1,350 +0,0 @@
-- This file can be loaded by calling `lua require('plugins')` from your init.vim
-- Only required if you have packer configured as `opt`
vim.cmd [[packadd packer.nvim]]
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
use {
'nvim-telescope/telescope.nvim',
branch = '0.1.x',
requires = { { 'nvim-lua/plenary.nvim' } }
}
use {
'LukasPietzschmann/telescope-tabs',
requires = { 'nvim-telescope/telescope.nvim' },
config = function()
require'telescope-tabs'.setup{
-- Your custom config :^)
}
end
}
use "sindrets/diffview.nvim"
use({
'rose-pine/neovim',
as = 'rose-pine',
-- config = function()
-- vim.cmd('colorscheme rose-pine')
-- end
})
use {
"mireq/large_file",
config = function()
require("large_file").setup()
end
}
use 'tanvirtin/monokai.nvim'
use 'arzg/vim-colors-xcode'
use 'shaunsingh/nord.nvim'
use 'kvrohit/mellow.nvim'
use 'Mofiqul/vscode.nvim'
use 'Th3Whit3Wolf/one-nvim'
use 'mhartington/oceanic-next'
use 'folke/tokyonight.nvim'
use 'sainnhe/gruvbox-material'
use { "ellisonleao/gruvbox.nvim" }
use 'sainnhe/everforest'
use 'lourenci/github-colors'
use 'navarasu/onedark.nvim'
use 'shaunsingh/moonlight.nvim'
use 'Mofiqul/dracula.nvim'
use 'kdheepak/monochrome.nvim'
use "savq/melange-nvim"
use { "catppuccin/nvim", as = "catppuccin" }
-- use 'RRethy/nvim-base16'
use ({ 'projekt0n/github-nvim-theme' })
use { 'Everblush/nvim', as = 'everblush' }
use "lewpoly/sherbet.nvim"
-- use 'xiyaowong/transparent.nvim'
use {
'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate',
}
use {
'numToStr/Comment.nvim',
config = function()
require('Comment').setup()
end
}
use 'nvim-treesitter/playground'
-- use 'mbbill/undotree'
use {
'mason-org/mason.nvim',
config = function()
require('mason').setup()
end,
}
use {
'VonHeikemen/lsp-zero.nvim',
requires = {
-- LSP Support
{ 'neovim/nvim-lspconfig' },
{ 'mason-org/mason.nvim' },
{ 'mason-org/mason-lspconfig.nvim' },
-- Autocompletion
{ 'hrsh7th/nvim-cmp' },
{ 'hrsh7th/cmp-buffer' },
{ 'hrsh7th/cmp-path' },
{ 'hrsh7th/cmp-nvim-lsp-signature-help' },
{ 'saadparwaiz1/cmp_luasnip' },
{ 'hrsh7th/cmp-nvim-lsp' },
{ 'hrsh7th/cmp-nvim-lua' },
-- Snippets
{ 'L3MON4D3/LuaSnip' },
{ 'rafamadriz/friendly-snippets' },
}
}
use {
'L3MON4D3/LuaSnip',
--after = 'nvim-cmp',
requires = { "rafamadriz/friendly-snippets" },
config = function()
--require('config.snippets')
require("luasnip.loaders.from_vscode").lazy_load()
end,
run = "make install_jsregexp"
}
use 'rafamadriz/friendly-snippets'
use {
"folke/twilight.nvim",
config = function()
require("twilight").setup {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
end
}
use 'winston0410/cmd-parser.nvim'
use {
'winston0410/range-highlight.nvim',
config = function() require("range-highlight").setup {} end
}
use 'RRethy/vim-illuminate'
use 'mfussenegger/nvim-jdtls'
use {
"samjwill/nvim-unception",
setup = function()
-- Optional settings go here!
end
}
use {
"0oAstro/dim.lua",
requires = { "nvim-treesitter/nvim-treesitter", "neovim/nvim-lspconfig" },
config = function()
require('dim').setup({})
end
}
use 'mfussenegger/nvim-dap'
use { "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap" } }
use { 'stevearc/dressing.nvim' }
use {
'krady21/compiler-explorer.nvim',
config = function()
require("compiler-explorer").setup({
autocmd = {
enable = true,
hl = "Cursorline"
}
})
end
}
-- use 'ggandor/lightspeed.nvim'
use {
'ggandor/leap.nvim',
config = function()
require('leap').add_default_mappings()
end
}
use 'ollykel/v-vim'
use {
'windwp/nvim-ts-autotag',
config = function()
require('nvim-ts-autotag').setup()
end
}
use 'jbyuki/nabla.nvim'
use {
'ray-x/web-tools.nvim',
config = function()
require('web-tools').setup()
end
}
use {
'natecraddock/workspaces.nvim',
config = function()
require('workspaces').setup()
end
}
use {"smartpde/telescope-recent-files"}
use 'uga-rosa/ccc.nvim'
use 'tveskag/nvim-blame-line'
use {
'lewis6991/gitsigns.nvim',
config = function()
require('gitsigns').setup()
end
}
use 'Olical/conjure'
use 'PaterJason/cmp-conjure'
use {
'lukas-reineke/indent-blankline.nvim',
config = function()
require 'ibl'.setup{ scope = { enabled = false } }
end,
}
use 'jaawerth/fennel.vim'
use 'stefanos82/nelua.vim'
use 'leafo/moonscript-vim'
use 'teal-language/vim-teal'
use 'https://github.com/VaiN474/vim-etlua'
use 'folke/neodev.nvim'
use {
"kylechui/nvim-surround",
tag = "*", -- Use for stability; omit to use `main` branch for the latest features
config = function()
require("nvim-surround").setup({
-- Configuration here, or leave empty to use defaults
})
end
}
use 'nvim-tree/nvim-web-devicons'
use({
"utilyre/barbecue.nvim",
tag = "*",
requires = {
"SmiteshP/nvim-navic",
"nvim-tree/nvim-web-devicons", -- optional dependency
},
after = "nvim-web-devicons", -- keep this if you're using NvChad
config = function()
require("barbecue").setup()
end,
})
use {
'nvim-lualine/lualine.nvim',
requires = { 'nvim-tree/nvim-web-devicons', opt = true },
config = function()
local function lspactive()
local names = {}
for i, server in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do
table.insert(names, server.name)
end
return " [" .. table.concat(names, " ") .. "]"
-- return "[" .. table.concat(names, " ") .. "]"
end
require('lualine').setup {
options = {
globalstatus = true,
icons_enabled = true,
section_separators = { left = '', right = '' },
component_separators = { left = '', right = '' }
},
sections = {
lualine_a = { { 'mode', separator = { left = '', right = '' } }, },
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {lspactive, { 'diagnostics', icons_enabled = true }, 'branch', 'diff'},
lualine_y = {'encoding', 'fileformat', 'filetype'},
lualine_z = {'location', { 'progress', separator = { left = '', right = '' } }, },
},
}
end,
}
use {
'goolord/alpha-nvim',
requires = { 'nvim-tree/nvim-web-devicons' },
config = function ()
require'alpha'.setup(require'alpha.themes.startify'.config)
end
}
use 'aklt/plantuml-syntax'
use {
"tpope/vim-dadbod",
opt = true,
requires = {
"kristijanhusak/vim-dadbod-ui",
"kristijanhusak/vim-dadbod-completion",
},
config = function()
require("config.dadbod").setup()
end,
cmd = { "DBUIToggle", "DBUI", "DBUIAddConnection", "DBUIFindBuffer", "DBUIRenameBuffer", "DBUILastQueryInfo" },
}
use 'eandrju/cellular-automaton.nvim'
end)

View File

@@ -1,56 +0,0 @@
require('Comment').setup()
vim.g.mapleader = " "
vim.g.maplocalleader = ","
vim.keymap.set("n", "<leader>op", vim.cmd.Ex)
vim.keymap.set("n", "<leader>lp", ":lua require(\"nabla\").popup()<CR>")
vim.keymap.set("n", "<leader>ll", ":lua require(\"nabla\").toggle_virt()<CR>")
-- vim.keymap.set("n", "<C-x>", vim.cmd.nohlsearch)
vim.keymap.set("n", "<leader>x", vim.cmd.bdelete)
vim.keymap.set("n", "<leader>bd", ":bdelete!<CR>")
vim.keymap.set("n", "<leader>w", function()
vim.cmd.write();
vim.cmd.bdelete();
end)
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
vim.keymap.set("n", "J", "mzJ'z")
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv")
vim.keymap.set("n", "<leader>y", "\"+y")
vim.keymap.set("v", "<leader>y", "\"+y")
vim.keymap.set("n", "<leader>Y", "\"+Y")
vim.keymap.set("n", "<leader>p", "\"+p")
vim.keymap.set("v", "<leader>p", "\"+p")
vim.keymap.set("n", "<leader>P", "\"+P")
vim.keymap.set("n", "<leader>f", function()
vim.lsp.buf.format()
end)
vim.keymap.set("n", "<leader>tw", function()
vim.cmd.Twilight()
end)
vim.keymap.set("t", "<Esc><Esc>", "<C-\\><C-n>")
vim.keymap.set("n", "<leader>ec", ":e ~/.config/nvim<CR>")
vim.keymap.set("n", "<leader>bn", ":bnext<CR>")
vim.keymap.set("n", "<leader>bp", ":bprevious<CR>")
vim.keymap.set("n", "<leader>tn", ":tabnext<CR>")
vim.keymap.set("n", "<leader>tp", ":tabprevious<CR>")
vim.keymap.set("n", "<leader>to", ":tabnew<CR>")
vim.keymap.set("n", "<leader>td", ":tabclose<CR>")
vim.keymap.set("n", "<leader>tt", function()
require('telescope-tabs').list_tabs()
end)

50
config/.config/nvim/lua/config/set.lua Executable file → Normal file
View File

@@ -1,8 +1,8 @@
vim.opt.nu = true
vim.opt.relativenumber = true
vim.opt.wrap = true
vim.opt.linebreak = true
-- vim.opt.wrap = true
-- vim.opt.linebreak = true
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
@@ -10,34 +10,37 @@ vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.showmode = false
vim.opt.winborder = 'none'
vim.opt.smartindent = true
-- vim.opt.spell = true
vim.opt.spelllang = "en_us"
vim.opt.spelllang = 'en_us'
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
vim.opt.undodir = os.getenv('HOME') .. '/.nvim/undodir'
vim.opt.undofile = true
vim.opt.hlsearch = true
vim.opt.incsearch = true
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.isfname:append("@-@")
vim.opt.signcolumn = 'yes'
vim.opt.isfname:append('@-@')
vim.opt.updatetime = 50
vim.opt.colorcolumn = "80"
vim.opt.colorcolumn = '80'
vim.opt.splitright = true
vim.opt.splitbelow = true
vim.g.mapleader = " "
vim.g.mapleader = ' '
vim.g.neovide_scale_factor = 1.0
vim.g.neovide_theme = 'auto'
@@ -46,14 +49,39 @@ function ChangeScaleFactor(delta)
vim.g.neovide_scale_factor = vim.g.neovide_scale_factor * delta
end
vim.keymap.set("n", "<C-=>", function()
vim.keymap.set('n', '<C-=>', function()
ChangeScaleFactor(1.25)
end)
vim.keymap.set("n", "<C-->", function()
vim.keymap.set('n', '<C-->', function()
ChangeScaleFactor(1 / 1.25)
end)
vim.opt.guifont = { "Iosevka Term SS12", ":h12" }
vim.opt.guifont = { 'Iosevka Term SS12', ':h12' }
vim.opt.termguicolors = true
vim.g.netrw_keepdir = 0
vim.g.netrw_preview = 1
vim.g.netrw_alto = 0
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})

View File

@@ -0,0 +1,163 @@
return {
{
'rose-pine/neovim',
name = 'rose-pine',
priority = 1000,
lazy = true,
},
{
'tanvirtin/monokai.nvim',
priority = 1000,
lazy = true,
},
{
'arzg/vim-colors-xcode',
priority = 1000,
lazy = true,
},
{
'shaunsingh/nord.nvim',
priority = 1000,
lazy = true,
},
{
'kvrohit/mellow.nvim',
priority = 1000,
lazy = true,
},
{
'Mofiqul/vscode.nvim',
priority = 1000,
lazy = true,
},
{
'Th3Whit3Wolf/one-nvim',
priority = 1000,
lazy = true,
},
{
'mhartington/oceanic-next',
priority = 1000,
lazy = true,
},
{
'folke/tokyonight.nvim',
priority = 1000,
lazy = true,
},
{
'sainnhe/gruvbox-material',
priority = 1000,
lazy = true,
},
{
"ellisonleao/gruvbox.nvim",
priority = 1000,
lazy = true,
},
{
'sainnhe/everforest',
priority = 1000,
lazy = true,
},
{
'lourenci/github-colors',
priority = 1000,
lazy = true,
},
{
'navarasu/onedark.nvim',
priority = 1000,
lazy = true,
},
{
'shaunsingh/moonlight.nvim',
priority = 1000,
lazy = true,
},
{
'Mofiqul/dracula.nvim',
priority = 1000,
lazy = true,
},
{
'kdheepak/monochrome.nvim',
priority = 1000,
lazy = true,
},
{
"savq/melange-nvim",
priority = 1000,
lazy = true,
},
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
lazy = true,
},
-- use 'RRethy/nvim-base16'
{
'projekt0n/github-nvim-theme',
priority = 1000,
lazy = true,
},
{
'Everblush/nvim',
name = 'everblush',
priority = 1000,
lazy = true,
},
{
"lewpoly/sherbet.nvim",
priority = 1000,
lazy = true,
},
{
"EdenEast/nightfox.nvim",
priority = 1000,
lazy = true,
},
{
"f-person/auto-dark-mode.nvim",
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
set_dark_mode = function()
vim.api.nvim_set_option_value("background", "dark", {})
vim.cmd('colorscheme carbonfox')
end,
set_light_mode = function()
vim.api.nvim_set_option_value("background", "light", {})
vim.cmd('colorscheme dawnfox')
end,
},
},
-- use 'xiyaowong/transparent.nvim'
}

View File

@@ -0,0 +1,53 @@
return {
{
'ollykel/v-vim',
ft = 'v',
},
{
'jaawerth/fennel.vim',
ft = 'fnl',
},
{
'stefanos82/nelua.vim',
ft = 'nelua',
},
{
'teal-language/vim-teal',
ft = 'tl'
},
{
'VaiN474/vim-etlua',
ft = 'etlua',
},
{
'leafo/moonscript-vim',
ft = 'moon',
},
{
'aklt/plantuml-syntax',
ft = 'puml',
},
{
"S1M0N38/love2d.nvim",
-- event = "VeryLazy",
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,
},
}

View File

@@ -0,0 +1,139 @@
return {
{
'mason-org/mason.nvim',
event = 'VeryLazy',
opts = {},
},
{
'neovim/nvim-lspconfig',
event = 'VeryLazy',
},
{
"mason-org/mason-lspconfig.nvim",
event = 'VeryLazy',
opts = {},
dependencies = {
{ "mason-org/mason.nvim", opts = {} },
"neovim/nvim-lspconfig",
},
},
-- {
-- "MysticalDevil/inlay-hints.nvim",
-- event = "LspAttach",
-- dependencies = { "neovim/nvim-lspconfig" },
-- config = function()
-- require("inlay-hints").setup()
-- end
-- },
--
{
'saghen/blink.cmp',
-- optional: provides snippets for the snippet source
-- dependencies = { 'L3MON4D3/LuaSnip' },
-- use a release tag to download pre-built binaries
version = '1.*',
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
-- build = 'cargo build --release',
-- If you use nix, you can build from source using latest nightly rust with:
-- build = 'nix run .#build-plugin',
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
-- 'super-tab' for mappings similar to vscode (tab to accept)
-- 'enter' for enter to accept
-- 'none' for no mappings
--
-- All presets have the following mappings:
-- C-space: Open menu or open docs if already open
-- C-n/C-p or Up/Down: Select next/previous item
-- C-e: Hide menu
-- C-k: Toggle signature help (if signature.enabled = true)
--
-- See :h blink-cmp-config-keymap for defining your own keymap
keymap = { preset = 'default' },
-- snippets = { preset = 'mini_snippets' },
appearance = {
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
-- Adjusts spacing to ensure icons are aligned
nerd_font_variant = 'mono'
},
cmdline = {
completion = { menu = { auto_show = true } },
},
-- (Default) Only show the documentation popup when manually triggered
completion = {
trigger = {
show_on_insert = true
},
documentation = { auto_show = false },
list = {
selection = {
preselect = true,
auto_insert = false,
},
},
ghost_text = {
enabled = true,
show_with_menu = true,
},
menu = {
auto_show = true,
draw = {
components = {
-- customize the drawing of kind icons
kind_icon = {
text = function(ctx)
-- default kind icon
local icon = ctx.kind_icon
-- if LSP source, check for color derived from documentation
if ctx.item.source_name == "LSP" then
local color_item = require("nvim-highlight-colors").format(ctx.item.documentation, { kind = ctx.kind })
if color_item and color_item.abbr ~= "" then
icon = color_item.abbr
end
end
return icon .. ctx.icon_gap
end,
highlight = function(ctx)
-- default highlight group
local highlight = "BlinkCmpKind" .. ctx.kind
-- if LSP source, check for color derived from documentation
if ctx.item.source_name == "LSP" then
local color_item = require("nvim-highlight-colors").format(ctx.item.documentation, { kind = ctx.kind })
if color_item and color_item.abbr_hl_group then
highlight = color_item.abbr_hl_group
end
end
return highlight
end,
},
},
},
},
},
-- Default list of enabled providers defined so that you can extend it
-- elsewhere in your config, without redefining it, due to `opts_extend`
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer' },
},
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
--
-- See the fuzzy documentation for more information
fuzzy = { implementation = "prefer_rust_with_warning" }
},
opts_extend = { "sources.default" }
}
}

View File

@@ -0,0 +1,73 @@
return {
{
'nvim-treesitter/nvim-treesitter',
-- branch = 'main',
version = false,
lazy = false,
build = ':TSUpdate',
config = function()
require'nvim-treesitter.configs'.setup {
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
["af"] = "@function.outer",
["if"] = "@function.inner",
}
},
move = {
enable = true,
set_jumps = false,
goto_next_start = {
[']a'] = '@parameter.inner',
},
goto_previous_start = {
['[a'] = '@parameter.inner',
}
},
},
auto_install = true,
highlight = {
enable = true,
},
}
end
},
{
'nvim-treesitter/nvim-treesitter-textobjects',
},
-- {
-- 'folke/twilight.nvim',
-- dependencies = {
-- 'nvim-treesitter/nvim-treesitter',
-- },
-- cmd = {
-- 'Twilight',
-- 'TwilightEnable',
-- 'TwilightDisable',
-- },
-- },
-- {
-- 'RRethy/vim-illuminate',
-- event = 'VeryLazy',
-- lazy = false,
-- },
{
'0oAstro/dim.lua',
dependencies = {
'nvim-treesitter/nvim-treesitter',
'neovim/nvim-lspconfig'
},
event = 'LspAttach',
},
{
'windwp/nvim-ts-autotag',
event = 'VeryLazy',
},
}

View File

@@ -0,0 +1,76 @@
return {
{
'winston0410/range-highlight.nvim',
event = 'VeryLazy',
},
-- {
-- 'lukas-reineke/indent-blankline.nvim',
-- event = 'VeryLazy',
-- config = function()
-- require'ibl'.setup{ scope = { enabled = false } }
-- end
-- },
{
'nvim-tree/nvim-web-devicons',
-- event = 'VeryLazy',
lazy = true,
},
-- {
-- 'goolord/alpha-nvim',
-- dependencies = {
-- 'nvim-tree/nvim-web-devicons',
-- },
-- config = function()
-- require('alpha').setup(require'alpha.themes.startify'.config)
-- end
-- },
{
'lewis6991/gitsigns.nvim',
event = 'VeryLazy',
opts = {
current_line_blame = true,
}
},
{
'Bekaboo/dropbar.nvim',
},
{
'nvim-lualine/lualine.nvim',
dependencies = {
'nvim-tree/nvim-web-devicons',
},
config = function()
local function lspactive()
local names = {}
for i, server in pairs(vim.lsp.get_clients({ bufnr = 0 })) do
table.insert(names, server.name)
end
return " [" .. table.concat(names, " ") .. "]"
-- return "[" .. table.concat(names, " ") .. "]"
end
require('lualine').setup {
options = {
globalstatus = true,
icons_enabled = true,
section_separators = { left = '', right = '' },
component_separators = { left = '', right = '' }
},
sections = {
lualine_a = { { 'mode', separator = { left = '', right = '' } }, },
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {lspactive, { 'diagnostics', icons_enabled = true }, 'branch', 'diff'},
lualine_y = {'encoding', 'fileformat', 'filetype'},
lualine_z = {'location', { 'progress', separator = { left = '', right = '' } }, },
},
}
end
},
}

View File

@@ -0,0 +1,348 @@
return {
{
'nvim-lua/plenary.nvim',
-- event = 'VeryLazy',
lazy = true,
},
{
'RaafatTurki/hex.nvim',
config = true,
cmd = {
'HexDump',
'HexAssemble',
'HexToggle',
},
},
{
"sindrets/diffview.nvim",
event = 'VeryLazy',
},
{
'windwp/nvim-autopairs',
event = "InsertEnter",
config = true
-- use opts = {} for passing setup options
-- this is equivalent to setup({}) function
},
{
"NeogitOrg/neogit",
lazy = true,
dependencies = {
"nvim-lua/plenary.nvim", -- required
"sindrets/diffview.nvim", -- optional - Diff integration
-- Only one of these is needed.
-- "nvim-telescope/telescope.nvim", -- optional
-- "ibhagwan/fzf-lua", -- optional
-- "echasnovski/mini.pick", -- optional
"folke/snacks.nvim", -- optional
},
},
{
'brenoprata10/nvim-highlight-colors',
event = 'VeryLazy',
opts = {
render = 'virtual',
},
},
{
'ggandor/leap.nvim',
dependencies = {
'tpope/vim-repeat',
},
},
{
'LukasPietzschmann/telescope-tabs',
-- event = 'VeryLazy',
lazy = true,
branch = 'vim_ui_select',
config = function()
require('telescope-tabs').setup()
end
},
{
"folke/snacks.nvim",
priority = 1000,
lazy = false,
---@type snacks.Config
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
bigfile = { enabled = true },
-- dashboard = { enabled = true },
dim = { enabled = true },
-- explorer = { enabled = true },
-- git = { enabled = false },
image = {
enabled = true
},
indent = { enabled = true },
input = { enabled = true },
lazygit = { enabled = false },
picker = {
enabled = true,
layout = {
preset = 'ivy_split',
layout = {
height = 0.3,
},
},
},
notifier = { enabled = true },
-- quickfile = { enabled = true },
-- scope = { enabled = true },
-- scroll = { enabled = true },
terminal = { enabled = false },
-- statuscolumn = { enabled = true },
-- words = { enabled = true },
},
},
{
'echasnovski/mini.nvim',
config = function()
require('mini.starter').setup()
-- require('mini.cursorword').setup()
local miniclue = require'mini.clue'
miniclue.setup{
window = {
delay = 0,
config = {
width = 'auto',
},
},
triggers = {
-- Leader triggers
{ mode = 'n', keys = '<Leader>' },
{ mode = 'x', keys = '<Leader>' },
-- Built-in completion
{ mode = 'i', keys = '<C-x>' },
-- `g` key
{ mode = 'n', keys = 'g' },
{ mode = 'x', keys = 'g' },
-- Next
{ mode = 'n', keys = '['},
{ mode = 'n', keys = ']'},
{ mode = 'x', keys = '['},
{ mode = 'x', keys = ']'},
-- Marks
{ mode = 'n', keys = "'" },
{ mode = 'n', keys = '`' },
{ mode = 'x', keys = "'" },
{ mode = 'x', keys = '`' },
-- Registers
{ mode = 'n', keys = '"' },
{ mode = 'x', keys = '"' },
{ mode = 'i', keys = '<C-r>' },
{ mode = 'c', keys = '<C-r>' },
-- Window commands
{ mode = 'n', keys = '<C-w>' },
-- `z` key
{ mode = 'n', keys = 'z' },
{ mode = 'x', keys = 'z' },
-- Localleader
{ mode = 'n', keys = '<Localleader>'},
{ mode = 'x', keys = '<Localleader>'},
},
clues = {
-- Enhance this by adding descriptions for <Leader> mapping groups
miniclue.gen_clues.builtin_completion(),
miniclue.gen_clues.g(),
miniclue.gen_clues.marks(),
miniclue.gen_clues.registers(),
miniclue.gen_clues.windows(),
miniclue.gen_clues.z(),
{ mode = 'n', keys = '<leader>f', desc = '+Find' },
{ mode = 'x', keys = '<leader>f', desc = '+Find' },
{ mode = 'n', keys = '<leader>o', desc = '+Open' },
{ mode = 'x', keys = '<leader>o', desc = '+Open' },
{ mode = 'n', keys = '<leader>g', desc = '+Git' },
{ mode = 'x', keys = '<leader>g', desc = '+Git' },
},
}
end
},
{
'stevearc/oil.nvim',
---@module 'oil'
---@type oil.SetupOpts
opts = {
triggers = {
{ 'g', mode = { 'n', 'x' } },
},
skip_confirm_for_simple_edits = true,
prompt_save_on_select_new_entry = false,
},
-- Optional dependencies
dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
-- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations.
lazy = false,
},
{
'eandrju/cellular-automaton.nvim',
-- event = 'VeryLazy',
cmd = 'CellularAutomaton',
},
{
"kylechui/nvim-surround",
version = "^3.0.0", -- Use for stability; omit to use `main` branch for the latest features
event = "VeryLazy",
config = function()
require("nvim-surround").setup({
-- Configuration here, or leave empty to use defaults
})
end
},
{
'jbyuki/nabla.nvim',
lazy = true,
},
{
'krady21/compiler-explorer.nvim',
-- event = 'VeryLazy',
cmd = {
'CECompile',
'CECompileLive',
'CEFormat',
'CEAddLibrary',
'CELoadExample',
'CEOpenWebsite',
'CEDeleteCache',
'CEShowTooltip',
'CEGotoLabel',
},
opts = {
autocmd = {
enable = true,
hl = 'Cursorline',
},
}
},
{
'samjwill/nvim-unception',
event = 'VeryLazy',
},
{
"jake-stewart/multicursor.nvim",
branch = "1.0",
config = function()
local mc = require("multicursor-nvim")
mc.setup()
local set = vim.keymap.set
-- Add or skip cursor above/below the main cursor.
set({"n", "x"}, "<localleader>k", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
set({"n", "x"}, "<localleader>j", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end, { desc = "Add cursor to previous line" })
set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end, { desc = "Add cursor to next line" })
set({"n", "x"}, "<localleader>K", function() mc.lineSkipCursor(-1) end, { desc = "Skip previous line to add cursor" })
set({"n", "x"}, "<localleader>J", function() mc.lineSkipCursor(1) end, { desc = "Skip next line to add cursor" })
-- Add or skip adding a new cursor by matching word/selection
set({"n", "x"}, "<localleader>n", function() mc.matchAddCursor(1) end, { desc = "Add cursor to next currently selected word" })
set({"n", "x"}, "<localleader>s", function() mc.matchSkipCursor(1) end, { desc = "Skip next instance of current word to add cursor" })
set({"n", "x"}, "<localleader>N", function() mc.matchAddCursor(-1) end, { desc = "Add cursor to previous currently selected word" })
set({"n", "x"}, "<localleader>S", function() mc.matchSkipCursor(-1) end, { desc = "Skip previous instance of current word to add cursor" })
set({"n", "x"}, "<localleader>m", mc.operator, { desc = "Add cursors to text object" })
set("n", "<localleader>s", function()
vim.ui.input({prompt = "Match: "}, function(input) mc.operator({pattern = input}) end)
end, { desc = "Add cursors to regex match inside text object " })
set("n", "<localleader>*", function()
mc.operator({pattern = vim.fn.expand("<cword>")})
end, { desc = "Add cursors to current word inside text object" })
set("x", "<localleader>s", mc.matchCursors, { desc = "Add cursors to regex match inside visual selection" })
-- Add cursor at next argument treesitter
set({'n', 'x'}, ']A', function()
if vim.v.count < 1 then
mc.addCursor(']a')
else
for _=1, vim.v.count - 1 do
mc.addCursor(']a')
end
end
end, { desc = 'Create multicursor on next argument'})
set({'n', 'x'}, '[A', function()
if vim.v.count < 1 then
mc.addCursor('[a')
else
for _=1, vim.v.count - 1 do
mc.addCursor('[a')
end
end
end, { desc = 'Create multicursor on previous argument'})
-- Add and remove cursors with control + left click.
set("n", "<c-leftmouse>", mc.handleMouse)
set("n", "<c-leftdrag>", mc.handleMouseDrag)
set("n", "<c-leftrelease>", mc.handleMouseRelease)
-- Disable and enable cursors.
set({"n", "x"}, "<c-q>", mc.toggleCursor, { desc = "Toggle multiple cursors" })
-- Mappings defined in a keymap layer only apply when there are
-- multiple cursors. This lets you have overlapping mappings.
mc.addKeymapLayer(function(layerSet)
-- Select a different cursor as the main one.
layerSet({"n", "x"}, "<localleader>h", mc.prevCursor, { desc = "Make previous cursor primary" })
layerSet({"n", "x"}, "<localleader>l", mc.nextCursor, { desc = "Make next cursor primary" })
layerSet({"n", "x"}, "<left>", mc.prevCursor, { desc = "Make previous cursor primary" })
layerSet({"n", "x"}, "<right>", mc.nextCursor, { desc = "Make next cursor primary" })
-- Delete the main cursor.
layerSet({"n", "x"}, "<localleader>x", mc.deleteCursor)
-- Enable and clear cursors using escape.
layerSet("n", "<esc>", function()
if not mc.cursorsEnabled() then
mc.enableCursors()
else
mc.clearCursors()
end
end)
end)
-- Customize how cursors look.
local hl = vim.api.nvim_set_hl
hl(0, "MultiCursorCursor", { reverse = true })
hl(0, "MultiCursorVisual", { link = "Visual" })
hl(0, "MultiCursorSign", { link = "SignColumn"})
hl(0, "MultiCursorMatchPreview", { link = "Search" })
hl(0, "MultiCursorDisabledCursor", { reverse = true })
hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
hl(0, "MultiCursorDisabledSign", { link = "SignColumn"})
end
},
}

View File

@@ -10,8 +10,8 @@
## qute://help/configuring.html
## qute://help/settings.htm
##
import rosepine
rosepine.setup(c, 'rose-pine-moon', True)
# import rosepine
# rosepine.setup(c, 'rose-pine-moon', True)
## This is here so configs done via the GUI are still loaded.
## Remove it to not load settings done via the GUI.

View File

@@ -1,6 +1,6 @@
if [ "$XDG_SESSION_DESKTOP" = "sway" ] ; then
# https://github.com/swaywm/sway/issues/595
export _JAVA_AWT_WM_NONREPARENTING=1
# export _JAVA_AWT_WM_NONREPARENTING=1
export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/
fi

View File

@@ -1,4 +1,4 @@
rg --uu --color=always --line-number --no-heading --smart-case -H "${*:-}" | tr -d '\r' |
rg -uu --color=always --line-number --no-heading --smart-case -H "${*:-}" | tr -d '\r' |
fzf-tmux --cycle -p 80%,90% --ansi \
--color "hl:-1:underline,hl+:-1:underline:reverse" \
--delimiter : \

View File

@@ -1,9 +1,9 @@
set -g @rose_pine_variant 'main' # Options are 'main', 'moon' or 'dawn'
# set -g @rose_pine_variant 'main' # Options are 'main', 'moon' or 'dawn'
# List of plugins
#set -g @plugin 'tmux-plugins/tmux-sensible'
# set -g @plugin 'arcticicestudio/nord-tmux'
set -g @plugin 'rose-pine/tmux'
set -g @plugin 'tmux-plugins/tpm'
# set -g @plugin 'rose-pine/tmux'
# set -g @plugin 'tmux-plugins/tpm'
set -g default-terminal "tmux-256color"
# set -ga terminal-overrides ",alacritty:Tc"
set -ga terminal-overrides ",xterm-256color:Tc"
@@ -20,12 +20,17 @@ bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
set -g status-style "bg=default"
set -g status-position top
set -g window-status-current-style "fg=yellow"
set -g window-status-style "fg=magenta"
set -g base-index 1
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com:user/plugin'
# set -g @plugin 'git@bitbucket.com:user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
# run '~/.tmux/plugins/tpm/tpm'
#run-shell "tmux source-file ~/.local/share/tinted-theming/tinty/repos/tinted-tmux/colors/base16-$BASE16_THEME.conf"
set -g prefix None