1
0
Fork 0

Borre codigo viejo y actualize la configuracion de python y rust.

agregue un par de cosas visuales para lsp y colores. statuscolumn.
trouble. Cambios minimos a fontconfig y lf
This commit is contained in:
deadguy 2023-07-21 19:04:55 -03:00
parent 709097bbf0
commit 186dd8672a
Signed by: dgy
GPG Key ID: 37CA55B52CF63730
26 changed files with 368 additions and 221 deletions

View File

@ -26,8 +26,8 @@
<family>monospace</family>
<prefer>
<family>codicon</family>
<family>JetBrainsMono Nerd Font</family>
<family>PragmataPro Mono</family>
<family>Symbols Nerd Font</family>
<family>Berkeley Mono Variable</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>

View File

@ -6,16 +6,16 @@ marks : /home/corpse/.config/fzf-marks
mpv : /home/corpse/.config/mpv/mpv.conf
dunst : /home/corpse/.config/dunst/dunstrc
lfview : /home/corpse/.local/bin/lfview
xinit : /home/corpse/.config/X11/xinitrc
git : /home/corpse/.config/git/config
correo : /home/corpse/.config/neomutt
lf : /home/corpse/.config/lf/lfrc
zshenv : /home/corpse/.zshenv
keys : /home/corpse/.config/sxhkd/sxhkdrc
tmux : /home/corpse/.config/tmux/tmux.conf
zsh : /home/corpse/.config/zsh
alias : /home/corpse/.config/zsh/conf/03_aliases.zsh
nvim : /home/corpse/.config/nvim
polybar : /home/corpse/.config/polybar/config
bspwm : /home/corpse/.config/bspwm/bspwmrc
xinit : /home/corpse/.config/X11/xinitrc
terminal : /home/corpse/.config/alacritty.yml
tmux : /home/corpse/.config/tmux/tmux.conf
bspwm : /home/corpse/.config/bspwm/bspwmrc
zshenv : /home/corpse/.zshenv
nvim : /home/corpse/.config/nvim
lf : /home/corpse/.config/lf/lfrc

View File

@ -10,7 +10,6 @@ set sortby time
set info size:time
set reverse
set incsearch
set period 1
set hidden
set preview
set previewer lfview

View File

@ -1,14 +1,13 @@
#!/usr/bin/env bash
while read -r file
do
case "$1" in
"b") feh --bg-tile "$file" & ;;
"m") mv "$file" "$HOME/img/rand" ;;
"r") convert -rotate 90 "$file" "$file" ;;
"R") convert -rotate -90 "$file" "$file" ;;
"f") convert -flop "$file" "$file" ;;
"y") printf %s "$file" | xclip -selection clipboard & ;;
"d") rm "$file" ;;
"g") krita "$file" & ;;
esac
while read -r file; do
case "$1" in
"b") feh --bg-tile "$file" & ;;
"m") mv "$file" "$HOME/img/ass" ;;
"r") convert -rotate 90 "$file" "$file" ;;
"R") convert -rotate -90 "$file" "$file" ;;
"f") convert -flop "$file" "$file" ;;
"y") printf %s "$file" | xclip -selection clipboard & ;;
"d") rm "$file" ;;
"g") krita "$file" & ;;
esac
done

View File

@ -29,6 +29,7 @@ local lazy_opts = {
install = { colorscheme = { 'gruvbox' } },
ui = {
border = 'single',
wrap = true,
},
performance = {
rtp = {
@ -45,7 +46,6 @@ local lazy_opts = {
'vimballPlugin',
'2html_plugin',
'tohtml',
-- 'matchit',
'logiPat',
'rrhelper',
'netrw',

View File

@ -16,6 +16,7 @@ return {
-- Add languages to be installed here that you want installed for treesitter
ensure_installed = {
'bash',
'c',
'css',
'help',
'html',
@ -30,11 +31,14 @@ return {
'markdown',
'markdown_inline',
'python',
'query',
'rasi',
'regex',
'rust',
'scss',
'toml',
'vim',
'vimdoc'
},
highlight = { enable = true, addtional_vim_regex_highlighting = false },
indent = { enable = true, disable = { 'python' } },

View File

@ -1,27 +1,64 @@
return {
'ellisonleao/gruvbox.nvim',
'catppuccin/nvim',
name = 'catppuccin',
lazy = false, -- make sure we load this during startup if it is your main colorscheme
priority = 1000,
config = function()
require('gruvbox').setup {
contrast = 'hard',
transparent_mode = true,
overrides = {
SignColumn = { bg = 'none' },
GruvboxRedSign = { fg = '#cc241d', bg = '#1d2021', reverse = false },
GruvboxGreenSign = { fg = '#98971a', bg = '#1d2021', reverse = false },
GruvboxYellowSign = { fg = '#d79921', bg = '#1d2021', reverse = false },
GruvboxBlueSign = { fg = '#458588', bg = '#1d2021', reverse = false },
GruvboxPurpleSign = { fg = '#b16286', bg = '#1d2021', reverse = false },
GruvboxAquaSign = { fg = '#689d6a', bg = '#1d2021', reverse = false },
GruvboxOrangeSign = { fg = '#d65d0e', bg = '#1d2021', reverse = false },
require('catppuccin').setup {
term_colors = true,
transparent_background = true,
color_overrides = {
mocha = {
-- base = '#000000',
-- mantle = '#000000',
-- crust = '#000000',
rosewater = '#ffc9c9',
flamingo = '#ff9f9a',
pink = '#ffa9c9',
mauve = '#df95cf',
lavender = '#a990c9',
red = '#ff6960',
maroon = '#f98080',
peach = '#f9905f',
yellow = '#f9bd69',
green = '#b0d080',
teal = '#a0dfa0',
sky = '#a0d0c0',
sapphire = '#95b9d0',
blue = '#89a0e0',
text = '#e0d0b0',
subtext1 = '#d5c4a1',
subtext0 = '#bdae93',
overlay2 = '#928374',
overlay1 = '#7c6f64',
overlay0 = '#665c54',
surface2 = '#504844',
surface1 = '#3a3634',
surface0 = '#252525',
base = '#151515',
mantle = '#0e0e0e',
crust = '#080808',
},
},
styles = {
comments = { 'italic' },
conditionals = {},
loops = {},
functions = {},
keywords = { 'bold' },
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = { 'italic,bold' },
},
}
vim.cmd 'colorscheme gruvbox'
vim.cmd.colorscheme 'catppuccin'
vim.api.nvim_set_hl(0, 'LspDiagnosticsLineNrError', { fg = '#FF0000', bg = '#51202A', bold = true })
vim.api.nvim_set_hl(0, 'LspDiagnosticsLineNrWarn', { fg = '#FFA500', bg = '#51412A', bold = true })
vim.api.nvim_set_hl(0, 'LspDiagnosticsLineNrInfo', { fg = '#00FFFF', bg = '#1E535D', bold = true })
vim.api.nvim_set_hl(0, 'LspDiagnosticsLineNrHint', { fg = '#008bbd', bg = '#1E205D', bold = true })
vim.api.nvim_set_hl(0, 'CmpPmenuBorder', { fg = '#615750' })
vim.api.nvim_set_hl(0, 'PmenuSel', { bg = '#282C34', fg = 'NONE' })
vim.api.nvim_set_hl(0, 'Pmenu', { fg = '#C5CDD9', bg = '#22252A' })

View File

@ -1,6 +1,6 @@
return {
'hrsh7th/nvim-cmp',
ft = { 'lua', 'rust', 'html', 'css', 'javascript', 'zsh', 'toml' },
ft = { 'lua', 'rust', 'python', 'zsh', 'toml' },
dependencies = {
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-nvim-lua',
@ -10,11 +10,9 @@ return {
'saadparwaiz1/cmp_luasnip',
'onsails/lspkind.nvim',
},
-- event ='InsertEnter',
config = function()
local cmp = require 'cmp'
local luasnip = require 'luasnip'
local cmp_autopairs = require 'nvim-autopairs.completion.cmp'
cmp.setup {
enabled = function()
@ -77,10 +75,14 @@ return {
side_padding = 0,
},
},
view = {
entries = 'bordered',
},
formatting = {
fields = { 'kind', 'abbr', 'menu' },
format = function(entry, vim_item)
local kind = require('lspkind').cmp_format { maxwidth = 50, mode = 'symbol_text' }(entry, vim_item)
local kind =
require('lspkind').cmp_format { maxwidth = 50, preset = 'codicons', mode = 'symbol_text' }(entry, vim_item)
local strings = vim.split(kind.kind, '%s', { trimempty = true })
kind.kind = ' ' .. strings[1] .. ' '
kind.menu = ' (' .. strings[2] .. ')'
@ -88,21 +90,32 @@ return {
end,
},
sources = {
{ name = 'nvim_lsp' },
{ name = 'nvim_lua' },
{ name = 'luasnip' },
{ name = 'buffer', keyword_length = 5 },
{ name = 'path' },
{ name = 'luasnip', max_item_count = 5, group_index = 1 },
{ name = 'nvim_lsp', max_item_count = 20, group_index = 1 },
{ name = 'nvim_lua', group_index = 1 },
{ name = 'path', group_index = 2 },
{ name = 'buffer', keyword_length = 2, max_item_count = 5, group_index = 2 },
},
}
local presentAutopairs, cmp_autopairs = pcall(require, 'nvim-autopairs.completion.cmp')
if not presentAutopairs then
return
end
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done { map_char = { tex = '' } })
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = {
sources = cmp.config.sources({
{ name = 'path' },
},
}, {
{
name = 'cmdline',
option = {
ignore_cmds = { 'Man', '!' },
},
},
}),
})
end,
}

View File

@ -0,0 +1,7 @@
return {
'mfussenegger/nvim-dap-python',
ft = 'python',
config = function()
require('dap-python').setup '/home/corpse/.local/lib/python3.11/site-packages/debugpy'
end,
}

26
nvim/lua/vago/dap-ui.lua Normal file
View File

@ -0,0 +1,26 @@
return {
'rcarriga/nvim-dap-ui',
dependencies = {
'mfussenegger/nvim-dap',
},
ft = { 'python', 'rust' },
config = function()
local dap = require 'dap'
local dapui = require 'dapui'
dapui.setup()
dap.listeners.after.event_initialized['dapui_config'] = function()
dapui.open()
end
dap.listeners.before.event_terminated['dapui_config'] = function()
dapui.close()
end
dap.listeners.before.event_exited['dapui_config'] = function()
dapui.close()
end
end,
vim.keymap.set('n', '<leader>db', '<cmd> DapToggleBreakpoint <CR>', { desc = '[D]ebug [B]reakpoint' }),
vim.keymap.set('n', '<leader>dx', '<cmd> DapTerminate <CR>', { desc = '[D]ebug Terminate' }),
vim.keymap.set('n', '<leader>dr', function()
require('dap-python').test_method()
end, { desc = '[D]ebug [R]un' }),
}

View File

@ -1,8 +1,24 @@
return {
'neovim/nvim-lspconfig',
ft = { 'lua', 'rust', 'html', 'css', 'sass', 'scss', 'javascript', 'typescript' },
dependencies = { 'simrat39/rust-tools.nvim' },
ft = { 'lua', 'rust', 'python' },
dependencies = {
{
'https://git.sr.ht/~whynothugo/lsp_lines.nvim',
config = function()
require('lsp_lines').setup()
end,
},
},
config = function()
require('lspconfig.ui.windows').default_options = {
border = 'single',
}
vim.diagnostic.config {
virtual_text = false,
virtual_lines = { only_current_line = true },
}
local builtin = require 'telescope.builtin'
local on_attach = function(client, bufnr)
@ -41,7 +57,7 @@ return {
-- See `:help K` for why this keymap
nmap('K', vim.lsp.buf.hover, 'Hover Documentation')
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
vim.keymap.set({ 'n', 'i' }, '<C-k>', vim.lsp.buf.signature_help, { buffer = bufnr, desc = 'Signature Help' })
-- Lesser used LSP functionality
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
@ -59,7 +75,7 @@ return {
vim.fn.sign_define(
'DiagnosticSignError',
{ text = ' ', texthl = 'DiagnosticSignError', linehl = 'LspDiagnosticsLineNrError' }
{ text = ' ', texthl = 'DiagnosticSignError', linehl = 'LspDiagnosticsLineNrError' }
)
vim.fn.sign_define(
'DiagnosticSignWarn',
@ -74,114 +90,23 @@ return {
{ text = '', texthl = 'LspDiagnosticsLineNrHint', linehl = 'LspDiagnosticsLineNrHint' }
)
if vim.diagnostic then
vim.diagnostic.config {
virtual_text = false,
float = {
source = 'always',
focusable = true,
focus = false,
border = 'single',
-- Customize how diagnostic message will be shown: show error code.
format = function(diagnostic)
-- See null-ls.nvim#632, neovim#17222 for how to pick up `code`
local user_data
user_data = diagnostic.user_data or {}
user_data = user_data.lsp or user_data.null_ls or user_data
local code = (diagnostic.code or user_data.code)
if code then
return string.format('%s (%s)', diagnostic.message, code)
else
return diagnostic.message
end
end,
},
}
_G.LspDiagnosticsShowPopup = function()
return vim.diagnostic.open_float(0, { scope = 'line' })
end
end
-- Show diagnostics in a pop-up window on hover
do
_G.LspDiagnosticsPopupHandler = function()
local current_cursor = vim.api.nvim_win_get_cursor(0)
local last_popup_cursor = vim.w.lsp_diagnostics_last_cursor or { nil, nil }
-- Show the popup diagnostics window,
-- but only once for the current cursor location (unless moved afterwards).
if not (current_cursor[1] == last_popup_cursor[1] and current_cursor[2] == last_popup_cursor[2]) then
vim.w.lsp_diagnostics_last_cursor = current_cursor
end
end
vim.api.nvim_create_augroup('Diags', { clear = true })
vim.api.nvim_create_autocmd({ 'CursorHold' }, {
callback = function()
_G.LspDiagnosticsPopupHandler()
end,
group = 'Diags',
})
end
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, {
border = 'single',
})
vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.signature_help, {
border = 'single',
})
-- Create a command `:Format` local to the LSP buffer
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
vim.lsp.buf.format()
end, { desc = 'Format current buffer with LSP' })
end
-- Setup Rust configuration
local rust_opts = {
tools = {
runnables = {
use_telescope = true,
hover_wtih_actions = true,
},
inlay_hints = {
auto = true,
show_parameter_hints = false,
parameter_hints_prefix = '',
other_hints_prefix = '',
},
},
server = {
on_attach = on_attach,
settings = {
-- to enable rust-analyzer settings visit:
-- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc
['rust-analyzer'] = {
-- enable clippy on save
checkOnSave = {
command = 'clippy',
},
diagnostics = {
experimental = {
enable = true,
},
},
},
},
},
}
require('rust-tools').setup(rust_opts)
-- nvim-cmp supports additional completion capabilities, so broadcast that to servers
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
capabilities.textDocument.completion.completionItem.snippetSupport = true
local servers = { 'html', 'cssls', 'tailwindcss', 'emmet_ls', 'jsonls' }
for _, server in ipairs(servers) do
require('lspconfig')[server].setup { capabilities = capabilities, on_attach = on_attach }
end
require('lspconfig').pylsp.setup {
capabilities = capabilities,
on_attach = on_attach,
}
require('lspconfig').rust_analyzer.setup {
capabilities = capabilities,

View File

@ -1,7 +1,6 @@
return {
'jose-elias-alvarez/null-ls.nvim',
ft = { 'lua', 'rust', 'html', 'css', 'javascript', 'zsh', 'toml', 'sh', 'bash', 'make', 'python' },
-- event = { 'BufReadPre', 'BufNewFile' },
-- ft = { 'lua', 'rust', 'zsh', 'toml', 'sh', 'bash', 'make', 'python' },
config = function()
local nulls = require 'null-ls'
local fmt = nulls.builtins.formatting
@ -11,30 +10,26 @@ return {
sources = {
-- # FORMATTING #
fmt.trim_whitespace.with {
filetypes = { 'sh', 'zsh', 'yaml', 'toml', 'make', 'conf', 'python' },
filetypes = { 'sh', 'zsh', 'yaml', 'toml', 'make', 'conf' },
},
-- NOTE:
-- 1. both needs to be enabled to so prettier can apply eslint fixes
-- 2. and prettierd should come first
fmt.prettierd,
fmt.eslint_d,
fmt.rustywind,
fmt.shfmt.with { filetypes = { 'sh', 'bash', 'zsh' } },
fmt.stylua,
fmt.jq,
fmt.isort,
fmt.black,
-- # DIAGNOSTICS #
dgn.eslint_d,
dgn.tidy,
dgn.shellcheck,
dgn.zsh,
dgn.luacheck,
dgn.mypy,
dgn.ruff,
-- # CODE ACTIONS #
cda.gitsigns.with {
condition = function(util)
return util.root_has_file { '.git' }
end,
},
cda.eslint_d,
cda.shellcheck,
cda.gitrebase,
},

View File

@ -4,5 +4,4 @@ return {
{ 'nvim-tree/nvim-web-devicons', event = 'VeryLazy' },
{ 'nvim-lua/plenary.nvim', event = 'VeryLazy' },
{ 'tpope/vim-sleuth', event = 'VeryLazy' },
{ 'phaazon/mind.nvim', branch = 'v2.2', config = true, ft = 'markdown' },
}

46
nvim/lua/vago/oxido.lua Normal file
View File

@ -0,0 +1,46 @@
return {
'simrat39/rust-tools.nvim',
ft = 'rust',
config = function()
local rt = require 'rust-tools'
rt.setup {
tools = {
runnables = {
use_telescope = true,
hover_wtih_actions = true,
},
hover_actions = {
auto_focus = true,
},
dap = {
adapter = {
type = 'executable',
command = 'lldb-vscode',
name = 'rt_lldb',
},
},
},
server = {
capabilities = require('cmp_nvim_lsp').default_capabilities(),
on_attach = function(_, bufnr)
vim.keymap.set('n', '<Leader>k', rt.hover_actions.hover_actions, { buffer = bufnr })
vim.keymap.set('n', '<Leader>a', rt.code_action_group.code_action_group, { buffer = bufnr })
end,
settings = {
-- to enable rust-analyzer settings visit:
-- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc
['rust-analyzer'] = {
checkOnSave = {
command = 'clippy',
},
diagnostics = {
experimental = {
enable = true,
},
},
},
},
},
}
end,
}

View File

@ -0,0 +1,15 @@
return {
'folke/trouble.nvim',
ft = { 'lua', 'rust', 'python' },
dependencies = { 'nvim-tree/nvim-web-devicons' },
opts = {
use_diagnostic_signs = true,
height = 15,
},
vim.keymap.set('n', '<leader>xx', '<cmd>TroubleToggle<cr>'),
vim.keymap.set('n', '<leader>xw', '<cmd>TroubleToggle workspace_diagnostics<cr>'),
vim.keymap.set('n', '<leader>xd', '<cmd>TroubleToggle document_diagnostics<cr>'),
vim.keymap.set('n', '<leader>xl', '<cmd>TroubleToggle loclist<cr>'),
vim.keymap.set('n', '<leader>xq', '<cmd>TroubleToggle quickfix<cr>'),
vim.keymap.set('n', 'gR', '<cmd>TroubleToggle lsp_references<cr>'),
}

View File

@ -7,8 +7,7 @@ return {
require('luasnip.loaders.from_lua').lazy_load()
end,
},
-- event = 'InsertEnter',
ft = { 'lua', 'rust', 'html', 'css', 'javascript' },
ft = { 'lua', 'rust', 'html', 'css', 'python' },
config = function()
require('luasnip').config.setup {
update_events = 'TextChanged,TextChangedI',

View File

@ -12,7 +12,15 @@ return {
config = function()
require('gitsigns').setup {
numhl = true,
signcolumn = false,
signcolumn = true,
signs = {
add = { text = '' },
change = { text = '' },
delete = { text = '' },
topdelete = { text = '' },
changedelete = { text = '' },
untracked = { text = '' },
},
on_attach = function(bufnr)
local gs = package.loaded.gitsigns

View File

@ -1,6 +1,5 @@
return {
'nvim-telescope/telescope.nvim',
-- branch = '0.1.x',
dependencies = {
'nvim-telescope/telescope-ui-select.nvim',
'nvim-telescope/telescope-file-browser.nvim',
@ -12,11 +11,13 @@ return {
local actions = require 'telescope.actions'
local previewers = require 'telescope.previewers'
local builtin = require 'telescope.builtin'
local trouble = require 'trouble.providers.telescope'
require('telescope').setup {
defaults = {
dynamic_preview_title = true,
wrap_results = true,
layout_strategy = 'flex',
preview = {
filesize_limit = 5,
timeout = 150,
@ -35,10 +36,12 @@ return {
selection_caret = '',
file_ignore_patterns = { '%.jpeg$', '%.jpg$', '%.png$', '%.pdf$', 'node_modules', '.git/', 'dist/' },
mappings = {
n = { ['<c-t>'] = trouble.open_with_trouble },
i = {
['<C-o>'] = actions.select_horizontal,
['<TAB>'] = actions.toggle_selection + actions.move_selection_next,
['<M-space>'] = actions.to_fuzzy_refine,
['<c-t>'] = trouble.open_with_trouble,
},
},
},
@ -54,7 +57,9 @@ return {
},
undo = {
side_by_side = true,
layout_strategy = 'vertical',
use_delta = true,
entry_format = '󰣜 #$ID, $STAT, $TIME',
layout_strategy = 'flex',
layout_config = {
preview_height = 0.4,
},

32
nvim/plugin/columna.lua Normal file
View File

@ -0,0 +1,32 @@
local M = {}
_G.Status = M
---@return {name:string, text:string, texthl:string}[]
function M.get_signs()
local buf = vim.api.nvim_win_get_buf(vim.g.statusline_winid)
return vim.tbl_map(function(sign)
return vim.fn.sign_getdefined(sign.name)[1]
end, vim.fn.sign_getplaced(buf, { group = '*', lnum = vim.v.lnum })[1].signs)
end
function M.column()
local sign, git_sign
for _, s in ipairs(M.get_signs()) do
if s.name:find 'GitSign' then
git_sign = s
else
sign = s
end
end
local components = {
sign and ('%#' .. sign.texthl .. '#' .. sign.text .. '%*') or '',
[[%=]],
[[%{&nu?(&rnu&&v:relnum?v:relnum:v:lnum):''} ]],
git_sign and ('%#' .. git_sign.texthl .. '#' .. git_sign.text .. '%*') or ' ',
}
return table.concat(components, '')
end
vim.opt.statuscolumn = [[%!v:lua.Status.column()]]
return M

View File

@ -42,8 +42,6 @@ vim.keymap.set('n', '<leader>Q', ':qa!<CR>', { silent = true, desc = 'Quit all'
vim.keymap.set('n', '<Leader>p', ':Lazy<CR>', { desc = 'Lazy' })
vim.keymap.set({ 'n', 'v' }, '<Bar>', 'gg', { silent = true, desc = 'Go to top of the file' })
vim.keymap.set({ 'n', 'v' }, '¿', 'G', { silent = true, desc = 'Go to bottom of the file' })
vim.keymap.set('n', '<leader>xl', '<cmd>lopen<cr>', { desc = 'Open Location List' })
vim.keymap.set('n', '<leader>xq', '<cmd>copen<cr>', { desc = 'Open Quickfix List' })
-- Centering
vim.keymap.set({ 'n', 'v' }, 'J', 'mzJ`z')
@ -128,6 +126,21 @@ vim.keymap.set('c', '<C-k>', '<C-p>', { remap = true, silent = true })
vim.keymap.set({ 'n', 'x' }, '/', '/\\v')
vim.keymap.set({ 'n', 'x' }, '?', '?\\v')
-- Reselect latest changed, put, or yanked text
vim.keymap.set(
'n',
'gV',
'"`[" . strpart(getregtype(), 0, 1) . "`]"',
{ expr = true, desc = 'Visually select changed text' }
)
-- Search inside visually highlighted text.
vim.keymap.set('x', 'g/', '<esc>/\\%V', { silent = false, desc = 'Search inside visual selection' })
-- Search visually selected text
vim.keymap.set('x', '*', [[y/\V<C-R>=escape(@", '/\')<CR><CR>]])
vim.keymap.set('x', '#', [[y?\V<C-R>=escape(@", '?\')<CR><CR>]])
-- Write and quit typos
local typos = { 'W', 'Wq', 'WQ', 'Wqa', 'WQa', 'WQA', 'WqA', 'Q', 'Qa', 'QA' }
for _, cmd in ipairs(typos) do

View File

@ -14,6 +14,7 @@ local options = {
number = true,
ruler = false,
hlsearch = false,
modelines = 0,
scrolloff = 5,
pumheight = 10,
updatetime = 100,
@ -30,7 +31,6 @@ local options = {
vim.opt.nrformats:append 'alpha'
vim.opt.diffopt:append { 'vertical', 'iwhite', 'indent-heuristic', algorithm = 'patience', foldcolumn = 0 }
vim.opt.formatoptions = vim.opt.formatoptions - 'a' - 't' + 'c' + 'q' - 'o' - 'r' + 'n' + 'j' - '2'
for k, v in pairs(options) do

View File

@ -30,17 +30,17 @@ M.colors = {
-- diagnostics symbol config
M.lsp_icon = {
hint = ' ',
hint = ' ',
info = '',
warn = '',
error = ' ',
error = ' ',
git = '',
serv = '',
}
-- setup truncation limits
M.trunc_width = setmetatable({
git_status = 90,
git_status = 100,
lsp_name = 100,
filename = 140,
line_col = 60,
@ -81,7 +81,7 @@ M.get_git_status = function(self)
local is_head_empty = signs.head ~= ''
if self:is_truncated(self.trunc_width.git_status) then
return is_head_empty and signs.head or ''
return is_head_empty and self.lsp_icon.git or ''
end
return is_head_empty and string.format(' %s %s', self.lsp_icon.git, signs.head) or ''

View File

@ -6,6 +6,7 @@ set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
set -g set-titles-string "#S > #{=-15:?window_name,#{window_name},#{s/corpse/home/:?pane_current_path,#{b:pane_current_path},}} (#T)"
set -g mode-keys vi
set -g status-keys emacs
set -g history-limit 102400
set -g display-time 2000
set -sg escape-time 0
@ -69,8 +70,8 @@ bind-key Left select-pane -L
bind-key Right select-pane -R
# Ventanas
bind-key < previous-window
bind-key > next-window
bind-key C-p previous-window
bind-key C-n next-window
bind-key [ swap-window -t :-1 -d
bind-key ] swap-window -t :+1 -d
bind-key Tab choose-window
@ -83,6 +84,9 @@ bind-key b list-buffers
bind-key B choose-buffer
bind-key P capture-pane -S -32768 \; save-buffer "/tmp/printscreen" \; delete-buffer \; new-window -n "PRINTSCREEN" "$EDITOR /tmp/printscreen"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
# Statusbar
set -g pane-border-indicators arrows

View File

@ -6,11 +6,16 @@
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"announce-ip": "",
"announce-ip-enabled": false,
"anti-brute-force-enabled": false,
"anti-brute-force-threshold": 100,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": true,
"blocklist-url": "",
"cache-size-mb": 8,
"default-trackers": "",
"dht-enabled": true,
"download-dir": "/mnt/wd1tb/catacombs/torrent/",
"download-queue-enabled": true,
@ -21,7 +26,7 @@
"incomplete-dir": "/mnt/wd1tb/catacombs/torrent",
"incomplete-dir-enabled": false,
"lpd-enabled": false,
"message-level": 2,
"message-level": 4,
"peer-congestion-algorithm": "",
"peer-id-ttl-hours": 6,
"peer-limit-global": 240,
@ -30,7 +35,7 @@
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": true,
"peer-socket-tos": "default",
"peer-socket-tos": "le",
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 2,
@ -47,13 +52,18 @@
"rpc-host-whitelist-enabled": true,
"rpc-password": "{cdfd4b80fd2ff2788b7b9e35f52b60e002c321a2Du6Q4Tud",
"rpc-port": 9091,
"rpc-socket-mode": "0750",
"rpc-url": "/transmission/",
"rpc-username": "",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": true,
"scrape-paused-torrents-enabled": true,
"script-torrent-added-enabled": false,
"script-torrent-added-filename": "",
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"script-torrent-done-seeding-enabled": false,
"script-torrent-done-seeding-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
@ -61,8 +71,10 @@
"speed-limit-up": 1625614,
"speed-limit-up-enabled": true,
"start-added-torrents": true,
"tcp-enabled": true,
"torrent-added-verify-mode": "fast",
"trash-original-torrent-files": false,
"umask": 18,
"umask": "022",
"upload-slots-per-torrent": 14,
"utp-enabled": true,
"watch-dir": "/mnt/samsung/necropolis/etc/torrent/",

View File

@ -1,60 +1,62 @@
SDL2-devel-2.26.5_1
SDL2-devel-2.28.1_1
SDL2_gfx-1.0.4_2
SDL2_image-2.6.3_1
StyLua-0.17.1_1
alacritty-0.12.1_1
StyLua-0.18.0_1
alacritty-0.12.2_1
alsa-lib-32bit-1.2.9_1
alsa-plugins-ffmpeg-1.2.7.1_1
alsa-plugins-ffmpeg-32bit-1.2.7.1_1
alsa-plugins-jack-1.2.7.1_1
alsa-plugins-pulseaudio-1.2.7.1_1
alsa-plugins-pulseaudio-32bit-1.2.7.1_1
alsa-utils-1.2.9_1
android-tools-34.0.1_1
android-udev-rules-20230303_1
android-udev-rules-20230614_1
audacious-4.3.1_1
audacious-plugins-4.3.1_1
base-devel-20181003_2
base-system-0.114_1
bat-0.23.0_1
bat-0.23.0_2
blueman-2.3.5_1
bluez-5.66_1
bluez-5.68_1
bluez-alsa-3.1.0_1
bspwm-0.9.10_2
chrony-4.3_2
corectrl-1.2.3_3
delta-0.15.1_1
delta-0.16.5_2
dfc-3.1.1_2
dkms-3.0.10_1
dunst-1.9.0_1
dkms-3.0.10_2
dunst-1.9.2_1
elogind-246.10_3
evtest-qt-0.2.0_1
exiftool-12.62_1
exiftool-12.64_1
fcitx-4.2.9.9_1
fcitx-configtool-0.4.10_2
fcitx-mozc-2.28.4800.102_1
fd-8.7.0_1
feh-3.10_1
ffmpeg-4.4.4_1
ffmpeg-4.4.4_2
file-roller-43.0_1
firefox-113.0_1
firefox-115.0.2_1
flashrom-1.2_3
fzf-0.40.0_1
fzf-0.42.0_1
gamemode-1.7_1
git-2.40.1_1
git-libsecret-2.40.1_1
git-2.41.0_1
git-libsecret-2.41.0_1
gnome-ssh-askpass-9.3p1_1
gnupg2-2.4.0_1
gnupg2-2.4.3_1
grub-x86_64-efi-2.06_3
hidapi-0.13.1_1
hidapi-32bit-0.13.1_1
highlight-4.5_1
htop-3.2.2_1
isync-1.4.4_1
jq-1.6_3
jack-1.9.22_1
jq-1.6_4
keychain-2.8.5_2
krita-5.0.8_5
lf-r29_1
libdrm-32bit-2.4.114_1
krita-5.0.8_8
lf-r30_1
libdrm-32bit-2.4.115_1
libfcitx-gtk-4.2.9.9_1
libfcitx-gtk3-4.2.9.9_1
libgamemode-32bit-1.7_1
@ -62,31 +64,31 @@ libgcc-32bit-12.2.0_2
libglvnd-32bit-1.6.0_1
libstdc++-32bit-12.2.0_2
libunrar-6.2.5_1
linux-firmware-20230404_1
linux-firmware-20230515_1
lm_sensors-3.6.0_1
lua-language-server-3.6.17_1
lua-language-server-3.6.23_1
luarocks-lua54-3.9.1_1
maim-5.7.4_6
megatools-1.11.0_1
mesa-dri-22.3.5_2
mesa-dri-32bit-22.3.5_2
mesa-vulkan-radeon-22.3.5_2
mesa-vulkan-radeon-32bit-22.3.5_2
maim-5.7.4_7
megatools-1.11.1_1
mesa-dri-23.1.3_1
mesa-dri-32bit-23.1.3_1
mesa-vulkan-radeon-23.1.3_1
mesa-vulkan-radeon-32bit-23.1.3_1
mlocate-0.26_7
mosh-1.4.0_3
mozc-2.28.4800.102_1
mpv-0.35.1_2
msmtp-1.8.23_1
msmtp-1.8.24_1
mumble-1.4.287_3
ncurses-devel-6.4_1
neomutt-20230517_1
neovim-0.9.0_1
neovim-0.9.1_1
nfs-utils-2.6.2_1
nicotine+-3.2.9_1
nodejs-16.19.0_2
nodejs-18.16.0_2
noto-fonts-cjk-20220127_2
noto-fonts-emoji-2.038_1
noto-fonts-ttf-23.5.1_1
noto-fonts-ttf-23.7.1_1
nsxiv-31_1
opendoas-6.8.2_1
openjdk11-11.0.12+7_3
@ -99,37 +101,42 @@ pinentry-gtk-1.2.1_1
pipe-viewer-0.4.6_1
polybar-3.6.3_1
protontricks-1.10.2_1
pulseaudio-15.0_3
pulseaudio-15.0_4
pulsemixer-1.5.1_2
python3-BeautifulSoup4-4.11.1_2
python3-BeautifulSoup4-4.12.2_1
python3-pip-23.1.2_1
python3-pysdl2-0.9.6_5
python3-virtualenv-20.23.1_1
qjackctl-0.9.9_1
ripgrep-13.0.0_2
rofi-1.7.5_1
rsync-3.2.7_1
setxkbmap-1.3.3_1
sc3-plugins-3.10.0_2
setxkbmap-1.3.4_1
shellcheck-0.9.0_1
shfmt-3.6.0_2
shfmt-3.7.0_1
simple-mtpfs-0.4.0_1
slop-7.6_3
slop-7.6_4
snooze-0.5_1
socklog-void-20200115_2
steam-1.0.0.78_1
supercollider-3.11.1_6
sv-netmount-0.1_3
sxhkd-0.6.2_1
texlive-bin-2023_1
tidy5-5.8.0_1
tmux-3.3a_2
transmission-3.00_5
transmission-4.0.3_2
tremc-0.9.3_1
udevil-0.4.4_5
unclutter-xfixes-1.6_1
unrar-6.2.5_1
vkBasalt-0.3.2.9_1
vkBasalt-32bit-0.3.2.9_1
vkBasalt-0.3.2.10_1
vkBasalt-32bit-0.3.2.10_1
void-repo-multilib-6_4
void-repo-multilib-nonfree-6_4
void-repo-nonfree-9_6
wine-8.8_1
wine-8.11_1
wine-mono-8.0.0_1
xclip-0.13_2
xcompmgr-1.1.9_1
@ -145,14 +152,15 @@ xorg-minimal-1.2_2
xpadneo-0.9.5_1
xprop-1.2.6_1
xrandr-1.5.2_1
xrdb-1.2.1_1
xset-1.2.5_1
xrdb-1.2.2_1
xset-1.2.5_2
xsetroot-1.1.3_1
xtools-minimal-0.65_2
zathura-0.5.2_1
zathura-cb-0.1.10_1
zathura-pdf-mupdf-0.4.0_1
zip-3.0_6
zsh-5.9_2
zita-ajbridge-0.8.4_1
zsh-5.9_3
zsh-history-substring-search-1.0.2_2
zsh-syntax-highlighting-0.7.1_3

View File

@ -40,6 +40,7 @@ export LYNX_LSS="${XDG_CONFIG_HOME:-$HOME/.config}/lynx.lss"
export ELINKS_CONFDIR="${XDG_CONFIG_HOME:-$HOME/.config}/elinks"
export CARGO_HOME="$XDG_DATA_HOME/cargo"
export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
export MYPY_CACHE_DIR="$XDG_CACHE_HOME/mypy"
export XCURSOR_THEME="Grounation"
export QT_QPA_PLATFORMTHEME="gtk3"