Compare commits

..

1 Commits

17 changed files with 166 additions and 814 deletions

View File

@@ -1,194 +0,0 @@
# Lupan Dark
declare-option str bg "111c22"
declare-option str bgmenu "262b40"
declare-option str fg "a1a3aa"
declare-option str TODO "ff0000"
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 purple "7461d1"
declare-option str yellow "acac53"
declare-option str yellow2 "949438"
declare-option str comment "70675c"
declare-option str red "862d2d"
declare-option str TODO1 "c27070"
declare-option str selectionalpha "80"
## fg,bg
## default+b
## face global NAME ${my_color}
## 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{TODO}"
set-face global bultin "rgb:%opt{TODO}"
## MARKUP
set-face global title "rgb:%opt{TODO}"
set-face global header "rgb:%opt{TODO}"
set-face global mono "rgb:%opt{TODO}"
set-face global block "rgb:%opt{TODO}"
set-face global link "rgb:%opt{blue}"
set-face global bullet "rgb:%opt{TODO}"
set-face global list "rgb:%opt{TODO}"
## 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}"
# Face for windows and messages displaying other information.
set-face global InlineInformation "rgb:%opt{brick}"
# Face for windows and messages displaying inline information.
set-face global Error "rgb:%opt{red}"
# Face for errors reported by Kakoune in the status line.
set-face global DiagnosticError "rgb:%opt{red}"
# Face for errors reported by external tools in the buffer.
set-face global DiagnosticWarning "rgb:%opt{TODO}"
# Face for warnings reported by external tools in the buffer.
set-face global StatusLine "rgb:%opt{yellow2},rgb:%opt{bgmenu}"
# Face for the status line.
set-face global StatusLineMode "rgb:%opt{mint}"
# Face for the current mode, except normal mode.
set-face global StatusLineInfo "rgb:%opt{brick}"
# Face for special information.
set-face global StatusLineValue "rgb:%opt{TODO}"
# Face for special values (numeric prefixes, registers, etc.).
set-face global StatusCursor "rgb:%opt{bg},rgb:%opt{mint}"
# Face for the status line cursor.
set-face global Prompt "rgb:%opt{mint}"
# Face for the prompt displayed on the status line.
set-face global BufferPadding "rgb:%opt{bg},rgb:%opt{bg}"
# Face applied on the ~ characters that follow the last line of a buffer.
# Built-in highlighter faces
# The following faces are used by built-in highlighters if enabled. (See :doc highlighters).
set-face global LineNumbers "rgb:%opt{comment}"
# Face used by the number-lines highlighter.
set-face global LineNumberCursor "rgb:%opt{TODO}"
# Face used to highlight the line number of the main selection.
set-face global LineNumbersWrapped "rgb:%opt{comment}"
# Face used to highlight the line number of wrapped lines.
set-face global MatchingChar "rgb:%opt{TODO}"
# Face used by the show-matching highlighter.
set-face global Whitespace "rgb:%opt{TODO}"
# Face used by the show-whitespaces highlighter.
set-face global WrapMarker "rgb:%opt{TODO}"
# Face used by the wrap-marker highlighter.
# PLUGINS
# kak-lsp
set-face global InfoDefault "rgb:%opt{TODO}"
# The default text color. Youll likely want to leave this at the default Information.
set-face global InfoBlock "rgb:%opt{TODO}"
# The face used for code blocks. Language specific syntax highlighting for code blocks is not supported.
set-face global InfoBlockQuote "rgb:%opt{TODO}"
# The face used for block quotes. The > Markdown syntax is still rendered.
set-face global InfoBullet "rgb:%opt{TODO}"
# The face used to highlight the list symbol for both ordered and unordered lists. For list items' text, InfoDefault is used.
set-face global InfoHeader "rgb:%opt{TODO}"
# The face used for headings. There is currently no distinction between different heading levels.
set-face global InfoLink "rgb:%opt{blue}"
# The face used to highlight link titles. Maybe some classic blue+u for this one?
set-face global InfoLinkMono "rgb:%opt{blue}"
# This face is assigned to inline code spans within link titles, such as in the following Markdown snippet. Here, the word format will receive the InfoLinkMono face.
# [the `format` function](https://example.com)
set-face global InfoMono "rgb:%opt{TODO}"
# The face used for inline code spans (backtick strings).
set-face global InfoRule "rgb:%opt{TODO}"
# The face used for horizontal lines (rules).
set-face global InfoDiagnosticError "rgb:%opt{red}"
# Used for error messages in the diagnostics inside hover info. This defaults to Kakounes built-in Error face.
set-face global InfoDiagnosticHint "rgb:%opt{TODO}"
# Used for hints in the diagnostics inside hover info.
set-face global InfoDiagnosticInformation "rgb:%opt{TODO}"
# Used for informational messages in the diagnostics inside hover info.
set-face global InfoDiagnosticWarning "rgb:%opt{TODO}"
# Used for warnings in the diagnostics inside hover info.

View File

@@ -1,119 +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 "Open (fd)" file-mode 'f' ': file-open<ret>'
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 "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 normal <c-p> ': 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>'
}

View File

@@ -17,7 +17,7 @@ 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
cursor_trail 1
map ctrl+shift+6 no_op
map ctrl+shift+0 nth_window -1
@@ -68,6 +68,6 @@ map ctrl+alt+shift+w detach_window
map ctrl+alt+shift+x close_session .
# BEGIN_KITTY_THEME
# Lupanbones-Dark
# Flexoki (Dark)
include current-theme.conf
# END_KITTY_THEME

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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>wp", "<cmd>AutoSession search<cr>")
local ok, sess = pcall(require, "auto-session")
if ok then

View File

@@ -2,11 +2,8 @@ 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",
})
local cs = require("config.colorscheme")
cs.set_colorschemes("lupanbones", "lupanbones")
cs.set_colorschemes("flexoki", "flexoki")
cs.update_colorscheme()

View File

@@ -13,7 +13,7 @@ if ok then
local set = vim.keymap.set
set({ "n", "x", "o" }, "\\", function()
set({ "n", "x", "o" }, "<leader><space>", function()
require("flash").jump()
end, { desc = "Flash" })
set({ "n", "x", "o" }, "=", function()

View File

@@ -12,53 +12,9 @@ if ok then
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" })
@@ -69,7 +25,7 @@ if ok then
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>cH", fzf.highlights, { desc = "FzfLua 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" })
@@ -148,80 +104,6 @@ if ok then
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

View File

@@ -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"),
},
})

View File

@@ -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

View File

@@ -1,7 +1,7 @@
{
"plugins": {
"LuaSnip": {
"rev": "642b0c595e11608b4c18219e93b88d7637af27bc",
"rev": "5a1e39223db9a0498024a77b8441169d260c8c25",
"src": "https://github.com/L3MON4D3/LuaSnip",
"version": "2.0.0 - 3.0.0"
},
@@ -14,7 +14,7 @@
"src": "https://github.com/rmagatti/auto-session"
},
"conform.nvim": {
"rev": "dca1a190aa85f9065979ef35802fb77131911106",
"rev": "c2526f1cde528a66e086ab1668e996d162c75f4f",
"src": "https://github.com/stevearc/conform.nvim"
},
"flash.nvim": {
@@ -26,7 +26,7 @@
"src": "https://github.com/kepano/flexoki-neovim"
},
"fzf-lua": {
"rev": "2e29d5f233defe3c5587df0e4dd29af2bd95a5a7",
"rev": "d9908fd0a5474994f00526ed17f0b77339dc0152",
"src": "https://github.com/ibhagwan/fzf-lua"
},
"fzf-lua-frecency.nvim": {
@@ -38,19 +38,11 @@
"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 +51,39 @@
"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"
},
"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"
},
"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"
}
}
}
}

View File

@@ -1,5 +1,4 @@
alias v=nvim
alias k=kak
alias ll='ls -l'
alias tl='tmux list-sessions'
alias rgh='rg -.'

View File

@@ -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

View File

@@ -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 'Flexoki (Dark)'
elif [ "$THEME" = light ]; then
kitten themes --reload-in=all 'lupanbones-light'
kitten themes --reload-in=all 'Flexoki (Light)'
fi
# GTK