Compare commits
3 Commits
wip
...
2c4a011a91
| Author | SHA1 | Date | |
|---|---|---|---|
| 2c4a011a91 | |||
| 21fdfcb77b | |||
| 950d782a11 |
@@ -1,117 +0,0 @@
|
||||
# LP Dark
|
||||
|
||||
declare-option str bg "111c22"
|
||||
declare-option str bgmenu "262b40"
|
||||
declare-option str fg "a1a3aa"
|
||||
declare-option str orange "d78c42"
|
||||
declare-option str blue "42a5d7"
|
||||
declare-option str sand "f2d1a6"
|
||||
declare-option str mint "96e9bf"
|
||||
declare-option str brick "b25e34"
|
||||
declare-option str darkmint "53acac"
|
||||
declare-option str pink "cc66cc"
|
||||
declare-option str pink2 "be59c0"
|
||||
declare-option str purple "7461d1"
|
||||
declare-option str yellow "acac53"
|
||||
declare-option str yellow2 "949438"
|
||||
declare-option str comment "70675c"
|
||||
declare-option str red "ae4242"
|
||||
declare-option str gray "8f92a3"
|
||||
declare-option str green "667c50"
|
||||
|
||||
declare-option str selectionalpha "80"
|
||||
|
||||
## CODE
|
||||
|
||||
set-face global value "rgb:%opt{mint}"
|
||||
set-face global type "rgb:%opt{darkmint}"
|
||||
set-face global variable "rgb:%opt{yellow}"
|
||||
set-face global module "rgb:%opt{blue}"
|
||||
set-face global function "rgb:%opt{yellow}"
|
||||
set-face global string "rgb:%opt{brick}"
|
||||
set-face global keyword "rgb:%opt{sand}"
|
||||
set-face global operator "rgb:%opt{orange}"
|
||||
set-face global attribute "rgb:%opt{yellow2}"
|
||||
set-face global comment "rgb:%opt{comment}"
|
||||
set-face global documentation "rgb:%opt{comment}"
|
||||
set-face global meta "rgb:%opt{pink2}"
|
||||
set-face global bultin "rgb:%opt{green}"
|
||||
|
||||
## MARKUP
|
||||
|
||||
set-face global title "rgb:%opt{brick}"
|
||||
set-face global header "rgb:%opt{orange}"
|
||||
set-face global mono "rgb:%opt{yellow2}"
|
||||
set-face global block "rgb:%opt{darkmint}"
|
||||
set-face global link "rgb:%opt{blue}"
|
||||
set-face global bullet "rgb:%opt{orange}"
|
||||
set-face global list "rgb:%opt{orange}"
|
||||
|
||||
## BUILTIN
|
||||
|
||||
set-face global Default "rgb:%opt{fg},rgb:%opt{bg}"
|
||||
set-face global PrimarySelection "rgb:%opt{bg},rgba:%opt{mint}%opt{selectionalpha}"
|
||||
set-face global SecondarySelection "rgb:%opt{bg},rgba:%opt{blue}%opt{selectionalpha}"
|
||||
set-face global PrimaryCursor "rgb:%opt{bg},rgb:%opt{mint}"
|
||||
set-face global SecondaryCursor "rgb:%opt{bg},rgb:%opt{blue}"
|
||||
set-face global PrimaryCursorEol "rgb:%opt{bg},rgb:%opt{pink}"
|
||||
set-face global SecondaryCursorEol "rgb:%opt{bg},rgb:%opt{purple}"
|
||||
set-face global MenuForeground "rgb:%opt{bg},rgb:%opt{darkmint}"
|
||||
set-face global MenuBackground "rgb:%opt{darkmint},rgb:%opt{bgmenu}"
|
||||
set-face global MenuInfo "rgb:%opt{comment}"
|
||||
set-face global Information "rgb:%opt{yellow},rgb:%opt{bgmenu}"
|
||||
set-face global InlineInformation "rgb:%opt{brick}"
|
||||
set-face global Error "rgb:%opt{orange}"
|
||||
set-face global DiagnosticError "default,default,rgb:%opt{red}+c"
|
||||
set-face global DiagnosticWarning "default,default,rgb:%opt{yellow}+c"
|
||||
set-face global StatusLine "rgb:%opt{yellow2},rgb:%opt{bgmenu}"
|
||||
set-face global StatusLineMode "rgb:%opt{mint}"
|
||||
set-face global StatusLineInfo "rgb:%opt{brick}"
|
||||
set-face global StatusLineValue "rgb:%opt{mint}"
|
||||
set-face global StatusCursor "rgb:%opt{bg},rgb:%opt{mint}"
|
||||
set-face global Prompt "rgb:%opt{mint}"
|
||||
set-face global BufferPadding "rgb:%opt{bg},rgb:%opt{bg}"
|
||||
|
||||
# Built-in highlighter faces
|
||||
|
||||
set-face global LineNumbers "rgb:%opt{comment}"
|
||||
set-face global LineNumberCursor "rgb:%opt{comment}"
|
||||
set-face global LineNumbersWrapped "rgb:%opt{bg},rgb:%opt{bg}"
|
||||
set-face global MatchingChar "rgb:%opt{sand}"
|
||||
set-face global Whitespace "rgb:%opt{gray}"
|
||||
set-face global WhitespaceIndent "rgb:%opt{gray}"
|
||||
set-face global WrapMarker "rgb:%opt{sand}"
|
||||
|
||||
# PLUGINS
|
||||
|
||||
# kak-lsp
|
||||
|
||||
set-face global InfoDefault "default"
|
||||
set-face global InfoBlock "rgb:%opt{darkmint}"
|
||||
set-face global InfoBlockQuote "rgb:%opt{orange}"
|
||||
set-face global InfoBullet "rgb:%opt{orange}"
|
||||
set-face global InfoHeader "rgb:%opt{orange}"
|
||||
set-face global InfoLink "rgb:%opt{blue}"
|
||||
set-face global InfoLinkMono "rgb:%opt{yellow2}"
|
||||
|
||||
set-face global InfoMono "rgb:%opt{darkmint}"
|
||||
set-face global InfoRule "rgb:%opt{orange}"
|
||||
set-face global InfoDiagnosticError "rgb:%opt{red}"
|
||||
set-face global InfoDiagnosticHint "rgb:%opt{blue}"
|
||||
set-face global InfoDiagnosticInformation "rgb:%opt{sand}"
|
||||
set-face global InfoDiagnosticWarning "rgb:%opt{yellow}"
|
||||
|
||||
set-face global LineFlagError "rgb:%opt{red}"
|
||||
set-face global LineFlagHint "rgb:%opt{blue}"
|
||||
set-face global LineFlagInfo "rgb:%opt{sand}"
|
||||
set-face global LineFlagWarning "rgb:%opt{yellow}"
|
||||
|
||||
set-face global InlayDiagnosticError "rgb:%opt{red}"
|
||||
set-face global InlayDiagnosticHint "rgb:%opt{blue}"
|
||||
set-face global InlayDiagnosticInfo "rgb:%opt{sand}"
|
||||
set-face global InlayDiagnosticWarning "rgb:%opt{yellow}"
|
||||
|
||||
set-face global LineFlagError "rgb:%opt{red}"
|
||||
set-face global LineFlagHint "rgb:%opt{blue}"
|
||||
set-face global LineFlagInfo "rgb:%opt{sand}"
|
||||
set-face global LineFlagWarning "rgb:%opt{yellow}"
|
||||
@@ -1,122 +0,0 @@
|
||||
# OPTIONS
|
||||
|
||||
set-option global startup_info_version 20260412
|
||||
set-option global ui_options terminal_assistant=none
|
||||
|
||||
add-highlighter global/ number-lines -relative
|
||||
|
||||
# LOCAL
|
||||
|
||||
nop %sh{
|
||||
mkdir -p "$kak_config/autoload"
|
||||
ln -s "$kak_runtime/autoload" "$kak_config/autoload/stdlib"
|
||||
}
|
||||
|
||||
declare-user-mode file-mode
|
||||
declare-user-mode options-mode
|
||||
|
||||
map global -docstring "File" user 'f' ': enter-user-mode file-mode<ret>'
|
||||
|
||||
map global -docstring "Open (git)" file-mode 'a' ': file-open-git<ret>'
|
||||
map global -docstring "Git diff file" file-mode 'd' ': git diff %val{buffile}<ret>'
|
||||
map global -docstring "Open (fd)" file-mode 'f' ': file-open<ret>'
|
||||
map global -docstring "Git grep" file-mode 'g' ': git grep '
|
||||
|
||||
map global -docstring "Options" user 'o' ': enter-user-mode options-mode<ret>'
|
||||
|
||||
map global -docstring "Light mode" options-mode 'l' ': colorscheme one-light<ret>'
|
||||
map global -docstring "Dark mode" options-mode 'd' ': colorscheme one-darker<ret>'
|
||||
map global -docstring "LP Dark mode" options-mode 'D' ': colorscheme lp-dark<ret>'
|
||||
|
||||
map global -docstring "Paste clipboard (append)" user 'p' '<a-!> xsel -bo<ret>'
|
||||
map global -docstring "Paste clipboard (insert)" user 'P' '! xsel -bo<ret>'
|
||||
map global -docstring "Yank to clipboard" user 'y' '<a-|> xsel -bi<ret>'
|
||||
|
||||
define-command -override file-open %{
|
||||
prompt -menu -shell-script-candidates %{ fd -t f } 'File: ' %{ edit -- %val{text} }
|
||||
}
|
||||
|
||||
define-command -override file-open-git %{
|
||||
prompt -menu -shell-script-candidates %{ git ls-files } 'File (git): ' %{ edit -- %val{text} }
|
||||
}
|
||||
|
||||
# ODIN
|
||||
|
||||
hook global BufSetOption filetype=odin %{
|
||||
set-option buffer formatcmd 'odinfmt -stdin'
|
||||
}
|
||||
|
||||
# LSP
|
||||
|
||||
eval %sh{kak-lsp}
|
||||
lsp-enable
|
||||
|
||||
set-option global modelinefmt "%opt{lsp_modeline} %opt{modelinefmt}"
|
||||
|
||||
map global user l ': enter-user-mode lsp<ret>' -docstring 'LSP mode'
|
||||
|
||||
map global goto d <esc>:lsp-definition<ret> -docstring 'LSP definition'
|
||||
map global goto r <esc>:lsp-references<ret> -docstring 'LSP references'
|
||||
map global goto y <esc>:lsp-type-definition<ret> -docstring 'LSP type definition'
|
||||
|
||||
map global insert <tab> '<a-;>:try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
|
||||
|
||||
map global object a '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
||||
map global object <a-a> '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
||||
map global object f '<a-semicolon>lsp-object Function Method<ret>' -docstring 'LSP function or method'
|
||||
map global object t '<a-semicolon>lsp-object Class Interface Module Namespace Struct<ret>' -docstring 'LSP class or module'
|
||||
map global object d '<a-semicolon>lsp-diagnostic-object error warning<ret>' -docstring 'LSP errors and warnings'
|
||||
map global object D '<a-semicolon>lsp-diagnostic-object error<ret>' -docstring 'LSP errors'
|
||||
|
||||
map global lsp p '<esc>: lsp-find-error --previous error<ret>' -docstring 'find previous error'
|
||||
|
||||
# BUNDLE
|
||||
|
||||
source "%val{config}/bundle/kak-bundle/rc/kak-bundle.kak"
|
||||
bundle-noload kak-bundle https://codeberg.org/jdugan6240/kak-bundle
|
||||
|
||||
# COLORSCHEME
|
||||
|
||||
bundle-theme kak-one "https://codeberg.org/raiguard/kak-one"
|
||||
colorscheme 'one-darker'
|
||||
|
||||
bundle-theme kakoune-themes "https://codeberg.org/anhsirk0/kakoune-themes"
|
||||
|
||||
# FZF
|
||||
|
||||
bundle fzf.kak "https://github.com/andreyorst/fzf.kak" %{
|
||||
map global user s ': fzf-mode<ret>'
|
||||
}
|
||||
|
||||
hook global BufCreate [^*].* %{
|
||||
nop %sh{
|
||||
mru=~/.cache/kak-mru
|
||||
echo "$kak_buffile" | awk '!seen[$0]++' - "$mru" | sponge "$mru"
|
||||
}}
|
||||
|
||||
# SURROUND
|
||||
|
||||
bundle kakoune-surround "h-youhei/kakoune-surround" %{
|
||||
declare-user-mode surround
|
||||
map global surround s ': surround<ret>' -docstring 'surround'
|
||||
map global surround c ': change-surround<ret>' -docstring 'change'
|
||||
map global surround d ': delete-surround<ret>' -docstring 'delete'
|
||||
map global surround t ': select-surrounding-tag<ret>' -docstring 'select tag'
|
||||
map global -docstring 'Surround' user 'S' ': enter-user-mode surround<ret>'
|
||||
}
|
||||
|
||||
# HARPOON
|
||||
|
||||
bundle kak-harpoon "https://codeberg.org/raiguard/kak-harpoon" %{
|
||||
harpoon-add-bindings
|
||||
}
|
||||
|
||||
# EASYMOTION
|
||||
|
||||
bundle easymotion.kak https://git.sr.ht/~voroskoi/easymotion.kak %{
|
||||
require-module easymotion
|
||||
map global -docstring 'easy j' user <j> ': easymotion-j<ret>'
|
||||
map global -docstring 'easy k' user <k> ': easymotion-k<ret>'
|
||||
map global -docstring 'easy w' user <w> ': easymotion-w<ret>'
|
||||
map global -docstring 'easy b'user <b> ': easymotion-b<ret>'
|
||||
}
|
||||
@@ -2,22 +2,15 @@ font_family HurmitNerdFont
|
||||
font_size 11
|
||||
|
||||
cursor_blink_interval 0
|
||||
enable_audio_bell no
|
||||
visual_bell_duration 1.0
|
||||
|
||||
tab_bar_min_tabs 1
|
||||
tab_bar_style powerline
|
||||
tab_bar_edge top
|
||||
tab_bar_filter session:~ or session:^$
|
||||
tab_title_template "{index}:{session_name}:{bell_symbol}{activity_symbol}{title}"
|
||||
tab_powerline_style round
|
||||
|
||||
open_url_with qutebrowser
|
||||
|
||||
action_alias launch_tab_home launch --type tab --cwd=~
|
||||
kitten_alias hints hints --hints-background-color red --hints-foreground-color white
|
||||
|
||||
allow_remote_control yes
|
||||
action_alias launch_tab launch --type=tab --cwd=current
|
||||
|
||||
map ctrl+shift+6 no_op
|
||||
map ctrl+shift+0 nth_window -1
|
||||
@@ -38,28 +31,19 @@ map ctrl+alt+j neighboring_window down
|
||||
map ctrl+alt+k neighboring_window up
|
||||
map ctrl+alt+l neighboring_window right
|
||||
|
||||
map ctrl+alt+a last_used_layout
|
||||
map ctrl+alt+b goto_layout fat
|
||||
map ctrl+alt+return last_used_layout
|
||||
map ctrl+alt+f goto_layout fat
|
||||
map ctrl+alt+g goto_layout grid
|
||||
map ctrl+alt+r goto_layout tall
|
||||
map ctrl+alt+v goto_layout tall
|
||||
|
||||
map ctrl+alt+space goto_session -1
|
||||
map ctrl+alt+return new_window_with_cwd
|
||||
map ctrl+alt+d new_tab_with_cwd sh -c 'cd $(kitten choose-file --mode dir) && nvim'
|
||||
map ctrl+alt+e new_tab_with_cwd nvim
|
||||
map ctrl+alt+i new_tab_with_cwd lazygit
|
||||
map ctrl+alt+f new_tab_with_cwd sh -c 'nvim $(kitten choose-file)'
|
||||
map ctrl+alt+e launch_tab nvim
|
||||
map ctrl+alt+m toggle_layout stack
|
||||
map ctrl+alt+o goto_session ~/.config/kitty/sessions
|
||||
map ctrl+alt+/ goto_session --sort-by=alphabetical ~/.config/kitty/sessions
|
||||
map ctrl+alt+p new_tab_with_cwd spf
|
||||
map ctrl+alt+s launch --stdin-source=@screen_scrollback --type=overlay nvim -R -
|
||||
map ctrl+alt+w new_window_with_cwd
|
||||
map ctrl+alt+t new_tab_with_cwd
|
||||
map ctrl+alt+x close_window_with_confirmation
|
||||
map ctrl+alt+u>d launch_tab_home sh -c 'cd $(kitten choose-file --mode dir) && nvim'
|
||||
map ctrl+alt+u>f launch_tab_home sh -c 'nvim $(kitten choose-file)'
|
||||
map ctrl+alt+v focus_visible_window
|
||||
map ctrl+alt+y new_window nvim @selection
|
||||
|
||||
map ctrl+alt+shift+s save_as_session --base-dir ~/.config/kitty/sessions --match=session:.
|
||||
@@ -68,6 +52,6 @@ map ctrl+alt+shift+w detach_window
|
||||
map ctrl+alt+shift+x close_session .
|
||||
|
||||
# BEGIN_KITTY_THEME
|
||||
# Lupanbones-Dark
|
||||
# Kanagawa
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
foreground #9da0af
|
||||
background #1f212e
|
||||
selection_foreground #808080
|
||||
selection_background #4d5580
|
||||
|
||||
cursor #bf8040
|
||||
cursor_text_color #1f212e
|
||||
|
||||
active_border_color #862d2d
|
||||
inactive_border_color #4d5580
|
||||
|
||||
active_tab_foreground #9da0af
|
||||
active_tab_background #4d5580
|
||||
inactive_tab_foreground #1f212e
|
||||
inactive_tab_background #808080
|
||||
|
||||
color1 #862d2d
|
||||
color2 #3a783a
|
||||
color3 #707010
|
||||
color4 #345eb2
|
||||
color5 #cc66cc
|
||||
color6 #3a7878
|
||||
color7 #a1a3aa
|
||||
color8 #4d4d4d
|
||||
color9 #c27070
|
||||
color10 #40bf40
|
||||
color11 #acac53
|
||||
color12 #6b8ac7
|
||||
color13 #8f248f
|
||||
color14 #509595
|
||||
color15 #dbdff0
|
||||
@@ -1,34 +0,0 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
foreground #1f212e
|
||||
background #faf8f5
|
||||
selection_foreground #1f212e
|
||||
selection_background #a6c7f2
|
||||
|
||||
cursor #1f212e
|
||||
cursor_text_color #faf8f5
|
||||
|
||||
active_border_color #862d2d
|
||||
inactive_border_color #a6c7f2
|
||||
|
||||
active_tab_foreground #1f212e
|
||||
active_tab_background #a6c7f2
|
||||
inactive_tab_foreground #faf8f5
|
||||
inactive_tab_background #808080
|
||||
|
||||
color0 #1f212e
|
||||
color1 #862d2d
|
||||
color2 #3a783a
|
||||
color3 #707010
|
||||
color4 #345eb2
|
||||
color5 #cc66cc
|
||||
color6 #3a7878
|
||||
color7 #a1a3aa
|
||||
color8 #73778c
|
||||
color9 #c27070
|
||||
color10 #40bf40
|
||||
color11 #acac53
|
||||
color12 #6b8ac7
|
||||
color13 #8f248f
|
||||
color14 #509595
|
||||
color15 #dae4f1
|
||||
@@ -1,55 +0,0 @@
|
||||
local colors_name = "lupanbones"
|
||||
vim.g.colors_name = colors_name -- Required when defining a colorscheme
|
||||
|
||||
local lush = require "lush"
|
||||
local hsluv = lush.hsluv -- Human-friendly hsl
|
||||
local util = require "zenbones.util"
|
||||
|
||||
local bg = vim.o.background
|
||||
|
||||
-- Define a palette. Use `palette_extend` to fill unspecified colors
|
||||
local palette
|
||||
if bg == "light" then
|
||||
palette = util.palette_extend({
|
||||
bg = hsluv "#faf8f5",
|
||||
fg = hsluv "#1f212e",
|
||||
rose = hsluv "#bf8040",
|
||||
leaf = hsluv "#3d8f66",
|
||||
wood = hsluv "#acac53",
|
||||
water = hsluv "#6b8ac7",
|
||||
blossom = hsluv "#93806c",
|
||||
sky = hsluv "#7461d1",
|
||||
}, bg)
|
||||
else
|
||||
palette = util.palette_extend({
|
||||
bg = hsluv "#1f212e",
|
||||
fg = hsluv "#9da0af",
|
||||
rose = hsluv "#bf8040",
|
||||
leaf = hsluv "#3d8f66",
|
||||
wood = hsluv "#d1d147",
|
||||
water = hsluv "#6b8ac7",
|
||||
blossom = hsluv "#93806c",
|
||||
sky = hsluv "#7461d1",
|
||||
}, bg)
|
||||
end
|
||||
|
||||
-- Generate the lush specs using the generator util
|
||||
local generator = require "zenbones.specs"
|
||||
local base_specs = generator.generate(palette, bg, generator.get_global_config(colors_name, bg))
|
||||
|
||||
-- Optionally extend specs using Lush
|
||||
local specs = lush.extends({ base_specs }).with(function()
|
||||
return {
|
||||
Statement { base_specs.Statement, fg = palette.rose },
|
||||
String { fg = palette.leaf },
|
||||
Special { fg = palette.water },
|
||||
Type { fg = palette.sky, gui = "italic" },
|
||||
Delimiter { fg = palette.blossom },
|
||||
}
|
||||
end)
|
||||
|
||||
-- Pass the specs to lush to apply
|
||||
lush(specs)
|
||||
|
||||
-- Optionally set term colors
|
||||
require("zenbones.term").apply_colors(palette)
|
||||
@@ -1,55 +0,0 @@
|
||||
local colors_name = "lupandimbones"
|
||||
vim.g.colors_name = colors_name -- Required when defining a colorscheme
|
||||
|
||||
local lush = require "lush"
|
||||
local hsluv = lush.hsluv -- Human-friendly hsl
|
||||
local util = require "zenbones.util"
|
||||
|
||||
local bg = vim.o.background
|
||||
|
||||
-- Define a palette. Use `palette_extend` to fill unspecified colors
|
||||
local palette
|
||||
if bg == "light" then
|
||||
palette = util.palette_extend({
|
||||
bg = hsluv "#ebeee8",
|
||||
fg = hsluv "#1f212e",
|
||||
rose = hsluv "#9d6948",
|
||||
leaf = hsluv "#66824a",
|
||||
wood = hsluv "#bd720f",
|
||||
water = hsluv "#3a7878",
|
||||
blossom = hsluv "#70675c",
|
||||
sky = hsluv "#463da9",
|
||||
}, bg)
|
||||
else
|
||||
palette = util.palette_extend({
|
||||
bg = hsluv "#0d0d0c",
|
||||
fg = hsluv "#5c6570",
|
||||
rose = hsluv "#814c31",
|
||||
leaf = hsluv "#526241",
|
||||
wood = hsluv "#d78c42",
|
||||
water = hsluv "#3a7878",
|
||||
blossom = hsluv "#70675c",
|
||||
sky = hsluv "#584b9b",
|
||||
}, bg)
|
||||
end
|
||||
|
||||
-- Generate the lush specs using the generator util
|
||||
local generator = require "zenbones.specs"
|
||||
local base_specs = generator.generate(palette, bg, generator.get_global_config(colors_name, bg))
|
||||
|
||||
-- Optionally extend specs using Lush
|
||||
local specs = lush.extends({ base_specs }).with(function()
|
||||
return {
|
||||
Statement { base_specs.Statement, fg = palette.rose },
|
||||
String { fg = palette.leaf },
|
||||
Special { fg = palette.water },
|
||||
Type { fg = palette.sky, gui = "italic" },
|
||||
Delimiter { fg = palette.blossom },
|
||||
}
|
||||
end)
|
||||
|
||||
-- Pass the specs to lush to apply
|
||||
lush(specs)
|
||||
|
||||
-- Optionally set term colors
|
||||
require("zenbones.term").apply_colors(palette)
|
||||
@@ -7,7 +7,6 @@ require("plugins.auto-session")
|
||||
require("plugins.colorscheme")
|
||||
require("plugins.conform")
|
||||
require("plugins.flash")
|
||||
require("plugins.fzf-lua")
|
||||
require("plugins.guess-indent")
|
||||
require("plugins.luasnip")
|
||||
require("plugins.multicursor")
|
||||
@@ -15,6 +14,7 @@ require("plugins.nvim-various-textobjs")
|
||||
require("plugins.oil")
|
||||
require("plugins.slimline")
|
||||
require("plugins.snacks")
|
||||
require("plugins.telescope")
|
||||
require("plugins.surround")
|
||||
require("plugins.treesitter")
|
||||
require("plugins.which-key")
|
||||
|
||||
@@ -15,6 +15,7 @@ vim.api.nvim_create_autocmd("LspAttach", {
|
||||
return { abbr = item.label:gsub("%b()", "") }
|
||||
end,
|
||||
})
|
||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action)
|
||||
vim.keymap.set("i", "<C-space>", vim.lsp.completion.get)
|
||||
vim.keymap.set("n", "<leader>k", function()
|
||||
vim.diagnostic.jump({ float = true, count = -1 })
|
||||
|
||||
@@ -8,17 +8,8 @@ vim.opt.relativenumber = true
|
||||
vim.opt.signcolumn = "yes"
|
||||
vim.opt.title = true
|
||||
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true
|
||||
|
||||
vim.opt.timeout = false
|
||||
|
||||
vim.o.undofile = true
|
||||
|
||||
vim.cmd([[autocmd TermOpen * startinsert]]);
|
||||
|
||||
vim.filetype.add({
|
||||
extension = {
|
||||
["kitty-session"] = 'kitty',
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
vim.pack.add({ "https://github.com/rmagatti/auto-session" })
|
||||
|
||||
vim.keymap.set("n", "<leader>wy", "<cmd>AutoSession search<cr>")
|
||||
vim.keymap.set("n", "<leader>wa", "<cmd>AutoSession search<cr>")
|
||||
|
||||
local ok, sess = pcall(require, "auto-session")
|
||||
if ok then
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
vim.pack.add({
|
||||
"https://github.com/EdenEast/nightfox.nvim",
|
||||
"https://github.com/rebelot/kanagawa.nvim",
|
||||
"https://github.com/kepano/flexoki-neovim",
|
||||
"https://github.com/rktjmp/lush.nvim",
|
||||
"https://github.com/zenbones-theme/zenbones.nvim",
|
||||
"https://github.com/xero/miasma.nvim",
|
||||
})
|
||||
vim.pack.add({ "https://github.com/EdenEast/nightfox.nvim", "https://github.com/rebelot/kanagawa.nvim" })
|
||||
|
||||
local cs = require("config.colorscheme")
|
||||
cs.set_colorschemes("lupanbones", "lupanbones")
|
||||
cs.set_colorschemes("kanagawa-wave", "dayfox")
|
||||
cs.update_colorscheme()
|
||||
|
||||
@@ -1,232 +0,0 @@
|
||||
vim.pack.add({
|
||||
"https://github.com/ibhagwan/fzf-lua",
|
||||
"https://github.com/elanmed/fzf-lua-frecency.nvim",
|
||||
})
|
||||
|
||||
local ok, fzf = pcall(require, "fzf-lua")
|
||||
local ok2, frecency = pcall(require, "fzf-lua-frecency")
|
||||
if ok then
|
||||
fzf.setup({
|
||||
keymap = {
|
||||
builtin = {
|
||||
true,
|
||||
["<M-m>"] = "toggle-fullscreen",
|
||||
},
|
||||
fzf = {
|
||||
true,
|
||||
-- Use <c-q> to select all items and add them to the quickfix list
|
||||
["ctrl-q"] = "select-all+accept",
|
||||
},
|
||||
}
|
||||
})
|
||||
fzf.register_ui_select()
|
||||
local odin_pkg = "~/cloned/Odin"
|
||||
local function go_root()
|
||||
return vim.fn.trim(vim.fn.system("go env GOROOT"))
|
||||
end
|
||||
local go_root_pkg = nil
|
||||
local function go_mod()
|
||||
return vim.fs.joinpath(vim.fn.trim(vim.fn.system("go env GOPATH")), "pkg/mod")
|
||||
end
|
||||
local go_mod_pkg = nil
|
||||
local function go_grep(cwd)
|
||||
local input = vim.fn.input("Go grep declarations> ")
|
||||
if #input == 0 then
|
||||
return
|
||||
end
|
||||
local search1 = "^(func|type) .*(?<= )(?=[A-Z])[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]*( |\\()"
|
||||
local search2 = "^[\\t]+(?=[A-Z])[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]* +="
|
||||
local search = "(" .. search1 .. "|" .. search2 .. ")"
|
||||
fzf.grep({
|
||||
cwd = cwd,
|
||||
cmd = "rg -P -g '*.go'",
|
||||
search = search,
|
||||
no_esc = true,
|
||||
profile = 'ivy',
|
||||
})
|
||||
end
|
||||
local function odin_grep(cwd)
|
||||
local input = vim.fn.input("Odin grep declarations> ")
|
||||
if #input == 0 then
|
||||
return
|
||||
end
|
||||
local search = "^[ \\t]*[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]* +::"
|
||||
fzf.grep({
|
||||
cwd = cwd,
|
||||
cmd = "rg -g '*.odin'",
|
||||
search = search,
|
||||
no_esc = true,
|
||||
profile = 'ivy',
|
||||
})
|
||||
end
|
||||
local set = vim.keymap.set
|
||||
set("n", "<leader>ba", fzf.buffers, { desc = "FzfLua buffers" })
|
||||
set("n", "<leader>bh", fzf.history, { desc = "FzfLua history" })
|
||||
set("n", "<leader>bj", fzf.jumps, { desc = "FzfLua jumps" })
|
||||
set("n", "<leader>ca", fzf.lsp_code_actions, { desc = "FzfLua LSP code actions" })
|
||||
set("n", "<leader>cb", fzf.complete_bline, { desc = "FzfLua complete buffer line" })
|
||||
set("n", "<leader>cc", fzf.commands, { desc = "FzfLua commands" })
|
||||
set("n", "<leader>cf", fzf.complete_file, { desc = "FzfLua complete file" })
|
||||
set("n", "<leader>cF", fzf.complete_path, { desc = "FzfLua complete path" })
|
||||
set("n", "<leader>ch", fzf.command_history, { desc = "FzfLua command history" })
|
||||
set("n", "<leader>cH", fzf.highlights, { desc = "FzfLua color highlights" })
|
||||
set("n", "<leader>cl", fzf.complete_line, { desc = "FzfLua complete line" })
|
||||
set("n", "<leader>co", fzf.nvim_options, { desc = "FzfLua nvim options" })
|
||||
set("n", "<leader>cr", fzf.profiles, { desc = "FzfLua fzf profiles" })
|
||||
set("n", "<leader>cs", fzf.colorschemes, { desc = "FzfLua color schemes" })
|
||||
set("n", "<leader>ct", fzf.tabs, { desc = "FzfLua tabs" })
|
||||
set("n", "<leader>da", fzf.diagnostics_document, { desc = "FzfLua document diagnostics" })
|
||||
set("n", "<leader>dw", fzf.diagnostics_workspace, { desc = "FzfLua workspace diagnostics" })
|
||||
set("n", "<leader>ec", function()
|
||||
fzf.files({ cwd = vim.fn.stdpath("config") })
|
||||
end, { desc = "FzfLua nvim config files" })
|
||||
set("n", "<leader>ep", function()
|
||||
fzf.files({ cwd = vim.fs.joinpath(vim.fn.stdpath("data"), "site") })
|
||||
end, { desc = "FzfLua find files" })
|
||||
set("n", "<leader>es", function()
|
||||
fzf.files({ cwd = '~/.config/kitty/sessions' })
|
||||
end, { desc = "FzfLua kitty sessions" })
|
||||
set("n", "<leader>eS", "<cmd>Oil ~/.config/kitty/sessions<cr>", { desc = "Kitty sessions (dir)" })
|
||||
set("n", "<leader>fa", fzf.git_files, { desc = "FzfLua git files" })
|
||||
set("n", "<leader>ff", fzf.files, { desc = "FzfLua find files" })
|
||||
set("n", "<leader>fg", fzf.global, { desc = "FzfLua global" })
|
||||
set("n", "<leader>fo", frecency.frecency, { desc = "FzfLua frecency oldfiles" })
|
||||
set("n", "<leader>ft", fzf.filetypes, { desc = "FzfLua file types" })
|
||||
set("n", "<leader>;", function()
|
||||
frecency.frecency({ cwd_only = true })
|
||||
end, { desc = "FzfLua frecency files" })
|
||||
set("n", "<leader>gb", fzf.git_branches, { desc = "FzfLua git branches" })
|
||||
set("n", "<leader>gB", fzf.git_blame, { desc = "FzfLua git blame" })
|
||||
set("n", "<leader>gc", fzf.git_bcommits, { desc = "FzfLua git buffer commits" })
|
||||
set("n", "<leader>gC", fzf.git_commits, { desc = "FzfLua git commits" })
|
||||
set("n", "<leader>gd", fzf.git_diff, { desc = "FzfLua git diff" })
|
||||
set("n", "<leader>gh", fzf.git_hunks, { desc = "FzfLua git hunks" })
|
||||
set("n", "<leader>gC", fzf.git_commits, { desc = "FzfLua git commits" })
|
||||
set("n", "<leader>gs", fzf.git_status, { desc = "FzfLua git status" })
|
||||
set("n", "<leader>gS", fzf.git_stash, { desc = "FzfLua git stash" })
|
||||
set("n", "<leader>gt", fzf.git_tags, { desc = "FzfLua git tags" })
|
||||
set("n", "<leader>gw", fzf.git_worktrees, { desc = "FzfLua git worktrees" })
|
||||
set("n", "<leader>ha", fzf.helptags, { desc = "FzfLua help tags" })
|
||||
set("n", "<leader>hk", fzf.keymaps, { desc = "FzfLua keymaps" })
|
||||
set("n", "<leader>ma", fzf.marks, { desc = "FzfLua marks" })
|
||||
set("n", "<leader>mp", fzf.manpages, { desc = "FzfLua man pages" })
|
||||
set("n", "<leader>qa", fzf.quickfix, { desc = "FzfLua quickfix" })
|
||||
set("n", "<leader>qs", fzf.quickfix_stack, { desc = "FzfLua quickfix stack" })
|
||||
set("n", "<leader>ql", fzf.loclist, { desc = "FzfLua loclist" })
|
||||
set("n", "<leader>qh", fzf.loclist_stack, { desc = "FzfLua loclist stack" })
|
||||
set("n", "<leader>ra", fzf.resume, { desc = "FzfLua resume" })
|
||||
set("n", "<leader>rr", fzf.registers, { desc = "FzfLua registers" })
|
||||
set("n", "<leader>ta", fzf.treesitter, { desc = "FzfLua treesitter symbols" })
|
||||
set("n", "<leader>sa", fzf.live_grep, { desc = "FzfLua live grep" })
|
||||
set("n", "<leader>sb", fzf.blines, { desc = "FzfLua buffer lines" })
|
||||
set("n", "<leader>sB", fzf.grep_curbuf, { desc = "FzfLua grep current buffer" })
|
||||
set("n", "<leader>sg", fzf.grep, { desc = "FzfLua grep" })
|
||||
set("n", "<leader>sh", fzf.search_history, { desc = "FzfLua search history" })
|
||||
set("n", "<leader>sl", fzf.grep_loclist, { desc = "FzfLua grep loclist" })
|
||||
set("n", "<leader>sn", fzf.live_grep_native, { desc = "FzfLua live grep native" })
|
||||
set("n", "<leader>so", fzf.lines, { desc = "FzfLua open buffers lines" })
|
||||
set("n", "<leader>sp", fzf.grep_project, { desc = "FzfLua grep project" })
|
||||
set("n", "<leader>sq", fzf.grep_quickfix, { desc = "FzfLua grep quickfix" })
|
||||
set("n", "<leader>sr", function() fzf.grep({ resume = true }) end, { desc = "FzfLua grep resume" })
|
||||
set("n", "<leader>sc", fzf.spellcheck, { desc = "FzfLua spell check" })
|
||||
set("n", "<leader>ss", fzf.spell_suggest, { desc = "FzfLua spell suggest" })
|
||||
set({ "n", "v" }, "<leader>sv", fzf.grep_visual, { desc = "FzfLua grep visual" })
|
||||
set("n", "<leader>sw", fzf.grep_cword, { desc = "FzfLua grep cword" })
|
||||
set("n", "<leader>sW", fzf.grep_cWORD, { desc = "FzfLua grep cword" })
|
||||
set("n", "<leader>U", fzf.undotree, { desc = "FzfLua undo tree" })
|
||||
set("n", "<leader>wa", fzf.lsp_live_workspace_symbols, { desc = "FzfLua document symbols" })
|
||||
set("n", "<leader>wd", fzf.lsp_document_symbols, { desc = "FzfLua document symbols" })
|
||||
set("n", "<leader>wf", fzf.lsp_finder, { desc = "FzfLua LSP finder" })
|
||||
set("n", "<leader>wp", fzf.lsp_workspace_symbols, { desc = "FzfLua workspace symbols" })
|
||||
set("n", "<leader>wz", fzf.zoxide, { desc = "FzfLua zoxide" })
|
||||
set("n", "gd", fzf.lsp_definitions, { desc = "Goto Definition" })
|
||||
set("n", "gD", fzf.lsp_declarations, { desc = "Goto Declarations" })
|
||||
set("n", "grr", fzf.lsp_references, { desc = "References" })
|
||||
set("n", "gri", fzf.lsp_implementations, { desc = "Goto Implementation" })
|
||||
set("n", "grI", fzf.lsp_incoming_calls, { desc = "Incomming calls" })
|
||||
set("n", "grO", fzf.lsp_outgoing_calls, { desc = "Outgouing calls" })
|
||||
set("n", "grs", fzf.lsp_type_sub, { desc = "Outgouing calls" })
|
||||
set("n", "grp", fzf.lsp_type_super, { desc = "Outgouing calls" })
|
||||
set("n", "grt", fzf.lsp_typedefs, { desc = "Goto Type Definition" })
|
||||
|
||||
set("n", "<leader>Gf", function()
|
||||
fzf.files({ cwd = go_root(), cmd = "fd --type f -e go" })
|
||||
end, { desc = "FzfLua Go files" })
|
||||
set("n", "<leader>GF", function()
|
||||
fzf.files({ cwd = go_mod(), cmd = "fd --type f -e go" })
|
||||
end, { desc = "FzfLua Go mod files" })
|
||||
set("n", "<leader>Gl", function()
|
||||
fzf.files({ cmd = "fd --type f -e go" })
|
||||
end, { desc = "FzfLua Go current dir files" })
|
||||
set("n", "<leader>Gs", function()
|
||||
go_grep(go_root())
|
||||
end, { desc = "FzfLua Go grep declarations" })
|
||||
set("n", "<leader>GS", function()
|
||||
go_grep(go_mod())
|
||||
end, { desc = "FzfLua Go grep mod declarations" })
|
||||
set("n", "<leader>Gd", function()
|
||||
go_grep(nil)
|
||||
end, { desc = "FzfLua Go current dir grep declarations" })
|
||||
set("n", "<leader>Gm", function()
|
||||
go_grep(go_mod_pkg or go_mod())
|
||||
end, { desc = "FzfLua Go grep mod declarations" })
|
||||
set("n", "<leader>GM", function()
|
||||
fzf.zoxide({
|
||||
cmd = "fd '' --type d " .. vim.fn.shellescape(go_mod()) .. [[ | awk '{print "\t"$1}']],
|
||||
actions = {
|
||||
["enter"] = function(a)
|
||||
go_mod_pkg = vim.fn.trim(a[1])
|
||||
go_grep(go_mod_pkg)
|
||||
end
|
||||
}
|
||||
})
|
||||
end, { desc = "FzfLua Go select package and grep package declarations" })
|
||||
set("n", "<leader>Gp", function()
|
||||
go_grep(go_root_pkg or go_root())
|
||||
end, { desc = "FzfLua Go grep package declarations" })
|
||||
set("n", "<leader>GP", function()
|
||||
fzf.zoxide({
|
||||
cmd = "fd '' --type d " .. vim.fn.shellescape(go_root()) .. [[ | awk '{print "\t"$1}']],
|
||||
actions = {
|
||||
["enter"] = function(a)
|
||||
go_root_pkg = vim.fn.trim(a[1])
|
||||
go_grep(go_root_pkg)
|
||||
end
|
||||
}
|
||||
})
|
||||
end, { desc = "FzfLua Go select package and grep package declarations" })
|
||||
|
||||
set("n", "<leader>of", function()
|
||||
fzf.files({ cwd = "~/cloned/Odin", cmd = "fd --type f -e odin" })
|
||||
end, { desc = "FzfLua Odin files" })
|
||||
set("n", "<leader>ol", function()
|
||||
fzf.files({ cmd = "fd --type f -e odin" })
|
||||
end, { desc = "FzfLua Odin current dir files" })
|
||||
set("n", "<leader>os", function()
|
||||
odin_grep("~/cloned/Odin")
|
||||
end, { desc = "FzfLua Odin grep declarations" })
|
||||
set("n", "<leader>od", function()
|
||||
odin_grep(nil)
|
||||
end, { desc = "FzfLua Odin grep declarations" })
|
||||
set("n", "<leader>op", function()
|
||||
odin_grep(odin_pkg)
|
||||
end, { desc = "FzfLua Odin grep package declarations" })
|
||||
set("n", "<leader>oP", function()
|
||||
fzf.zoxide({
|
||||
cmd = [[fd '' --type d ~/cloned/Odin | awk '{print "\t"$1}']],
|
||||
actions = {
|
||||
["enter"] = function(a)
|
||||
odin_pkg = vim.fn.trim(a[1])
|
||||
odin_grep(odin_pkg)
|
||||
end
|
||||
}
|
||||
})
|
||||
end, { desc = "FzfLua Odin select package and grep package declarations" })
|
||||
else
|
||||
print("plugin fzf-lua missing")
|
||||
end
|
||||
if not ok2 then
|
||||
print("plugin fzf-lua-frecency missing")
|
||||
end
|
||||
|
||||
--vim.keymap.set("n", "<leader>-", "<cmd>Oil<cr>", { desc = "Oil file manager" })
|
||||
@@ -1,9 +1,8 @@
|
||||
vim.pack.add({ "https://github.com/chrisgrieser/nvim-various-textobjs" })
|
||||
|
||||
local ok, vto = pcall(require, "various-textobjs")
|
||||
local ok, oil = pcall(require, "various-textobjs")
|
||||
if ok then
|
||||
vto.setup({ keymaps = { useDefaults = true, diabledDefaults = { 'r' } } })
|
||||
vim.keymap.set({ 'o', 'x' }, ' }', vto.restOfParagraph)
|
||||
oil.setup({ keymaps = { useDefaults = true } })
|
||||
else
|
||||
print("plugin nvim-various-textobjs missing")
|
||||
end
|
||||
|
||||
@@ -3,7 +3,7 @@ vim.pack.add({ "https://github.com/folke/snacks.nvim" })
|
||||
local ok, snacks = pcall(require, "snacks")
|
||||
if ok then
|
||||
snacks.setup({
|
||||
picker = { enabled = false },
|
||||
picker = { enabled = true },
|
||||
})
|
||||
else
|
||||
print("plugin snacks missing")
|
||||
@@ -15,18 +15,46 @@ set("n", "<leader>ea", function()
|
||||
Snacks.explorer()
|
||||
end, { desc = "File Explorer" })
|
||||
|
||||
set("n", "<leader>gh", function()
|
||||
Snacks.picker.git_diff()
|
||||
end, { desc = "Git Diff (Hunks)" })
|
||||
|
||||
set("n", "<leader>gl", function()
|
||||
Snacks.picker.git_log_line()
|
||||
end, { desc = "Git Log Line" })
|
||||
|
||||
set("n", "<leader>gL", function()
|
||||
Snacks.picker.git_log()
|
||||
end, { desc = "Git Log" })
|
||||
|
||||
set("n", "<leader>gr", function()
|
||||
Snacks.lazygit.log_file()
|
||||
end, { desc = "Git Log File (reflog)" })
|
||||
|
||||
set({ "n", "v" }, "<leader>gw", function()
|
||||
Snacks.picker.grep_word()
|
||||
end, { desc = "Grep Visual Selection or Word" })
|
||||
|
||||
set({ "n", "v" }, "<leader>gx", function()
|
||||
Snacks.gitbrowse()
|
||||
end, { desc = "Git Browse" })
|
||||
|
||||
set("n", "<leader>xr", function()
|
||||
Snacks.picker.recent()
|
||||
end, { desc = "Recent files" })
|
||||
|
||||
set("n", "<leader>xR", function()
|
||||
Snacks.picker.resume()
|
||||
end, { desc = "Resume" })
|
||||
|
||||
set("n", "<leader>U", function()
|
||||
Snacks.picker.undo()
|
||||
end, { desc = "Undo History" })
|
||||
|
||||
set("n", "<leader>xC", function()
|
||||
Snacks.picker.colorschemes()
|
||||
end, { desc = "Colorschemes" })
|
||||
|
||||
set("n", "<leader>n", function()
|
||||
Snacks.notifier.show_history()
|
||||
end, { desc = "Notification History" })
|
||||
@@ -51,6 +79,12 @@ set("n", "<leader>x.", function()
|
||||
Snacks.scratch.select()
|
||||
end, { desc = "Select Scratch Buffer" })
|
||||
|
||||
-- LSP
|
||||
|
||||
set("n", "gD", function()
|
||||
Snacks.picker.lsp_declarations()
|
||||
end, { desc = "Goto Declaration" })
|
||||
|
||||
-- Terminal
|
||||
|
||||
set({ "n", "t" }, "<c-/>", function()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
vim.pack.add({
|
||||
{
|
||||
src = "https://github.com/kylechui/nvim-surround",
|
||||
version = vim.version.range("^4.0.0"),
|
||||
version = vim.version.range("^3.0.0"),
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
132
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
132
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
@@ -0,0 +1,132 @@
|
||||
vim.api.nvim_create_autocmd("PackChanged", {
|
||||
group = vim.api.nvim_create_augroup("telescope-fzf-native-update", { clear = true }),
|
||||
callback = function(ev)
|
||||
local name, kind = ev.data.spec.name, ev.data.kind
|
||||
if name == "telescope-fzf-native.nvim" and (kind == "install" or kind == "update") then
|
||||
vim.system({ "make" }, { cwd = ev.data.path }):wait()
|
||||
print("telescope-fzf-native make done.")
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/nvim-telescope/telescope.nvim", version = "v0.2.1" },
|
||||
"https://github.com/nvim-lua/plenary.nvim",
|
||||
"https://github.com/nvim-telescope/telescope-fzf-native.nvim",
|
||||
"https://gitlab.com/davvid/telescope-git-grep.nvim",
|
||||
{ src = "https://github.com/nvim-telescope/telescope-frecency.nvim", version = vim.version.range("^1.0.0") },
|
||||
})
|
||||
|
||||
local ok, builtin = pcall(require, "telescope.builtin")
|
||||
if ok then
|
||||
local defaults = require("telescope.themes").get_dropdown()
|
||||
defaults["path_display"] = {
|
||||
filename_first = {
|
||||
reverse_directories = true,
|
||||
},
|
||||
}
|
||||
defaults["mappings"] = {
|
||||
i = {
|
||||
["<C-k>"] = "move_selection_previous",
|
||||
["<C-j>"] = "move_selection_next",
|
||||
},
|
||||
n = {
|
||||
["<C-k>"] = "move_selection_previous",
|
||||
["<C-j>"] = "move_selection_next",
|
||||
["q"] = "close",
|
||||
},
|
||||
}
|
||||
require("telescope").setup({
|
||||
defaults = defaults,
|
||||
pickers = {
|
||||
diagnostics = {
|
||||
theme = "ivy",
|
||||
},
|
||||
buffers = {
|
||||
mappings = {
|
||||
n = {
|
||||
["d"] = "delete_buffer",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
local set = vim.keymap.set
|
||||
|
||||
require("telescope").load_extension("fzf")
|
||||
require("telescope").load_extension("git_grep")
|
||||
require("telescope").load_extension("frecency")
|
||||
set("n", "<leader>;", function()
|
||||
require("telescope-frecency").start()
|
||||
end, { desc = "Telescope frecency" })
|
||||
set("n", "<leader><leader>", function()
|
||||
require("telescope-frecency").start({ workspace = "CWD" })
|
||||
end, { desc = "Telescope frecency" })
|
||||
set("n", "<leader>b", function() builtin.buffers({ sort_mru = true, sort_lastused = true }) end,
|
||||
{ desc = "Telescope buffers" })
|
||||
set("n", "<leader>cc", builtin.commands, { desc = "Telescope commands" })
|
||||
set("n", "<leader>ch", builtin.command_history, { desc = "Telescope command history" })
|
||||
set("n", "<leader>cH", builtin.highlights, { desc = "Telescope highlights" })
|
||||
set("n", "<leader>da", builtin.diagnostics, { desc = "Telescope diagnostics" })
|
||||
set("n", "<leader>ec", function()
|
||||
builtin.find_files({ cwd = vim.fn.stdpath("config") })
|
||||
end, { desc = "Telescope nvim config files" })
|
||||
set("n", "<leader>ep", function()
|
||||
builtin.find_files({ cwd = vim.fs.joinpath(vim.fn.stdpath("data"), "site") })
|
||||
end, { desc = "Telescope find files" })
|
||||
set("n", "<leader>es", function()
|
||||
builtin.find_files({ cwd = vim.fs.normalize('~/.config/kitty/sessions') })
|
||||
end, { desc = "Telescope kitty sessions" })
|
||||
set("n", "<leader>fa", builtin.git_files, { desc = "Telescope nvim package files" })
|
||||
set("n", "<leader>F", builtin.find_files, { desc = "Telescope find files" })
|
||||
set("n", "<leader>fh", function()
|
||||
builtin.find_files({ hidden = true })
|
||||
end, { desc = "Telescope find files (hidden)" })
|
||||
set("n", "<leader>gB", builtin.git_branches, { desc = "Telescope git branches" })
|
||||
set("n", "<leader>gc", builtin.git_bcommits, { desc = "Telescope git buffer commits" })
|
||||
set("n", "<leader>gC", builtin.git_commits, { desc = "Telescope git commits" })
|
||||
set("n", "<leader>gs", builtin.git_status, { desc = "Telescope git status" })
|
||||
set("n", "<leader>gS", builtin.git_stash, { desc = "Telescope git stash" })
|
||||
set("n", "<leader>ha", builtin.help_tags, { desc = "Telescope help tags" })
|
||||
set("n", "<leader>hk", builtin.keymaps, { desc = "Telescope keymaps" })
|
||||
set("n", "<leader>m", builtin.marks, { desc = "Telescope marks" })
|
||||
set("n", "<leader>M", builtin.man_pages, { desc = "Telescope man pages" })
|
||||
set("n", "<leader>o", builtin.oldfiles, { desc = "Telescope oldfiles" })
|
||||
set("n", "<leader>qa", builtin.quickfix, { desc = "Telescope quickfix" })
|
||||
set("n", "<leader>qh", builtin.quickfixhistory, { desc = "Telescope quickfix history" })
|
||||
set("n", "<leader>ql", builtin.loclist, { desc = "Telescope loclist" })
|
||||
set("n", "<leader>r", builtin.resume, { desc = "Telescope resume" })
|
||||
set("n", "<leader>t", builtin.treesitter, { desc = "Telescope treesitter symbols" })
|
||||
set("n", "<leader>R", builtin.registers, { desc = "Telescope registers" })
|
||||
set("n", "<leader>sa", function()
|
||||
require("git_grep").live_grep()
|
||||
end, { desc = "Telescope git live grep" })
|
||||
set("n", "<leader>S", builtin.live_grep, { desc = "Telescope live grep" })
|
||||
set("n", "<leader>sh", builtin.search_history, { desc = "Telescope search history" })
|
||||
set("n", "<leader>sl", builtin.current_buffer_fuzzy_find, { desc = "Telescope current buffer fuzzy find" })
|
||||
set("n", "<leader>so", function()
|
||||
builtin.grep_string({ grep_open_files = true })
|
||||
end, { desc = "Telescope grep open files" })
|
||||
set("n", "<leader>su", function()
|
||||
builtin.live_grep({ grep_open_files = true })
|
||||
end, { desc = "Telescope live grep open files" })
|
||||
set({ "n", "v" }, "<leader>sw", function()
|
||||
require("git_grep").grep()
|
||||
end, { desc = "Telescope git grep word" })
|
||||
set("n", "<leader>wd", builtin.lsp_document_symbols, { desc = "Telescope document symbols" })
|
||||
set("n", "<leader>wp", builtin.lsp_workspace_symbols, { desc = "Telescope workspace symbols" })
|
||||
set("n", "<leader>ws", function()
|
||||
require("git_grep").workspace_live_grep()
|
||||
end, { desc = "Telescope workspace git live grep" })
|
||||
set("n", "<leader>wy", function()
|
||||
require("git_grep").workspace_grep()
|
||||
end, { desc = "Telescope workspace git grep word" })
|
||||
set("n", "<leader>:", builtin.builtin, { desc = "Telescope builtin" })
|
||||
|
||||
set("n", "gd", builtin.lsp_definitions, { desc = "Goto Definition" })
|
||||
set("n", "grr", builtin.lsp_references, { desc = "References" })
|
||||
set("n", "grI", builtin.lsp_implementations, { desc = "Goto Implementation" })
|
||||
set("n", "gy", builtin.lsp_type_definitions, { desc = "Goto T[y]pe Definition" })
|
||||
else
|
||||
print("plugin builtin missing")
|
||||
end
|
||||
@@ -15,134 +15,70 @@ vim.api.nvim_create_autocmd("PackChanged", {
|
||||
})
|
||||
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects", version = "main" },
|
||||
{ src = "https://github.com/nvim-treesitter/nvim-treesitter", version = "main" },
|
||||
{ src = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects", version = "master" },
|
||||
{ src = "https://github.com/nvim-treesitter/nvim-treesitter", version = "master" },
|
||||
})
|
||||
local ok = pcall(require, "nvim-treesitter")
|
||||
local ok, configs = pcall(require, "nvim-treesitter.configs")
|
||||
if ok then
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = { 'odin', 'go' },
|
||||
callback = function() vim.treesitter.start() end,
|
||||
configs.setup({
|
||||
highlight = {
|
||||
enable = true,
|
||||
},
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
lookahead = true,
|
||||
keymaps = {
|
||||
["aa"] = "@parameter.outer",
|
||||
["ia"] = "@parameter.inner",
|
||||
["af"] = "@function.outer",
|
||||
["if"] = "@function.inner",
|
||||
["ac"] = "@class.outer",
|
||||
["ic"] = "@class.inner",
|
||||
["al"] = "@call.outer",
|
||||
["il"] = "@call.inner",
|
||||
["ao"] = "@loop.outer",
|
||||
["io"] = "@loop.inner",
|
||||
["ad"] = "@conditional.outer",
|
||||
["id"] = "@conditional.inner",
|
||||
["ar"] = "@return.outer",
|
||||
["ir"] = "@return.inner",
|
||||
["as"] = "@statement.outer",
|
||||
["ag"] = "@assignment.outer",
|
||||
["ig"] = "@assignment.inner",
|
||||
},
|
||||
},
|
||||
move = {
|
||||
enable = true,
|
||||
set_jumps = true,
|
||||
goto_next_start = {
|
||||
["]m"] = "@function.outer",
|
||||
["]]"] = "@class.outer",
|
||||
},
|
||||
goto_next_end = {
|
||||
["]M"] = "@function.outer",
|
||||
["]["] = "@class.outer",
|
||||
},
|
||||
goto_previous_start = {
|
||||
["[m"] = "@function.outer",
|
||||
["[["] = "@class.outer",
|
||||
},
|
||||
goto_previous_end = {
|
||||
["[M"] = "@function.outer",
|
||||
["[]"] = "@class.outer",
|
||||
},
|
||||
},
|
||||
swap = {
|
||||
enable = true,
|
||||
swap_next = {
|
||||
["<leader>cp"] = "@parameter.inner",
|
||||
},
|
||||
swap_previous = {
|
||||
["<leader>cP"] = "@parameter.inner",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
else
|
||||
print("plugin nvim-treesitter.configs missing")
|
||||
end
|
||||
|
||||
local textobjects
|
||||
ok, textobjects = pcall(require, "nvim-treesitter-textobjects")
|
||||
if ok then
|
||||
textobjects.setup {
|
||||
move = {
|
||||
set_jumps = true,
|
||||
},
|
||||
select = {
|
||||
-- Automatically jump forward to textobj, similar to targets.vim
|
||||
lookahead = true,
|
||||
-- You can choose the select mode (default is charwise 'v')
|
||||
--
|
||||
-- Can also be a function which gets passed a table with the keys
|
||||
-- * query_string: eg '@function.inner'
|
||||
-- * method: eg 'v' or 'o'
|
||||
-- and should return the mode ('v', 'V', or '<c-v>') or a table
|
||||
-- mapping query_strings to modes.
|
||||
selection_modes = {
|
||||
['@parameter.outer'] = 'v', -- charwise
|
||||
['@function.outer'] = 'V', -- linewise
|
||||
-- ['@class.outer'] = '<c-v>', -- blockwise
|
||||
},
|
||||
-- If you set this to `true` (default is `false`) then any textobject is
|
||||
-- extended to include preceding or succeeding whitespace. Succeeding
|
||||
-- whitespace has priority in order to act similarly to eg the built-in
|
||||
-- `ap`.
|
||||
--
|
||||
-- Can also be a function which gets passed a table with the keys
|
||||
-- * query_string: eg '@function.inner'
|
||||
-- * selection_mode: eg 'v'
|
||||
-- and should return true of false
|
||||
include_surrounding_whitespace = false,
|
||||
},
|
||||
}
|
||||
local function key_select(key, object)
|
||||
vim.keymap.set({ "x", "o" }, key, function()
|
||||
require "nvim-treesitter-textobjects.select".select_textobject(object, "textobjects")
|
||||
end)
|
||||
end
|
||||
key_select("aa", "@parameter.outer")
|
||||
key_select("ia", "@parameter.inner")
|
||||
key_select("af", "@function.outer")
|
||||
key_select("if", "@function.inner")
|
||||
key_select("ac", "@class.outer")
|
||||
key_select("ic", "@class.inner")
|
||||
key_select("al", "@call.outer")
|
||||
key_select("il", "@call.inner")
|
||||
key_select("ao", "@loop.outer")
|
||||
key_select("io", "@loop.inner")
|
||||
key_select("ad", "@conditional.outer")
|
||||
key_select("id", "@conditional.inner")
|
||||
key_select("ar", "@return.outer")
|
||||
key_select("ir", "@return.inner")
|
||||
key_select("as", "@statement.outer")
|
||||
key_select("ag", "@assignment.outer")
|
||||
key_select("ig", "@assignment.inner")
|
||||
|
||||
vim.keymap.set({ "x", "o" }, "ax", function()
|
||||
require "nvim-treesitter-textobjects.select".select_textobject("@local.scope", "locals")
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>cp", function()
|
||||
require("nvim-treesitter-textobjects.swap").swap_next "@parameter.inner"
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>cP", function()
|
||||
require("nvim-treesitter-textobjects.swap").swap_previous "@parameter.inner"
|
||||
end)
|
||||
|
||||
vim.keymap.set({ "n", "x", "o" }, "]m", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_next_start("@function.outer", "textobjects")
|
||||
end)
|
||||
vim.keymap.set({ "n", "x", "o" }, "]]", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_next_start("@class.outer", "textobjects")
|
||||
end)
|
||||
-- You can also pass a list to group multiple queries.
|
||||
vim.keymap.set({ "n", "x", "o" }, "]o", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_next_start({ "@loop.inner", "@loop.outer" },
|
||||
"textobjects")
|
||||
end)
|
||||
-- You can also use captures from other query groups like `locals.scm` or `folds.scm`
|
||||
vim.keymap.set({ "n", "x", "o" }, "]s", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_next_start("@local.scope", "locals")
|
||||
end)
|
||||
vim.keymap.set({ "n", "x", "o" }, "]z", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_next_start("@fold", "folds")
|
||||
end)
|
||||
|
||||
vim.keymap.set({ "n", "x", "o" }, "]M", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_next_end("@function.outer", "textobjects")
|
||||
end)
|
||||
vim.keymap.set({ "n", "x", "o" }, "][", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_next_end("@class.outer", "textobjects")
|
||||
end)
|
||||
|
||||
vim.keymap.set({ "n", "x", "o" }, "[m", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_previous_start("@function.outer", "textobjects")
|
||||
end)
|
||||
vim.keymap.set({ "n", "x", "o" }, "[[", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_previous_start("@class.outer", "textobjects")
|
||||
end)
|
||||
|
||||
vim.keymap.set({ "n", "x", "o" }, "[M", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_previous_end("@function.outer", "textobjects")
|
||||
end)
|
||||
vim.keymap.set({ "n", "x", "o" }, "[]", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_previous_end("@class.outer", "textobjects")
|
||||
end)
|
||||
|
||||
-- Go to either the start or the end, whichever is closer.
|
||||
-- Use if you want more granular movements
|
||||
vim.keymap.set({ "n", "x", "o" }, "]d", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_next("@conditional.outer", "textobjects")
|
||||
end)
|
||||
vim.keymap.set({ "n", "x", "o" }, "[d", function()
|
||||
require("nvim-treesitter-textobjects.move").goto_previous("@conditional.outer", "textobjects")
|
||||
end)
|
||||
else
|
||||
print("plugin nvim-treesitter-textobjects missing")
|
||||
end
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"plugins": {
|
||||
"LuaSnip": {
|
||||
"rev": "642b0c595e11608b4c18219e93b88d7637af27bc",
|
||||
"rev": "5a1e39223db9a0498024a77b8441169d260c8c25",
|
||||
"src": "https://github.com/L3MON4D3/LuaSnip",
|
||||
"version": "2.0.0 - 3.0.0"
|
||||
},
|
||||
@@ -14,43 +14,23 @@
|
||||
"src": "https://github.com/rmagatti/auto-session"
|
||||
},
|
||||
"conform.nvim": {
|
||||
"rev": "dca1a190aa85f9065979ef35802fb77131911106",
|
||||
"rev": "c2526f1cde528a66e086ab1668e996d162c75f4f",
|
||||
"src": "https://github.com/stevearc/conform.nvim"
|
||||
},
|
||||
"flash.nvim": {
|
||||
"rev": "fcea7ff883235d9024dc41e638f164a450c14ca2",
|
||||
"src": "https://github.com/folke/flash.nvim"
|
||||
},
|
||||
"flexoki-neovim": {
|
||||
"rev": "c3e2251e813d29d885a7cbbe9808a7af234d845d",
|
||||
"src": "https://github.com/kepano/flexoki-neovim"
|
||||
},
|
||||
"fzf-lua": {
|
||||
"rev": "2e29d5f233defe3c5587df0e4dd29af2bd95a5a7",
|
||||
"src": "https://github.com/ibhagwan/fzf-lua"
|
||||
},
|
||||
"fzf-lua-frecency.nvim": {
|
||||
"rev": "5726403e132fe8699d670c7ef8d59dbed887b4e6",
|
||||
"src": "https://github.com/elanmed/fzf-lua-frecency.nvim"
|
||||
},
|
||||
"guess-indent.nvim": {
|
||||
"rev": "84a4987ff36798c2fc1169cbaff67960aed9776f",
|
||||
"src": "https://github.com/NMAC427/guess-indent.nvim"
|
||||
},
|
||||
"kanagawa.nvim": {
|
||||
"rev": "8ad3b4cdcc804b332c32db8f9743667e1bb82b99",
|
||||
"rev": "aef7f5cec0a40dbe7f3304214850c472e2264b10",
|
||||
"src": "https://github.com/rebelot/kanagawa.nvim"
|
||||
},
|
||||
"lush.nvim": {
|
||||
"rev": "9c60ec2279d62487d942ce095e49006af28eed6e",
|
||||
"src": "https://github.com/rktjmp/lush.nvim"
|
||||
},
|
||||
"miasma.nvim": {
|
||||
"rev": "627f2e1cac91de0d1d4dd7472b506a30f41b2b7d",
|
||||
"src": "https://github.com/xero/miasma.nvim"
|
||||
},
|
||||
"multicursor.nvim": {
|
||||
"rev": "704b99f10a72cc05d370cfeb294ff83412a8ab55",
|
||||
"rev": "630dd29dd696bc977cb81d7dd2fa6bb280f60fc4",
|
||||
"src": "https://github.com/jake-stewart/multicursor.nvim",
|
||||
"version": "'1.0'"
|
||||
},
|
||||
@@ -59,43 +39,61 @@
|
||||
"src": "https://github.com/EdenEast/nightfox.nvim"
|
||||
},
|
||||
"nvim-surround": {
|
||||
"rev": "61319d4bd1c5e336e197defa15bd104c51f0fb29",
|
||||
"rev": "1098d7b3c34adcfa7feb3289ee434529abd4afd1",
|
||||
"src": "https://github.com/kylechui/nvim-surround",
|
||||
"version": "4.0.0 - 5.0.0"
|
||||
"version": "3.0.0 - 4.0.0"
|
||||
},
|
||||
"nvim-treesitter": {
|
||||
"rev": "4916d6592ede8c07973490d9322f187e07dfefac",
|
||||
"rev": "42fc28ba918343ebfd5565147a42a26580579482",
|
||||
"src": "https://github.com/nvim-treesitter/nvim-treesitter",
|
||||
"version": "'main'"
|
||||
"version": "'master'"
|
||||
},
|
||||
"nvim-treesitter-textobjects": {
|
||||
"rev": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e",
|
||||
"rev": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef",
|
||||
"src": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects",
|
||||
"version": "'main'"
|
||||
"version": "'master'"
|
||||
},
|
||||
"nvim-various-textobjs": {
|
||||
"rev": "ad78e9d925c95d675b32dd7ba6d253f96ce063fe",
|
||||
"rev": "34ca4f6b54cf167554c5792cacc69c930b654136",
|
||||
"src": "https://github.com/chrisgrieser/nvim-various-textobjs"
|
||||
},
|
||||
"oil.nvim": {
|
||||
"rev": "0fcc83805ad11cf714a949c98c605ed717e0b83e",
|
||||
"rev": "f55b25e493a7df76371cfadd0ded5004cb9cd48a",
|
||||
"src": "https://github.com/stevearc/oil.nvim"
|
||||
},
|
||||
"plenary.nvim": {
|
||||
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
||||
"src": "https://github.com/nvim-lua/plenary.nvim"
|
||||
},
|
||||
"slimline.nvim": {
|
||||
"rev": "6e1387e69e222957ff87e5ddc61470d4e04ac683",
|
||||
"rev": "6b1f20780a26813ba3c2f248c6c6f61e7281bb7b",
|
||||
"src": "https://github.com/sschleemilch/slimline.nvim"
|
||||
},
|
||||
"snacks.nvim": {
|
||||
"rev": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e",
|
||||
"rev": "fe7cfe9800a182274d0f868a74b7263b8c0c020b",
|
||||
"src": "https://github.com/folke/snacks.nvim"
|
||||
},
|
||||
"telescope-frecency.nvim": {
|
||||
"rev": "d4f1bb2a939cc02720bceb635095246751db144f",
|
||||
"src": "https://github.com/nvim-telescope/telescope-frecency.nvim",
|
||||
"version": "1.0.0 - 2.0.0"
|
||||
},
|
||||
"telescope-fzf-native.nvim": {
|
||||
"rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c",
|
||||
"src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
||||
},
|
||||
"telescope-git-grep.nvim": {
|
||||
"rev": "0936967941a6e7b3875d1b1bfff41b8bcd75bdf5",
|
||||
"src": "https://gitlab.com/davvid/telescope-git-grep.nvim"
|
||||
},
|
||||
"telescope.nvim": {
|
||||
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
|
||||
"src": "https://github.com/nvim-telescope/telescope.nvim",
|
||||
"version": "'v0.2.1'"
|
||||
},
|
||||
"which-key.nvim": {
|
||||
"rev": "3aab2147e74890957785941f0c1ad87d0a44c15a",
|
||||
"src": "https://github.com/folke/which-key.nvim"
|
||||
},
|
||||
"zenbones.nvim": {
|
||||
"rev": "22b7fb75593412e0dc81b4bdefae718e9e84aa82",
|
||||
"src": "https://github.com/zenbones-theme/zenbones.nvim"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
alias v=nvim
|
||||
alias k=kak
|
||||
alias ll='ls -l'
|
||||
alias tl='tmux list-sessions'
|
||||
alias rgh='rg -.'
|
||||
@@ -73,25 +72,5 @@ tai() {
|
||||
}
|
||||
|
||||
vf() {
|
||||
if [ "$TERM" = "xterm-kitty" ]; then
|
||||
local FILE=$(kitten choose-file)
|
||||
[ -n "$FILE" ] && nvim "$FILE"
|
||||
else
|
||||
nvim $(fzf --multi)
|
||||
fi
|
||||
}
|
||||
|
||||
vd() {
|
||||
if [ "$TERM" = "xterm-kitty" ]; then
|
||||
local DIR=$(kitten choose-file --mode dir)
|
||||
[ -n "$DIR" ] && ( cd "$DIR" && exec nvim )
|
||||
else
|
||||
local DIR=$(fzf --walker dir,follow,hidden)
|
||||
[ -n "$DIR" ] && ( cd "$DIR" && exec nvim )
|
||||
fi
|
||||
}
|
||||
|
||||
vz() {
|
||||
local DIR=$(zoxide query -l | fzf --query "$Q")
|
||||
[ -n "$DIR" ] && ( cd "$DIR" && exec nvim )
|
||||
}
|
||||
|
||||
@@ -1,178 +0,0 @@
|
||||
##############################################
|
||||
# #
|
||||
# Superfile Configuration #
|
||||
# #
|
||||
##############################################
|
||||
|
||||
# This contains the root config file for superfile! More details can be found at
|
||||
# https://superfile.dev/configure/superfile-config/.
|
||||
|
||||
###############################################################################
|
||||
# Defaults #
|
||||
###############################################################################
|
||||
|
||||
#-- File Editor
|
||||
# Default: $EDITOR
|
||||
editor = "nvim"
|
||||
|
||||
#-- Directory Editor
|
||||
#
|
||||
dir_editor = "nvim ."
|
||||
|
||||
#-- Auto check for update
|
||||
auto_check_update = false
|
||||
|
||||
#-- cd on quit
|
||||
# Should we cd the shell to the last directory open in superfile when the
|
||||
# program exits?
|
||||
cd_on_quit = false
|
||||
|
||||
#-- File Preview
|
||||
# Should we open a file preview by default whenever selection-hovering over a
|
||||
# file?
|
||||
default_open_file_preview = true
|
||||
|
||||
#-- Image Preview
|
||||
# Should we open an image preview by default whenever selection-hovering over an
|
||||
# image?
|
||||
show_image_preview = true
|
||||
|
||||
#-- File Info Footer
|
||||
# Should we display a footer in the file panel that provides more file information?
|
||||
show_panel_footer_info = true
|
||||
|
||||
#-- Default Directory
|
||||
# The initial path that the file panel should navigate to when superfile is
|
||||
# opened. This setting understands relative paths such as ".", "..", etc.
|
||||
default_directory = "."
|
||||
|
||||
#-- File Size Units
|
||||
# true: SI decimal units of 1000 (kB, MB, GB).
|
||||
# false: IEC binary units of 1024 (KiB, MiB, GiB).
|
||||
file_size_use_si = false
|
||||
|
||||
#-- Default File Sort Type
|
||||
# (0: Name, 1: Size, 2: Date Modified, 3: Type).
|
||||
default_sort_type = 0
|
||||
|
||||
#-- Sort Order Reversing
|
||||
# true: Descending.
|
||||
# false: Ascending.
|
||||
sort_order_reversed = false
|
||||
|
||||
#-- Case-Sensitive Sorting (only for Name Sort)
|
||||
# An uppercase "B" comes before a lowercase "a" if true.
|
||||
case_sensitive_sort = false
|
||||
|
||||
#-- Exit Shell on Success
|
||||
# Whether to exit the shell on successful command execution.
|
||||
shell_close_on_success = false
|
||||
|
||||
#-- Page Scroll Size
|
||||
# Number of lines to scroll for PgUp/PgDown keys (0: full page, default behavior).
|
||||
page_scroll_size = 0
|
||||
|
||||
#-- Debug Mode
|
||||
debug = false
|
||||
|
||||
#-- Ignore Missing Config Fields
|
||||
# Whether to silence any warnings about missing config fields.
|
||||
ignore_missing_fields = false
|
||||
|
||||
#-- File Panel Extra Columns Count
|
||||
# Count of extra columns in file panel in addition to file name. When option equal 0 then feature is disabled.
|
||||
file_panel_extra_columns = 0
|
||||
|
||||
#-- File name width in File Panel
|
||||
# Percentage of file panel width allocated to file names (25-100). Higher values give more space to names, less to extra columns.
|
||||
file_panel_name_percent = 50
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Styling #
|
||||
###############################################################################
|
||||
|
||||
#-- Theme
|
||||
# Put your theme's name here!
|
||||
theme = "catppuccin-mocha"
|
||||
|
||||
#-- Code Previewer
|
||||
# Whether to use the builtin syntax highlighting with chroma or use bat. Values: "" for builtin chroma, "bat" for bat
|
||||
code_previewer = ""
|
||||
|
||||
#-- Nerd Fonts Support
|
||||
# Whether to enable support for Nerd Fonts symbols.
|
||||
# Requires: Font patched with the Nerd Fonts patch.
|
||||
nerdfont = true
|
||||
|
||||
#-- Show checkbox icons in select mode
|
||||
# Requires: nerdfont = true
|
||||
show_select_icons = true
|
||||
|
||||
#-- Transparent Background Support
|
||||
# Set to true to enable background transparency.
|
||||
# Requires: terminal support for colour transparency
|
||||
transparent_background = false
|
||||
|
||||
#-- File Preview Panel Width
|
||||
# Width of the file preview panel will be 1/n of the total width.
|
||||
# Values recommended to be in 2–10.
|
||||
# Default (0): Use the same width as file picker panel.
|
||||
file_preview_width = 0
|
||||
|
||||
#-- File Preview Border
|
||||
# Enable border around the file preview panel for better visual separation.
|
||||
# Default: false (no border)
|
||||
enable_file_preview_border = false
|
||||
|
||||
#-- Sidebar Width
|
||||
# If you don't want to display the sidebar, you can input 0 directly.
|
||||
# Values recommended to be in 5–20.
|
||||
sidebar_width = 20
|
||||
|
||||
#-- Border
|
||||
# Make sure to add strings that are exactly one character wide!
|
||||
# Use ' ' for borderless.
|
||||
border_top = '─'
|
||||
border_bottom = '─'
|
||||
border_left = '│'
|
||||
border_right = '│'
|
||||
border_top_left = '╭'
|
||||
border_top_right = '╮'
|
||||
border_bottom_left = '╰'
|
||||
border_bottom_right = '╯'
|
||||
border_middle_left = '├'
|
||||
border_middle_right = '┤'
|
||||
|
||||
###############################################################################
|
||||
# Plugins #
|
||||
###############################################################################
|
||||
|
||||
# This section is for using plugins with superfile, external addons that extend
|
||||
# the default capabilities of the program! More info can be found at
|
||||
# https://superfile.dev/list/plugin-list/.
|
||||
|
||||
#-- Detailed Metadata
|
||||
# Requires: exiftool
|
||||
metadata = false
|
||||
|
||||
#-- MD5 Checksum Generation
|
||||
# Requires: md5sum
|
||||
enable_md5_checksum = false
|
||||
#
|
||||
#-- Zoxide Support - Smart directory navigation!
|
||||
# Requires: zoxide
|
||||
zoxide_support = true
|
||||
|
||||
#-- File opening rules
|
||||
# Map file extensions to commands used to open them.
|
||||
# The file path will be appended as the last argument.
|
||||
# MUST BE IN THE VERY END OF THE FILE BECAUSE TOML CANNOT CLOSE TABLES
|
||||
# Example:
|
||||
# png = "feh"
|
||||
# pdf = "zathura"
|
||||
# conf = "nvim"
|
||||
[open_with]
|
||||
pdf = "zathura"
|
||||
png = "sxiv"
|
||||
jpg = "sxiv"
|
||||
@@ -1,98 +0,0 @@
|
||||
##############################################
|
||||
# #
|
||||
# Superfile vim-like Hotkeys #
|
||||
# #
|
||||
##############################################
|
||||
|
||||
#-- Maintainer: nonepork <https://github.com/nonepork>
|
||||
|
||||
# This contains a hotkey config file for superfile, that's themed around vim
|
||||
# controls! More details can be found at
|
||||
# https://superfile.dev/configure/custom-hotkeys/.
|
||||
|
||||
###############################################################################
|
||||
# Global hotkeys #
|
||||
###############################################################################
|
||||
|
||||
# Note: These hotkeys should be unique.
|
||||
|
||||
#-- Basic Actions
|
||||
confirm = ['enter', 'l']
|
||||
quit = ['ctrl+c', ''] # a.k.a. "theprimeagen troller"
|
||||
cd_quit = ['Q', '']
|
||||
|
||||
#-- Navigation
|
||||
list_up = ['k', '']
|
||||
list_down = ['j', '']
|
||||
page_up = ['pgup','']
|
||||
page_down = ['pgdown','']
|
||||
|
||||
#-- File Panel Controls
|
||||
create_new_file_panel = ['n', '']
|
||||
close_file_panel = ['q', '']
|
||||
next_file_panel = ['tab', 'L']
|
||||
previous_file_panel = ['shift+tab', 'H']
|
||||
toggle_file_preview_panel = ['f', '']
|
||||
open_sort_options_menu = ['o', '']
|
||||
toggle_reverse_sort = ['R', '']
|
||||
|
||||
#-- Focus Manipulation
|
||||
focus_on_process_bar = ['ctrl+p', '']
|
||||
focus_on_sidebar = ['ctrl+s', '']
|
||||
focus_on_metadata = ['ctrl+d', '']
|
||||
|
||||
#-- File/Dir Creation/Renaming
|
||||
file_panel_item_create = ['a', '']
|
||||
file_panel_item_rename = ['r', '']
|
||||
|
||||
#-- Main File Operations
|
||||
copy_items = ['y', '']
|
||||
cut_items = ['x', '']
|
||||
paste_items = ['p', '']
|
||||
delete_items = ['d', '']
|
||||
permanently_delete_items = ['D', '']
|
||||
|
||||
#-- Archive Manipulation
|
||||
extract_file = ['ctrl+e', '']
|
||||
compress_file = ['ctrl+a', '']
|
||||
|
||||
#-- Editor Actions
|
||||
open_file_with_editor = ['e', '']
|
||||
open_current_directory_with_editor = ['E', '']
|
||||
|
||||
#-- Other Actions
|
||||
pinned_directory = ['P', '']
|
||||
toggle_dot_file = ['.', '']
|
||||
change_panel_mode = ['m', '']
|
||||
open_help_menu = ['?', '']
|
||||
open_spf_prompt = ['>', '']
|
||||
open_command_line = [':', '']
|
||||
open_zoxide = ['z', '']
|
||||
copy_path = ['Y', '']
|
||||
copy_present_working_directory = ['c', '']
|
||||
toggle_footer = ['ctrl+f', '']
|
||||
|
||||
###############################################################################
|
||||
# Typing hotkeys #
|
||||
###############################################################################
|
||||
|
||||
# Note: These hotkeys can override all hotkeys.
|
||||
|
||||
confirm_typing = ['enter', '']
|
||||
cancel_typing = ['esc', '']
|
||||
|
||||
###############################################################################
|
||||
# Mode-Specific Hotkeys #
|
||||
###############################################################################
|
||||
|
||||
# Note: These hotkeys can conflict with other modes, but not with global
|
||||
# hotkeys.
|
||||
|
||||
#-- Normal Mode Actions
|
||||
parent_directory = ['-', 'h']
|
||||
search_bar = ['/', '']
|
||||
|
||||
#-- Selection Mode Actions
|
||||
file_panel_select_mode_items_select_down = ['J', '']
|
||||
file_panel_select_mode_items_select_up = ['K', '']
|
||||
file_panel_select_all_items = ['A', '']
|
||||
@@ -1,20 +0,0 @@
|
||||
set nocompatible
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set hlsearch
|
||||
set relativenumber
|
||||
|
||||
syntax enable
|
||||
filetype plugin on
|
||||
|
||||
" open nested file with :find file.name
|
||||
" include * in path for fuzzy find
|
||||
set path+=**
|
||||
set wildmenu
|
||||
|
||||
let g:netrw_banner=0
|
||||
let g:netrw_liststyle=3
|
||||
|
||||
nmap <esc> <cmd>nohlsearch<cr>
|
||||
|
||||
colorscheme catppuccin
|
||||
@@ -67,46 +67,86 @@ Zutty.fontsize: 20
|
||||
|
||||
#ifdef THEME_DARK
|
||||
st.lightmode: 0
|
||||
st.background: #1f212e
|
||||
st.foreground: #9da0af
|
||||
st.cursorColor: #bf8040
|
||||
st.reverse-cursor: #1f212e
|
||||
st.color0: #1f212e
|
||||
st.color1: #862d2d
|
||||
st.color2: #3a783a
|
||||
st.color3: #707010
|
||||
st.color4: #345eb2
|
||||
st.color5: #cc66cc
|
||||
st.color6: #3a7878
|
||||
st.color7: #a1a3aa
|
||||
st.color8: #4d4d4d
|
||||
st.color9: #c27070
|
||||
st.color10: #40bf40
|
||||
st.color11: #acac53
|
||||
st.color12: #6b8ac7
|
||||
st.color13: #8f248f
|
||||
st.color14: #509595
|
||||
st.color15: #dbdff0
|
||||
st.background: #1f1f28
|
||||
st.foreground: #dcd7ba
|
||||
st.cursorColor: #cbd9d8
|
||||
st.reverse-cursor: #e6eaea
|
||||
st.color0: #090618
|
||||
st.color1: #c34043
|
||||
st.color2: #76946a
|
||||
st.color3: #c0a36e
|
||||
st.color4: #7e9cd8
|
||||
st.color5: #957fb8
|
||||
st.color6: #6a9589
|
||||
st.color7: #c8c093
|
||||
st.color8: #727169
|
||||
st.color9: #e82424
|
||||
st.color10: #98bb6c
|
||||
st.color11: #e6c384
|
||||
st.color12: #7fb4ca
|
||||
st.color13: #938aa9
|
||||
st.color14: #7aa89f
|
||||
st.color15: #dcd7ba
|
||||
|
||||
Zutty.bg: #1f1f28
|
||||
Zutty.fg: #dcd7ba
|
||||
Zutty.cr: #cbd9d8
|
||||
Zutty.color0: #090618
|
||||
Zutty.color1: #c34043
|
||||
Zutty.color2: #76946a
|
||||
Zutty.color3: #c0a36e
|
||||
Zutty.color4: #7e9cd8
|
||||
Zutty.color5: #957fb8
|
||||
Zutty.color6: #6a9589
|
||||
Zutty.color7: #c8c093
|
||||
Zutty.color8: #727169
|
||||
Zutty.color9: #e82424
|
||||
Zutty.color10: #98bb6c
|
||||
Zutty.color11: #e6c384
|
||||
Zutty.color12: #7fb4ca
|
||||
Zutty.color13: #938aa9
|
||||
Zutty.color14: #7aa89f
|
||||
Zutty.color15: #dcd7ba
|
||||
#else
|
||||
st.lightmode: 1
|
||||
st.background: #faf8f5
|
||||
st.foreground: #1f212e
|
||||
st.cursorColor: #bf8040
|
||||
st.reverse-cursor: #1f212e
|
||||
st.color0: #1f212e
|
||||
st.color1: #862d2d
|
||||
st.color2: #3a783a
|
||||
st.color3: #707010
|
||||
st.color4: #345eb2
|
||||
st.color5: #cc66cc
|
||||
st.color6: #3a7878
|
||||
st.color7: #a1a3aa
|
||||
st.color8: #73778c
|
||||
st.color9: #c27070
|
||||
st.color10: #40bf40
|
||||
st.color11: #acac53
|
||||
st.color12: #6b8ac7
|
||||
st.color13: #8f248f
|
||||
st.color14: #509595
|
||||
st.color15: #dae4f1
|
||||
st.background: #f6f2ee
|
||||
st.foreground: #3d2b5a
|
||||
st.cursorColor: #643f61
|
||||
st.reverse-cursor: #3d2b5a
|
||||
st.color0: #352c24
|
||||
st.color1: #a5222f
|
||||
st.color2: #396847
|
||||
st.color3: #ac5402
|
||||
st.color4: #2848a9
|
||||
st.color5: #6e33ce
|
||||
st.color6: #287980
|
||||
st.color7: #f2e9e1
|
||||
st.color8: #534c45
|
||||
st.color9: #b3434e
|
||||
st.color10: #577f63
|
||||
st.color11: #b86e28
|
||||
st.color12: #4863b6
|
||||
st.color13: #8452d5
|
||||
st.color14: #488d93
|
||||
st.color15: #f4ece6
|
||||
|
||||
Zutty.bg: #f6f2ee
|
||||
Zutty.fg: #3d2b5a
|
||||
Zutty.cr: #643f61
|
||||
Zutty.color0: #352c24
|
||||
Zutty.color1: #a5222f
|
||||
Zutty.color2: #396847
|
||||
Zutty.color3: #ac5402
|
||||
Zutty.color4: #2848a9
|
||||
Zutty.color5: #6e33ce
|
||||
Zutty.color6: #287980
|
||||
Zutty.color7: #f2e9e1
|
||||
Zutty.color8: #534c45
|
||||
Zutty.color9: #b3434e
|
||||
Zutty.color10: #577f63
|
||||
Zutty.color11: #b86e28
|
||||
Zutty.color12: #4863b6
|
||||
Zutty.color13: #8452d5
|
||||
Zutty.color14: #488d93
|
||||
Zutty.color15: #f4ece6
|
||||
#endif
|
||||
|
||||
@@ -46,9 +46,9 @@ fi
|
||||
|
||||
XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf)
|
||||
if [ "$THEME" = dark ]; then
|
||||
kitten themes --reload-in=all 'lupanbones-dark'
|
||||
kitten themes --reload-in=all Kanagawa
|
||||
elif [ "$THEME" = light ]; then
|
||||
kitten themes --reload-in=all 'lupanbones-light'
|
||||
kitten themes --reload-in=all Dayfox
|
||||
fi
|
||||
|
||||
# GTK
|
||||
|
||||
Reference in New Issue
Block a user