1
0
Fork 0

Modularice diagnostico, statuscolumn, tabbar, y mejore statusbar para que funcione siempre con o sin iconos. Borre cosas viejas o que ya no se usaban.

This commit is contained in:
deadguy 2023-08-05 00:47:12 -03:00
parent 186dd8672a
commit 1458e6aebc
Signed by: dgy
GPG Key ID: 37CA55B52CF63730
69 changed files with 537 additions and 2432 deletions

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
git : /home/corpse/.config/git/config
correo : /home/corpse/.config/neomutt
keys : /home/corpse/.config/sxhkd/sxhkdrc
zsh : /home/corpse/.config/zsh
alias : /home/corpse/.config/zsh/conf/03_aliases.zsh
polybar : /home/corpse/.config/polybar/config
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
git : /home/corpse/.config/git/config
nvim : /home/corpse/.config/nvim
alias : /home/corpse/.config/zsh/conf/03_aliases.zsh
zshenv : /home/corpse/.zshenv

View File

@ -22,6 +22,7 @@
autocrlf = input
whitespace = warn
excludesfile = ~/.config/git/gitignore
attributesFile = ~/.config/git/gitattributes
pager = "{ \
COLUMNS=$(tput cols); \
if [ $COLUMNS -ge 80 ] && [ -z $FZF_PREVIEW_COLUMNS ]; then \
@ -73,7 +74,7 @@
conflictstyle = diff3
[mergetool "nvimerge"]
cmd = nvim -d \"$LOCAL\" \"$MERGED\" \"$BASE\" \"$REMOTE\" -c \"wincmd w\" -c \"wincmd J\"
cmd = nvim --cmd \":lua vim.g.noplugins=1\" -d \"$LOCAL\" \"$MERGED\" \"$BASE\" \"$REMOTE\" -c \"wincmd w\" -c \"wincmd J\"
[mergetool]
prompt = false
@ -88,7 +89,7 @@
compactionHeuristic = true
[difftool "nvimdiff"]
cmd = nvim -d \"$LOCAL\" \"$REMOTE\" -c \"wincmd w\" -c \"wincmd L\"
cmd = nvim --cmd \":lua vim.g.noplugins=1\" -d \"$LOCAL\" \"$REMOTE\" -c \"wincmd w\" -c \"wincmd L\"
trustexitcode = true
[commit]

View File

@ -1 +0,0 @@
au BufRead,BufNewFile *.rpy set filetype=renpy

View File

@ -1,3 +0,0 @@
vim.wo.number = false
vim.wo.relativenumber = false
vim.wo.signcolumn = 'no'

View File

@ -1,5 +0,0 @@
vim.wo.list = false
vim.bo.expandtab = false
vim.bo.shiftwidth = 2
vim.bo.tabstop = 2
vim.bo.bufhidden = 'delete'

View File

@ -1,5 +0,0 @@
vim.opt.shiftwidth = 2
vim.opt.softtabstop = 2
vim.opt.tabstop = 2
vim.opt.textwidth = 120
vim.opt.formatoptions = vim.opt.formatoptions - 'o'

View File

@ -1,8 +0,0 @@
vim.bo.textwidth = 80
vim.wo.conceallevel = 2
vim.opt_local.shiftwidth = 2
-- SPELL
vim.opt_local.spell = true
vim.bo.spelllang = 'en_us'
vim.keymap.set('i', '<M-l>', '<C-g>u<Esc>[s1z=`]a<C-g>u', { buffer = true, desc = 'Fix Last Miss-Spelling' })

View File

@ -1,2 +0,0 @@
vim.wo.relativenumber = false
vim.wo.signcolumn = 'no'

View File

@ -1,23 +0,0 @@
" ftplugin/rasi.vim
" Vim Plugin: {{{1
" File: rasi.vim
" Author: Marco Cantoro <marco.cantoro92@outlook.it>
" Description: Rofi Advanced Style Information
" Last Modified: 2020-11-09
" }}}
" File Type Plugin Guards: {{{1
if exists('g:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
" }}}
" Filetype Options: {{{1
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
setlocal commentstring=//\ %s
setlocal iskeyword+=-
" }}}
let b:undo_ftplugin = "setl com< cms< fo< spell< fdm< ts< sts< et< sw< tw< "

View File

@ -1,19 +0,0 @@
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl et< sts< fo< com< cms< inc<"
" Make sure a hard tab is used, required for most make programs
setlocal noexpandtab softtabstop=0
" Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o".
setlocal fo-=t fo+=croql
" Set 'comments' to format dashed lists in comments
setlocal com=sO:#\ -,mO:#\ \ ,b:#
" Set 'commentstring' to put the marker after a #.
setlocal commentstring=#\ %s

View File

@ -1,41 +0,0 @@
-- Basic Options
vim.wo.spell = true
vim.bo.expandtab = false
vim.bo.smartindent = false
vim.bo.textwidth = 80
vim.wo.colorcolumn = "80"
vim.bo.spelllang = "es,cjk"
vim.bo.complete = "kspell"
-- Spellcheck
vim.keymap.set("n", "<F7>", "[s", { silent = true, buffer = true })
vim.keymap.set("n", "<F8>", "]s", { silent = true, buffer = true })
vim.keymap.set("n", "<F9>", "z=1<CR><CR>", { silent = true, buffer = true })
vim.keymap.set("n", "<F10>", "z=", { silent = true, buffer = true })
vim.keymap.set("i", "<C-l>", "<C-g>u<Esc>[s1z=`]a<C-g>u", { buffer = true, desc = "Fix Last Miss-Spelling" })
-- Abbreviations
vim.cmd("iabbrev <buffer> _- ")
vim.cmd("iabbrev <buffer> -- —")
vim.cmd("iabbrev <buffer> << «")
vim.cmd("iabbrev <buffer> >> »")
vim.cmd("iabbrev <buffer> __ …")
vim.cmd("iabbrev <buffer> qq “")
vim.cmd("iabbrev <buffer> QQ ”")
-- Formatting
vim.api.nvim_create_augroup("Pencil", { clear = true })
vim.api.nvim_create_autocmd("InsertEnter", {
callback = function()
vim.bo.formatoptions = "awt1p"
end,
group = "Pencil",
buffer = 0,
})
vim.api.nvim_create_autocmd("InsertLeave", {
callback = function()
vim.bo.formatoptions = "wt1p"
end,
group = "Pencil",
buffer = 0,
})

View File

@ -1,31 +0,0 @@
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetIndentSXHKD()
" Only define the function once:
if exists("*GetIndentSXHKD")
finish
endif
function GetIndentSXHKD()
" Find a non-blank line above the current line:
let lnum = prevnonblank(v:lnum - 1)
" No indent for the start of the file:
if lnum == 0
return 0
endif
let prev_line = getline(lnum)
if prev_line =~ '^\s*#'
return 0
elseif prev_line =~ '\v^\s+'
return 0
else
return &sw
endif
endfunction

View File

@ -1,19 +0,0 @@
require('nvim-autopairs').setup {
disable_filetype = { 'TelescopePrompt', 'text', 'mail' },
check_ts = true,
ts_config = {
lua = { 'string', 'source' }, -- it will not add pair on that treesitter node
javascript = { 'string', 'template_string' },
},
fast_wrap = {
map = '<M-e>',
chars = { '{', '[', '(', '"', "'" },
pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], '%s+', ''),
offset = 0, -- Offset from pattern match
end_key = '$',
keys = 'qwertyuiopzxcvbnmasdfghjkl',
check_comma = true,
highlight = 'Search',
highlight_grey = 'Comment',
},
}

View File

@ -1,95 +0,0 @@
-- nvim-cmp setup
local cmp = require 'cmp'
local luasnip = require 'luasnip'
local cmp_autopairs = require 'nvim-autopairs.completion.cmp'
cmp.setup {
enabled = function()
if
vim.api.nvim_buf_get_option(0, 'buftype') == 'prompt'
or vim.api.nvim_buf_get_option(0, 'filetype') == 'text'
or vim.api.nvim_buf_get_option(0, 'filetype') == 'mail'
or require('cmp.config.context').in_syntax_group 'Comment'
then
return false
else
return true
end
end,
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert {
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping(function(_)
return vim.fn.pumvisible() == 1 and cmp.close() or cmp.complete()
end),
['<C-e>'] = cmp.mapping {
i = cmp.mapping.abort(),
c = cmp.mapping.close(),
},
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = true,
},
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
},
window = {
documentation = {
border = { '', '', '', '', '', '', '', '' },
winhighlight = 'Normal:CmpPmenu,FloatBorder:CmpPmenuBorder,CursorLine:PmenuSel,Search:None',
side_padding = 1,
},
completion = {
winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,Search:None',
col_offset = -3,
side_padding = 0,
},
},
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 strings = vim.split(kind.kind, '%s', { trimempty = true })
kind.kind = ' ' .. strings[1] .. ' '
kind.menu = ' (' .. strings[2] .. ')'
return kind
end,
},
sources = {
{ name = 'nvim_lsp' },
{ name = 'nvim_lua' },
{ name = 'luasnip' },
{ name = 'buffer', keyword_length = 5 },
{ name = 'path' },
},
}
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done { map_char = { tex = '' } })
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'path' },
},
})

View File

@ -1,58 +0,0 @@
require('gitsigns').setup {
numhl = true,
signcolumn = false,
on_attach = function(bufnr)
local gs = package.loaded.gitsigns
local function map(mode, l, r, opts)
opts = opts or {}
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
-- Navigation
map('n', '}c', function()
if vim.wo.diff then
return '}c'
end
vim.schedule(function()
gs.next_hunk()
end)
return '<Ignore>'
end, { expr = true })
map('n', '{c', function()
if vim.wo.diff then
return '{c'
end
vim.schedule(function()
gs.prev_hunk()
end)
return '<Ignore>'
end, { expr = true })
-- Actions
map({ 'n', 'v' }, '<leader>gs', ':Gitsigns stage_hunk<CR>')
map({ 'n', 'v' }, '<leader>gr', ':Gitsigns reset_hunk<CR>')
map('n', '<leader>gS', gs.stage_buffer)
map('n', '<leader>gu', gs.undo_stage_hunk)
map('n', '<leader>gr', gs.reset_buffer)
map('n', '<leader>gp', gs.preview_hunk)
map('n', '<leader>gb', function()
gs.blame_line { full = true }
end)
map('n', '<leader>tb', gs.toggle_current_line_blame)
map('n', '<leader>gd', gs.diffthis)
map('n', '<leader>gD', function()
gs.diffthis '~'
end)
map('n', '<leader>td', gs.toggle_deleted)
-- Text object
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
end,
}
vim.keymap.set('n', 'gh', ':diffget //2<CR>')
vim.keymap.set('n', 'gl', ':diffget //3<CR>')
vim.keymap.set({ 'n', 'x' }, '<leader>g}', ':diffput<CR>')
vim.keymap.set({ 'n', 'x' }, '<leader>{g', ':diffget<CR>')

View File

@ -1,190 +0,0 @@
local builtin = require 'telescope.builtin'
local on_attach = function(client, bufnr)
local nmap = function(keys, func, desc)
if desc then
desc = 'LSP: ' .. desc
end
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
if client.server_capabilities.documentHighlightProvider then
vim.api.nvim_create_augroup('lsp_document_highlight', { clear = true })
vim.api.nvim_clear_autocmds { buffer = bufnr, group = 'lsp_document_highlight' }
vim.api.nvim_create_autocmd('CursorHold', {
callback = vim.lsp.buf.document_highlight,
buffer = bufnr,
group = 'lsp_document_highlight',
desc = 'Document Highlight',
})
vim.api.nvim_create_autocmd('CursorMoved', {
callback = vim.lsp.buf.clear_references,
buffer = bufnr,
group = 'lsp_document_highlight',
desc = 'Clear All the References',
})
end
end
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
nmap('gd', builtin.lsp_definitions, '[G]oto [D]efinition')
nmap('gr', builtin.lsp_references, '[G]oto [R]eferences')
nmap('gI', builtin.lsp_implementations, '[G]oto [I]mplementation')
nmap('<leader>D', builtin.lsp_type_definitions, 'Type [D]efinition')
nmap('<leader>ds', builtin.lsp_document_symbols, '[D]ocument [S]ymbols')
nmap('<leader>ws', builtin.lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
-- 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')
-- Lesser used LSP functionality
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder')
nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder')
nmap('<leader>wl', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, '[W]orkspace [L]ist Folders')
-- Diagnostic keymaps
nmap('{d', vim.diagnostic.goto_prev, 'Previous [D]iagnostic')
nmap('}d', vim.diagnostic.goto_next, 'Next [D]iagnostic')
nmap('<leader>e', vim.diagnostic.open_float, 'View [E]rror')
nmap('<leader>ll', vim.diagnostic.setloclist, 'View [L]ocal [L]ist')
vim.fn.sign_define(
'DiagnosticSignError',
{ text = '', texthl = 'DiagnosticSignError', linehl = 'LspDiagnosticsLineNrError' }
)
vim.fn.sign_define(
'DiagnosticSignWarn',
{ text = '', texthl = 'DiagnosticSignWarn', linehl = 'LspDiagnosticsLineNrWarn' }
)
vim.fn.sign_define(
'DiagnosticSignInfo',
{ text = '', texthl = 'DiagnosticSignInfo', linehl = 'LspDiagnosticsLineNrInfo' }
)
vim.fn.sign_define(
'DiagnosticSignHint',
{ text = '', texthl = 'LspDiagnosticsLineNrHint', linehl = 'LspDiagnosticsLineNrHint' }
)
vim.diagnostic.config {
virtual_text = false,
severity_sort = true,
float = {
focusable = false,
close_events = { 'BufLeave', 'CursorMoved', 'InsertEnter', 'FocusLost' },
border = 'single',
source = 'always',
prefix = '',
header = '',
format = function(diagnostic)
return string.format(
'%s (%s) [%s]',
diagnostic.message,
diagnostic.source,
diagnostic.code or diagnostic.user_data.lsp.code
)
end,
},
}
-- Show diagnostic popup on cursor hover
local diag_float_grp = vim.api.nvim_create_augroup('DiagnosticFloat', { clear = true })
vim.api.nvim_create_autocmd('CursorHold', {
callback = function()
return vim.diagnostic.open_float(0, { scope = 'line' })
end,
group = diag_float_grp,
})
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').rust_analyzer.setup {
capabilities = capabilities,
on_attach = on_attach,
cmd = { 'rustup', 'run', 'stable', 'rust-analyzer' },
}
require('lspconfig').sumneko_lua.setup {
capabilities = capabilities,
on_attach = on_attach,
settings = {
Lua = {
runtime = {
version = 'LuaJIT',
},
completion = {
workspaceWord = true,
callSnippet = 'Both',
},
diagnostics = {
globals = { 'vim' },
},
format = {
enable = false,
},
workspace = {
library = vim.api.nvim_get_runtime_file('', true),
checkThirdParty = false,
},
telemetry = { enable = false },
},
},
}

View File

@ -1,18 +0,0 @@
require('luasnip').config.setup {
update_events = 'TextChanged,TextChangedI',
history = false,
enable_autosnippets = true,
store_selection_keys = '<Tab>',
region_check_events = 'InsertEnter',
delete_check_events = 'InsertLeave',
ext_opts = {
[require('luasnip.util.types').choiceNode] = {
active = {
virt_text = { { '<- Current Choice', 'NonText' } },
},
},
},
}
require('luasnip.loaders.from_lua').lazy_load()
require('luasnip.loaders.from_vscode').lazy_load()

View File

@ -1,2 +0,0 @@
require('Comment').setup()
require('nvim-surround').setup()

View File

@ -1,53 +0,0 @@
local nulls = require 'null-ls'
local fmt = nulls.builtins.formatting
local dgn = nulls.builtins.diagnostics
local cda = nulls.builtins.code_actions
nulls.setup {
sources = {
-- # FORMATTING #
fmt.trim_whitespace.with {
filetypes = { 'sh', 'zsh', 'yaml', 'toml', 'make', 'conf', 'python' },
},
-- 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,
-- # DIAGNOSTICS #
dgn.eslint_d,
dgn.tidy,
dgn.shellcheck,
dgn.zsh,
dgn.luacheck,
-- # CODE ACTIONS #
cda.gitsigns.with {
condition = function(util)
return util.root_has_file { '.git' }
end,
},
cda.eslint_d,
cda.shellcheck,
cda.gitrebase,
},
on_attach = function(client, bufnr)
if client.supports_method 'textDocument/formatting' then
vim.api.nvim_create_augroup('LspFormatting', { clear = true })
vim.api.nvim_create_autocmd('BufWritePre', {
group = 'LspFormatting',
buffer = bufnr,
callback = function()
vim.lsp.buf.format {
bufnr = bufnr,
filter = function()
return client.name == 'null-ls'
end,
}
end,
})
end
end,
}

View File

@ -1,163 +0,0 @@
local themes = require 'telescope.themes'
local actions = require 'telescope.actions'
local previewers = require 'telescope.previewers'
local builtin = require 'telescope.builtin'
require('telescope').setup {
defaults = {
dynamic_preview_title = true,
wrap_results = true,
preview = {
filesize_limit = 5,
timeout = 150,
treesitter = true,
},
pickers = {
find_files = {
find_command = { 'fd', '--strip-cwd-prefix' },
},
},
borderchars = { '', '', '', '', '', '', '', '' },
selection_caret = '',
file_ignore_patterns = { '%.jpeg$', '%.jpg$', '%.png$', '%.pdf$', 'node_modules', '.git/', 'dist/' },
mappings = {
i = {
['<C-o>'] = actions.select_horizontal,
['<TAB>'] = actions.toggle_selection + actions.move_selection_next,
['<M-space>'] = actions.to_fuzzy_refine,
},
},
},
extensions = {
file_browser = {
hidden = true,
hijack_netrw = true,
theme = 'ivy',
borderchars = { '', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
grouped = true,
initial_mode = 'normal',
sorting_strategy = 'ascending',
},
undo = {
side_by_side = true,
layout_strategy = 'vertical',
layout_config = {
preview_height = 0.4,
},
},
},
}
local extensions = {
'fzf',
'file_browser',
'undo',
'ui-select',
}
for _, ext in ipairs(extensions) do
require('telescope').load_extension(ext)
end
local delta_bcommits = previewers.new_termopen_previewer {
get_command = function(entry)
return {
'git',
'-c',
'core.pager=delta',
'-c',
'delta.side-by-side=false',
'diff',
entry.value .. '^!',
'--',
entry.current_file,
}
end,
}
local delta = previewers.new_termopen_previewer {
get_command = function(entry)
return { 'git', '-c', 'core.pager=delta', '-c', 'delta.side-by-side=false', 'diff', entry.value .. '^!' }
end,
}
Delta_git_commits = function(opts)
opts = opts or {}
opts = {
layout_strategy = 'vertical',
layout_config = {
vertical = {
mirror = true,
width = 0.9,
height = 0.9,
preview_height = 0.6,
preview_cutoff = 0,
},
},
}
opts.previewer = {
delta,
previewers.git_commit_message.new(opts),
previewers.git_commit_diff_as_was.new(opts),
}
builtin.git_commits(opts)
end
Delta_git_bcommits = function(opts)
opts = opts or {}
opts = {
layout_strategy = 'vertical',
layout_config = {
vertical = {
mirror = true,
width = 0.9,
height = 0.9,
preview_height = 0.6,
preview_cutoff = 0,
},
},
}
opts.previewer = {
delta_bcommits,
previewers.git_commit_message.new(opts),
previewers.git_commit_diff_as_was.new(opts),
}
builtin.git_bcommits(opts)
end
Project_files = function()
local opts = { show_untracked = false } -- define here if you want to define something
local ok = pcall(builtin.git_files, opts)
if not ok then
builtin.find_files(opts)
end
end
-- See `:help telescope.builtin`
vim.keymap.set('n', '<leader>u', '<cmd>Telescope undo<cr>', { desc = 'Telescope [U]ndo' })
vim.keymap.set('n', '<leader>sw', builtin.grep_string, { desc = '[S]earch current [W]ord' })
vim.keymap.set('n', '<leader>sk', builtin.keymaps, { desc = '[S]earch [K]eymaps' })
vim.keymap.set('n', '<leader>?', builtin.oldfiles, { desc = '[?] Find recently opened files' })
vim.keymap.set('n', '<leader>P', builtin.commands, { desc = 'Command [P]allete' })
vim.keymap.set('n', '<leader>f', function()
builtin.current_buffer_fuzzy_find(themes.get_dropdown {
results_height = 50,
borderchars = { '', '', '', '', '', '', '', '' },
previewer = false,
})
end, { desc = '[F]uzzily search in current buffer]' })
vim.keymap.set('n', '<F1>', builtin.help_tags, { desc = 'Search Help' })
vim.keymap.set('n', '<F2>', '<cmd>lua Project_files()<CR>', { desc = 'Project Files' })
vim.keymap.set('n', '<F3>', '<cmd>Telescope file_browser<CR>', { desc = 'File Browser' })
vim.keymap.set('n', '<F5>', '<cmd>lua Delta_git_commits()<CR>', { desc = 'Project Commits' })
vim.keymap.set('n', '<F6>', '<cmd>lua Delta_git_bcommits()<CR>', { desc = 'Buffer Commits' })
vim.keymap.set('n', '<F11>', builtin.live_grep, { desc = 'Search by Grep' })
vim.keymap.set('n', '<F12>', '<cmd>Telescope diagnostics bufnr=0<CR>', { desc = 'Search Diagnostics' })
vim.keymap.set('n', '<F4>', function()
builtin.buffers(themes.get_dropdown {
sort_lastused = true,
previewer = false,
results_height = 20,
disable_devicons = true,
borderchars = { '', '', '', '', '', '', '', '' },
})
end, { desc = 'Find existing buffers' })

View File

@ -1,79 +0,0 @@
-- [[ Configure Treesitter ]]
-- See `:help nvim-treesitter`
require('nvim-treesitter.configs').setup {
-- Add languages to be installed here that you want installed for treesitter
ensure_installed = {
'bash',
'css',
'help',
'html',
'json',
'json5',
'jsonc',
'lua',
'make',
'python',
'rasi',
'regex',
'rust',
'scss',
'toml',
'yaml',
},
highlight = { enable = true, addtional_vim_regex_highlighting = false },
indent = { enable = true, disable = { 'python' } },
autopairs = { enable = true },
incremental_selection = {
enable = true,
keymaps = {
init_selection = '<c-space>',
node_incremental = '<c-space>',
scope_incremental = '<c-s>',
node_decremental = '<c-backspace>',
},
},
textobjects = {
select = {
enable = true,
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
keymaps = {
-- You can use the capture groups defined in textobjects.scm
['aa'] = '@parameter.outer',
['ia'] = '@parameter.inner',
['af'] = '@function.outer',
['if'] = '@function.inner',
['ac'] = '@class.outer',
['ic'] = '@class.inner',
},
},
move = {
enable = true,
set_jumps = true, -- whether to set jumps in the jumplist
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>a'] = '@parameter.inner',
},
swap_previous = {
['<leader>A'] = '@parameter.inner',
},
},
},
}

View File

@ -1,344 +0,0 @@
" Vim syntax file
" Language: Renpy script
" Maintainer: Chaim-Leib Halbert <chaim.leib.halbert@gmail.com>
" Last Change: 2015 Feb 25
" Features: Spell-checking (must enable), auto-indenting, TODOs, string tags and interpolations
" Based on work by Spiky Caterpillar, http://spikycaterpillar.com/renpy.vim
" Contributions from:
" Civa Lin
" Dimitry Solovyov
" Jezeniel Zapanta
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
syn include @Python syntax/python.vim
unlet b:current_syntax
"runtime! syntax/python.vim
" Hitting return in an indented section should autoindent four spaces
set tabstop=4
set shiftwidth=4
set expandtab
"Comments
syn match renpyComment "#.*$" contains=renpyTodo,@Spell
syn keyword renpyTodo FIXME TODO NOTE NOTES XXX contained
" Numbers
syn match renpyNumber "-\?\d\+\(\.\d\+\)\?"
syn match renpyNumber "-\?\.\d\+"
" Variable and label names
syn match renpyIdentifier "[_a-zA-Z][_a-zA-Z0-9]*"
" String commands and escaped characters
syn match renpyEscape +\\['"%]+ contained
syn match renpyEscape +{/\?[ibsu]}+ contained
syn match renpyEscape +{/\?plain}+ contained
syn match renpyEscape +{\(p\|fast\|nw\|w\)}+ contained
syn match renpyEscape +{\(font\|a\|color\|w\)=[^}]*}+ contained
syn match renpyEscape +{/\(font\|a\|color\|w\)}+ contained
syn match renpyEscape +{/\?=[^}]*}+ contained
syn match renpyEscape +{{+ contained
" Additions for Python strings
syn match pythonEscape +{/\?[ibsu]}+ contained
syn match pythonEscape +{/\?plain}+ contained
syn match pythonEscape +{\(p\|fast\|nw\|w\)}+ contained
syn match pythonEscape +{\(font\|a\|color\|w\)=[^}]*}+ contained
syn match pythonEscape +{/\(font\|a\|color\|w\)}+ contained
syn match pythonEscape +{/\?=[^}]*}+ contained
syn match pythonEscape +{{+ contained
" New in Renpy 6.13: square-bracket string interpolation
syn region renpyEscape start=+\[+ end=+\]+ contained
syn match renpyEscape +\[\[+ contained
" Strings
syn region renpyString start=+'+ end=+'+ skip=+\\'+ contains=renpyEscape,@Spell
syn region renpyString start=+"+ end=+"+ skip=+\\"+ contains=renpyEscape,@Spell
" Operators, keywords and special functions
""" Block
syn keyword renpyStatement transform screen
""" Text
syn keyword renpyFunction Style Text
""" Image
syn keyword renpyStatement image hide show scene
syn keyword renpyOperator with
syn keyword renpyOperator as at behind onlayer zorder
""" Flow Control
syn match renpyStatement /\s*jump/ nextgroup=renpyIdentifier skipwhite
syn keyword renpyStatement menu return
syn match renpyStatementCall /^\s*call/ skipwhite nextgroup=renpyStatementCallFrom,renpyIdentifier
syn keyword renpyStatementCallFrom from skipwhite nextgroup=renpyIdentifier
syn keyword renpyStatement if elif else
""" Sound Voice & Music
syn keyword renpyStatement play stop queue
syn keyword renpyOperator channel frames loop
syn keyword renpyStatement voice sustain
syn keyword renpyOperator sound music
syn keyword renpyOperator fadein fadeout
""" Other
syn keyword renpyStatement define
syn keyword renpyOperator expression
" ATL
""" ATL: on & event Statenent
syn keyword renpyStatement event
syn keyword renpyStatement on nextgroup=renpyEvent skipwhite
syn keyword renpyEvent start show hide contained
syn keyword renpyEvent replace replaced
syn keyword renpyEvent hover idle selected_hover selected_idle contained
""" ATL: Interpolation Statemant & Warpers
syn keyword renpyStatement pause linear ease easein easeout
""" ATL: Circular Motion
syn keyword renpyOperator warp knot clockwise counterclockwise circles
""" ATL: Block (complex) Statement
syn keyword renpyStatement choice function parallel block
syn keyword renpyStatement contains
""" ATL: simple Statement
syn keyword renpyStatement time pass repeat
""" ATL: Displayable Transform Properties
syn keyword renpyOperator pos xpos ypos
syn keyword renpyOperator anchor xanchor yanchor
syn keyword renpyOperator align xalign yalign
syn keyword renpyOperator xcenter ycenter
syn keyword renpyOperator flip rotate rotate_pad
syn keyword renpyOperator zoom xzoom yzoom
syn keyword renpyOperator alpha
syn keyword renpyOperator around alignaround
syn keyword renpyOperator angle radius
syn keyword renpyOperator crop corner1 corner2
syn keyword renpyOperator size
syn keyword renpyOperator subpixel
syn keyword renpyOperator delay
" Screen
""" Screen: UI Statement properties
syn keyword renpyOperator at default id style style_group focus
""" Screen: UI Statement
syn keyword renpyStatement add
syn keyword renpyStatement bar vbar
syn keyword renpyStatement button textbutton imagebutton mousearea imagemap
syn keyword renpyStatement fixed frame grid hbox vbox side window null
syn keyword renpyStatement input key timer transform
syn keyword renpyStatement viewport hotspot hotbar
syn keyword renpyStatement text
syn keyword renpyStatement has
""" Screen: Control Statement
syn keyword renpyStatement default for if elif else use on
syn keyword renpyOperator in not
" Function
""" Transition Function
syn keyword renpyFunction AlphaDissolve ComposeTransition CropMove Dissolve
syn keyword renpyFunction Fade ImageDissolve MoveTransition MultipleTransition
syn keyword renpyFunction Pause Pixellate
syn keyword renpyFunction Position RotoZoom
syn keyword renpyFunction SplineMotion
""" Displayable Function
syn keyword renpyFunction Image Frame LiveCrop LiveTile Null Solid
syn keyword renpyFunction ConditionSwitch DynamicDisplayable ShowingSwitch
syn keyword renpyFunction Fixed HBox VBox
""" Other Image Function
syn keyword renpyFunction At AlphaBlend
" Special variables
""" Default Transforms
syn keyword renpyBuiltin left right center truecenter topleft top topright
syn keyword renpyBuiltin offscreenleft offscreenright default reset
""" Pre-Defined Transitions
syn keyword renpyBuiltin fade dissolve pixellate
syn keyword renpyBuiltin move moveinright moveinleft moveintop moveinbottom
syn keyword renpyBuiltin moveoutright moveoutleft moveouttop moveoutbottom
syn keyword renpyBuiltin ease easeinright easeinleft easeintop easeinbottom
syn keyword renpyBuiltin easeoutright easeoutleft easeouttop easeoutbottom
syn keyword renpyBuiltin zoomin zoomout zoominout
syn keyword renpyBuiltin vpunch hpunch
syn keyword renpyBuiltin blinds squares
syn keyword renpyBuiltin wipeleft wiperight wipeup wipedown
syn keyword renpyBuiltin slideleft slideright slideup slidedown
syn keyword renpyBuiltin slideawayleft slideawayright slideawayup slideawaydown
syn keyword renpyBuiltin irisin irisout
""" Pre-Defined Displayable
syn keyword renpyBuiltin bg black text pause linear
" Python lines ($)
syn region renpyPythonStatement start="^ *\$" end="$" contains=@Python,renpyPythonStatementMarker
syn match renpyPythonStatementMarker /^ *\$/
" Renpy-specific Python functions and variables
syn keyword pythonFunction Animation Character Null
syn keyword pythonFunction ShowingSwitch
syn keyword pythonBuiltin config
syn match pythonFunction "anim\.\(Edge\|SMAnimation\|State\|TransitionAnimation\)"
syn match pythonFunction "anim\.Filmstrip"
syn match pythonFunction "im\.Composite"
syn match pythonFunction "im\.Crop"
syn match pythonFunction "im\.\(FactorScale\|Flip\|Grayscale\)"
syn match pythonFunction "im\.Image"
syn match pythonFunction "im\.MatrixColor"
syn match pythonFunction "im\.matrix\.\(brightness\|contrast\|hue\|invert\|saturation\)"
syn match pythonFunction "im\.Scale"
syn match pythonFunction "layout\.imagemap_main_menu"
syn match pythonFunction "layout\.button_menu"
syn match pythonFunction "renpy\.block_rollback"
syn match pythonFunction "renpy\.\(call_in_new_context\|curry\)"
syn match pythonFunction "renpy\.hide"
syn match pythonFunction "renpy\.\(jump_out_of_context\|jump\)"
syn match pythonFunction "renpy\.music\.\(play\|stop\|queue\|register_channel\|set_volume\)"
syn match pythonFunction "renpy\.pause"
syn match pythonFunction "renpy\.redraw"
syn match pythonFunction "renpy\.random\.\(choice\|randint\)"
syn match pythonFunction "renpy\.restart_interaction"
syn match pythonFunction "renpy\.\(scene\|show\)"
syn match pythonFunction "renpy\.showing"
syn match pythonFunction "renpy\.transition"
syn match pythonFunction "theme\.roundrect"
syn match pythonFunction "ui\.add"
syn match pythonFunction "ui\.\(bar\|button\)"
syn match pythonFunction "ui\.clear"
syn match pythonFunction "ui\.close"
syn match pythonFunction "ui\.\(fixed\|frame\|grid\)"
syn match pythonFunction "ui\.hbox"
syn match pythonFunction "ui\.image"
syn match pythonFunction "ui\.imagebutton"
syn match pythonFunction "ui\.imagemap"
syn match pythonFunction "ui\.interact"
syn match pythonFunction "ui\.\(keymap\|layer\)"
syn match pythonFunction "ui\.null"
syn match pythonFunction "ui\.remove"
syn match pythonFunction "ui\.returns"
syn match pythonFunction "ui\.text"
syn match pythonFunction "ui\.textbutton"
syn match pythonFunction "ui\.timer"
syn match pythonFunction "ui\.\(vbox\|window\)"
"Renpy block headers
syn region renpyHeader oneline keepend
\ start="^\s*\(init\|early\|transform\|label\|animate\)"
\ end=":"
\ contains=renpyHeaderFByPriority,renpyHeaderFById,renpyHeaderPriority,renpyIdentifier, renpyArgs
""label/transform <identifier> <args>
syn keyword renpyHeaderFById label transform animate contained skipwhite
\ nextgroup=renpyHeaderIdentifier
syn match renpyHeaderIdentifier contained transparent /[_a-zA-Z][_a-zA-Z0-9]*/
\ nextgroup=renpyHeaderArgs
syn region renpyHeaderArgs contained
\ start="("
\ end=")"
\ contains=renpyIdentifier,renpyNumber,renpyString
syn match renpyHeaderFByPriority /init\|early/ contained skipwhite
\ nextgroup=renpyHeaderPriority
syn match renpyHeaderPriority /-\?\d\+/ contained skipwhite
\ nextgroup=renpyHeaderPython
"Python blocks
"TODO: find better way to handle indents
""Indent level 0
syn region renpyPythonBlock0 keepend
\ start="^\(\(init\|early\)\s\+\(-\?\d\+\s\+\)\?\)\?python.*:"
\ end="^[^ ]"me=s-1
\ skip="^ *#.*$"
\ contains=@Python,renpyPythonHeader0,pythonComment
syn region renpyPythonHeader0 oneline contained
\ start="^\([^ ]\+ \+\)*python"
\ end=":"
\ contains=renpyHeaderFByPriority,renpyHeaderPriority,renpyHeaderPython,renpyHeaderModifier
"Indent level 1
syn region renpyPythonBlock1 keepend
\ start="^ \(\(init\|early\)\s\+\(-\?\d\+\s\+\)\?\)\?python.*:"
\ end="^ [^ ]"me=s-1
\ skip="^ *#.*$"
\ contains=@Python,renpyPythonHeader1,pythonComment
syn region renpyPythonHeader1 oneline contained
\ start="^ \([^ ]\+ \+\)*python"
\ end=":"
\ contains=renpyHeaderFByPriority,renpyHeaderPriority,renpyHeaderPython,renpyHeaderModifier
"Indent level 2
syn region renpyPythonBlock2 keepend
\ start="^ \(\(init\|early\)\s\+\(-\?\d\+\s\+\)\?\)\?python.*:"
\ end="^ [^ ]"me=s-1
\ skip="^ *#.*$"
\ contains=@Python,renpyPythonHeader2,pythonComment
syn region renpyPythonHeader2 oneline contained
\ start="^ \([^ ]\+ \+\)*python"
\ end=":"
\ contains=renpyHeaderFByPriority,renpyHeaderPriority,renpyHeaderPython,renpyHeaderModifier
"Indent level 3
syn region renpyPythonBlock3 keepend
\ start="^ \(\(init\|early\)\s\+\(-\?\d\+\s\+\)\?\)\?python.*:"
\ end="^ [^ ]"me=s-1
\ skip="^ *#.*$"
\ contains=@Python,renpyPythonHeader3,pythonComment
syn region renpyPythonHeader3 oneline contained
\ start="^ \([^ ]\+ \+\)*python"
\ end=":"
\ contains=renpyHeaderFByPriority,renpyHeaderPriority,renpyHeaderPython,renpyHeaderModifier
syn keyword renpyHeaderPython python nextgroup=renpyHeaderModifier
syn keyword renpyHeaderModifier hide early
"Highlight clusters for headers
hi def link renpyHeaderFByPriority renpyHeaderKeyword
hi def link renpyHeaderFById renpyHeaderKeyword
hi def link renpyHeaderModifier renpyHeaderKeyword
"Header highlighting
hi def link renpyHeaderPython Statement
hi def link renpyHeaderKeyword Statement
hi def link renpyHeaderLabel Statement
hi def link renpyHeaderPriority Number
"Statements
hi def link renpyStatementCall renpyStatement
hi def link renpyStatementCallFrom renpyOperator
hi def link renpyPythonStatementMarker renpyStatement
"Token highlighting
hi def link renpyNumber Number
hi def link renpyString String
hi def link renpyEscape Special
hi def link renpyComment Comment
hi def link renpyTodo Todo
hi def link renpyStatement Statement
hi def link renpyFunction Function
hi def link renpyBuiltin Identifier
hi def link renpyOperator Operator
hi def link renpySpaceError Error
hi def link renpyEvent Identifier
let b:current_syntax = "renpy"

View File

@ -1,26 +0,0 @@
if exists("b:current_syntax")
finish
endif
let b:current_syntax = "sxhkd"
syntax match sxhkd_binding "\v^.*$" contains=sxhkd_on_release,sxhkd_binding_pass
syntax match sxhkd_on_release "\v^\@" contained
syntax match sxhkd_binding_pass "\v^\~" contained
syntax match sxhkd_exec "\v^\s+.*" contains=@sxhkd_shell
syntax match sxhkd_comment "\v#.*$"
highlight link sxhkd_comment Comment
highlight link sxhkd_binding Identifier
highlight link sxhkd_binding_on_release Conditional
highlight link sxhkd_binding_pass Constant
highlight link sxhkd_exec Macro
" match shell command
let s:current_syntax = b:current_syntax
unlet b:current_syntax
syntax include @sxhkd_shell syntax/sh.vim
let b:current_syntax = s:current_syntax
syntax region shLine matchgroup=sxhkd_exec start=/\v^\s+\s/ end=/\v$/ contains=@sxhkd_shell

View File

@ -1,2 +0,0 @@
" Set filetype to conf for files with .conf extension.
autocmd BufNewFile,BufRead *.conf setfiletype conf

View File

@ -1 +0,0 @@
autocmd BufNewFile,BufRead .eslintignore,.gitignore,.prettierignore set filetype=ignore

View File

@ -1 +0,0 @@
au BufNewFile,BufRead neomutt-*-\w\+,neomutt[[:alnum:]_-]\\\{6\} set filetype=mail

View File

@ -1 +0,0 @@
au BufRead,BufNewFile .mbsyncrc set filetype=mbsync

View File

@ -1,4 +0,0 @@
" ftdetect/rasi.vim
" Rofi Advanced Style Information
autocmd BufNewFile,BufRead *.rasi setfiletype rasi

View File

@ -1,2 +0,0 @@
" Set filetype to ssh for files with .ssh extension.
autocmd BufNewFile,BufRead *.ssh setfiletype sshconfig

View File

@ -1 +0,0 @@
au BufNewFile,BufRead sxhkdrc set filetype=sxhkd

View File

@ -1,58 +0,0 @@
" Snippets from vim-help
" Credits: https://github.com/dahu/vim-help
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
let s:save_cpo = &cpoptions
set cpoptions&vim
let b:undo_ftplugin = 'setlocal spell<'
setlocal nospell
setlocal nohidden
setlocal iskeyword+=:
setlocal iskeyword+=#
setlocal iskeyword+=-
setlocal nonumber
setlocal noruler
setlocal colorcolumn=0
setlocal signcolumn=no
set statusline=%#User1#%f
set statusline+=%=
set statusline+=%h
wincmd L
" Quick close
nnoremap <silent><buffer> q :helpclose<CR>
" Jump to links with enter
nmap <buffer> <CR> <C-]>
" Jump back with backspace
nmap <buffer> <BS> <C-T>
" Skip to next option link
nmap <buffer> o /'[a-z]\{2,\}'<CR>
" Skip to previous option link
nmap <buffer> O ?'[a-z]\{2,\}'<CR>
" Skip to next subject link
nmap <buffer><nowait> s /\|\S\+\|<CR>l
" Skip to previous subject link
nmap <buffer> S h?\|\S\+\|<CR>l
" Skip to next tag (subject anchor)
nmap <buffer> t /\*\S\+\*<CR>l
" Skip to previous tag (subject anchor)
nmap <buffer> T h?\*\S\+\*<CR>l
let &cpoptions = s:save_cpo
" vim: set ts=2 sw=2 tw=80 noet :

View File

@ -1,8 +0,0 @@
if !exists("b:sh_indent_options")
let b:sh_indent_options = {}
endif
let b:sh_indent_options['continuation-line'] = 2
" allow for commands with - in the name
set iskeyword+=-

View File

@ -1 +0,0 @@
setlocal shiftwidth=2

View File

@ -1,42 +0,0 @@
vim.g.mapleader = ' '
vim.g.maplocalleader = ','
local disabled_builtin_plugins = {
'man',
'gzip',
'zip',
'zipPlugin',
'tar',
'tarPlugin',
'getscript',
'getscriptPlugin',
'vimball',
'vimballPlugin',
'2html_plugin',
'tohtml',
'matchit',
'logiPat',
'rrhelper',
'netrw',
'netrwPlugin',
'netrwSettings',
'netrwFileHandlers',
'tutor',
'rplugin',
'optwin',
'compiler',
}
for _, plugin in pairs(disabled_builtin_plugins) do
vim.g['loaded_' .. plugin] = 1
end
local disabled_providers = {
'ruby',
'node',
'python',
'python3',
'perl',
}
for _, provider in pairs(disabled_providers) do
vim.g['loaded_' .. provider .. '_provider'] = 0
end

View File

@ -1,87 +0,0 @@
vim.api.nvim_create_augroup('HighlightYank', { clear = true })
vim.api.nvim_create_autocmd('TextYankPost', {
callback = function()
vim.highlight.on_yank { timeout = 120, on_visual = true }
end,
group = 'HighlightYank',
desc = 'Highlight the yanked text',
})
vim.api.nvim_create_augroup('cursor_statusline', { clear = true })
vim.api.nvim_create_autocmd({ 'WinEnter', 'BufEnter' }, {
callback = function()
vim.wo.cursorline = true
end,
group = 'cursor_statusline',
})
vim.api.nvim_create_autocmd({ 'WinLeave', 'BufLeave' }, {
callback = function()
vim.wo.cursorline = false
end,
group = 'cursor_statusline',
})
vim.api.nvim_create_autocmd({ 'FileType' }, {
callback = function()
vim.wo.cursorline = false
end,
pattern = 'TelescopePrompt',
group = 'cursor_statusline',
})
vim.api.nvim_create_augroup('Miscs', { clear = true })
vim.api.nvim_create_autocmd({ 'BufWritePost' }, {
callback = function()
vim.cmd 'silent !pkill -USR1 sxhkd'
end,
pattern = 'sxhkdrc',
group = 'Miscs',
})
vim.api.nvim_create_autocmd({ 'BufWritePost' }, {
callback = function()
vim.cmd 'silent !xrdb %'
end,
pattern = 'xresources',
group = 'Miscs',
})
vim.api.nvim_create_autocmd('BufEnter', {
callback = function()
vim.cmd 'silent! lcd %:p:h'
end,
group = 'Miscs',
desc = 'change the working directory',
})
vim.api.nvim_create_autocmd({ 'VimResized' }, {
callback = function()
vim.cmd 'tabdo wincmd ='
end,
group = 'Miscs',
})
vim.api.nvim_create_augroup('Terms', { clear = true })
vim.api.nvim_create_autocmd('TermOpen', {
callback = function()
vim.wo.statusline = '%{b:term_title}'
vim.wo.number = false
vim.wo.signcolumn = 'no'
end,
group = 'Terms',
})
vim.api.nvim_create_autocmd('BufEnter', {
callback = function()
vim.wo.statusline = '%= %{b:term_title} %='
vim.wo.number = true
vim.wo.signcolumn = 'no'
vim.cmd 'startinsert'
end,
group = 'Terms',
pattern = 'term:\\/\\/*',
})
vim.api.nvim_create_autocmd('BufLeave', {
callback = function()
vim.wo.number = true
vim.wo.signcolumn = 'auto:9'
vim.cmd 'stopinsert'
end,
group = 'Terms',
pattern = 'term:\\/\\/*',
})

View File

@ -1,144 +0,0 @@
-- Ñ master race
vim.keymap.set('n', 'ñ', ';')
vim.keymap.set('n', 'Ñ', ',')
vim.keymap.set('n', '{q', ':cprev<CR>', { silent = true })
vim.keymap.set('n', '{Q', ':cfirst<CR>', { silent = true })
vim.keymap.set('n', '{l', ':lprevious<CR>', { silent = true })
vim.keymap.set('n', '{o', ':call append(line(".")-1, "")<CR>', { silent = true })
vim.keymap.set('n', '{b', ':bprev<CR>', { silent = true, desc = 'Previous buffer' })
vim.keymap.set('n', '{t', ':tabfirst<CR>', { silent = true, desc = 'First Tab' })
vim.keymap.set('n', '}q', ':cnext<CR>', { silent = true })
vim.keymap.set('n', '}Q', ':clast<CR>', { silent = true })
vim.keymap.set('n', '}l', ':lnext<CR>', { silent = true })
vim.keymap.set('n', '}o', ':call append(line("."), "")<CR>', { silent = true })
vim.keymap.set('n', '}b', ':bnext<CR>', { silent = true, desc = 'Next buffer' })
vim.keymap.set('n', '}t', ':tablast<CR>', { silent = true, desc = 'Last Tab' })
vim.keymap.set('i', '<C-}>', '<C-]>', { silent = true })
-- Splits
vim.keymap.set('n', '<M-h>', '<C-w>h', { desc = 'Go to left window' })
vim.keymap.set('n', '<M-l>', '<C-w>l', { desc = 'Go to right window' })
vim.keymap.set('n', '<M-j>', '<C-w>j', { desc = 'Go to lower window' })
vim.keymap.set('n', '<M-k>', '<C-w>k', { desc = 'Go to upper window' })
vim.keymap.set('n', '<S-Left>', '<C-w>H', { silent = true, desc = 'Move window to the left' })
vim.keymap.set('n', '<S-Right>', '<C-w>L', { silent = true, desc = 'Move window to the right' })
vim.keymap.set('n', '<S-Down>', '<C-w>J', { silent = true, desc = 'Move window to the bottom' })
vim.keymap.set('n', '<S-Up>', '<C-w>K', { silent = true, desc = 'Move window to the top' })
vim.keymap.set('n', '<Left>', ':vertical resize -1<CR>', { silent = true, desc = 'Decrease window width' })
vim.keymap.set('n', '<Right>', ':vertical resize +1<CR>', { silent = true, desc = 'Increase window width' })
vim.keymap.set('n', '<Down>', ':resize +1<CR>', { silent = true, desc = 'Decrease window height' })
vim.keymap.set('n', '<Up>', ':resize -1<CR>', { silent = true, desc = 'Increase window height' })
vim.keymap.set('n', '<leader>|', ':vnew<CR>', { silent = true, desc = 'Split window below' })
vim.keymap.set('n', '<leader>-', ':new<CR>', { silent = true, desc = 'Split window right' })
vim.keymap.set('i', '<M-h>', '<Esc><C-w>h', { desc = 'Go to left window' })
vim.keymap.set('i', '<M-l>', '<Esc><C-w>l', { desc = 'Go to right window' })
vim.keymap.set('i', '<M-j>', '<Esc><C-w>j', { desc = 'Go to lower window' })
vim.keymap.set('i', '<M-k>', '<Esc><C-w>k', { desc = 'Go to upper window' })
-- Faster
vim.keymap.set('n', '<leader>s', ':w!<CR>', { silent = true, desc = 'Save' })
vim.keymap.set('n', '<leader>q', ':q!<CR>', { silent = true, desc = 'Quit' })
vim.keymap.set('n', '<leader>Q', ':qa!<CR>', { silent = true, desc = 'Quit all' })
vim.keymap.set('n', '<Leader>p', ':PackerSync<CR>', { silent = true, desc = 'Packer Sync' })
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')
local center_keys = { 'n', 'N', '{', '}', '*', '[g', ']g', '[s', ']s', '[m', ']m' }
for _, key in ipairs(center_keys) do
vim.keymap.set({ 'n', 'x' }, key, key .. 'zzzv', { desc = 'center after ' .. key })
end
vim.keymap.set({ 'n', 'x', 'o' }, 'n', "'Nn'[v:searchforward]", { expr = true, desc = 'Next search result' })
vim.keymap.set({ 'n', 'x', 'o' }, 'N', "'nN'[v:searchforward]", { expr = true, desc = 'Next search result' })
-- Formatting
vim.keymap.set('n', '<leader>=', 'ggVGgq', { silent = true })
vim.keymap.set('n', '<leader>0', 'vapJgqap', { silent = true })
vim.keymap.set('n', 'Q', 'gqap', { silent = true })
vim.keymap.set('x', 'Q', 'gq', { silent = true })
-- Line movements
vim.keymap.set('n', '<leader>j', ':m .+1<CR>==', { silent = true })
vim.keymap.set('n', '<leader>k', ':m .-2<CR>==', { silent = true })
vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
vim.keymap.set({ 'n', 'v' }, '<Home>', 'g<Home>', { silent = true })
vim.keymap.set({ 'n', 'v' }, '<End>', 'g<End>', { silent = true })
vim.keymap.set({ 'n', 'v' }, '<leader>y', 'y$', { silent = true })
vim.keymap.set({ 'n', 'v' }, 'Y', 'yg_', { silent = true })
vim.keymap.set({ 'n', 'x' }, 'H', 'g^', { silent = true })
vim.keymap.set({ 'n', 'x' }, 'L', 'g$', { silent = true })
vim.keymap.set('i', '<C-j>', '<Esc>:m .+1<CR>==gi')
vim.keymap.set('i', '<C-k>', '<Esc>:m .-2<CR>==gi')
vim.keymap.set('i', '<Home>', '<C-o>g<Home>', { silent = true })
vim.keymap.set('i', '<End>', '<C-o>g<End>', { silent = true })
vim.keymap.set('v', '<C-j>', ":m '>+1<CR>gv=gv")
vim.keymap.set('v', '<C-k>', ':m <-2<CR>gv=gv')
-- Reverse ctrl+u
vim.keymap.set('i', '<C-u>', '<C-g>u<C-u>')
vim.keymap.set('i', '<C-w>', '<C-g>u<C-w>')
vim.keymap.set('i', ',', ',<C-g>u')
vim.keymap.set('i', '.', '.<C-g>u')
vim.keymap.set('i', ':', ':<C-g>u')
vim.keymap.set('i', ';', ';<C-g>u')
vim.keymap.set('i', '!', '!<C-g>u')
vim.keymap.set('i', '?', '?<C-g>u')
-- Visual indentation
vim.keymap.set('v', '>', '>gv', { silent = true })
vim.keymap.set('v', '<', '<gv', { silent = true })
vim.keymap.set('n', '>', '>>', { silent = true })
vim.keymap.set('n', '<', '<<', { silent = true })
-- Keep cursor at the bottom of the visual selection after you yank it.
vim.keymap.set('v', 'y', 'ygv<Esc>', { remap = true })
-- Don't overwrite register when pasting over visual selection.
vim.keymap.set('x', 'p', function()
return 'pgv"' .. vim.v.register .. 'y'
end, { remap = false, expr = true })
-- Allow for repeating commands in visual mode
vim.keymap.set('x', '.', ':normal.<CR>', { silent = true })
-- Select all
vim.keymap.set('n', '<C-a>', 'ggVG', { silent = true })
vim.keymap.set('i', '<C-a>', '<Esc>ggVG', { silent = true })
-- Terminal
vim.keymap.set('t', '<Esc>', '<C-\\><C-n>')
vim.keymap.set('t', '<M-h>', '<C-\\><C-n><C-w>h')
vim.keymap.set('t', '<M-j>', '<C-\\><C-n><C-w>j')
vim.keymap.set('t', '<M-k>', '<C-\\><C-n><C-w>k')
vim.keymap.set('t', '<M-l>', '<C-\\><C-n><C-w>l')
vim.keymap.set('t', '<S-Space>', '<Space>')
vim.keymap.set('t', '<C-Space>', '<Space>')
-- Map <C-j> and <C-k> to scroll up and down autocompletion list in command mode
vim.keymap.set('c', '<C-j>', '<C-n>', { remap = true, silent = true })
vim.keymap.set('c', '<C-k>', '<C-p>', { remap = true, silent = true })
-- Loupe
vim.keymap.set({ 'n', 'x' }, '/', '/\\v')
vim.keymap.set({ 'n', 'x' }, '?', '?\\v')
-- Write and quit typos
local typos = { 'W', 'Wq', 'WQ', 'Wqa', 'WQa', 'WQA', 'WqA', 'Q', 'Qa', 'QA' }
for _, cmd in ipairs(typos) do
vim.api.nvim_create_user_command(cmd, function(opts)
vim.api.nvim_cmd({
cmd = cmd:lower(),
bang = opts.bang,
mods = { noautocmd = true },
}, {})
end, { bang = true })
end
-- Bye
vim.api.nvim_set_keymap('', 'q', '', {})

View File

@ -1,38 +0,0 @@
local options = {
title = true,
undofile = true,
autowrite = true,
smartindent = true,
splitbelow = true,
splitright = true,
ignorecase = true,
smartcase = true,
breakindent = true,
termguicolors = true,
cursorline = true,
linebreak = true,
number = true,
ruler = false,
hlsearch = false,
scrolloff = 5,
pumheight = 10,
updatetime = 100,
showbreak = string.rep(' ', 3),
whichwrap = 'b,h,l,s,<,>,[,],~',
viewoptions = 'cursor,folds',
clipboard = 'unnamedplus',
signcolumn = 'no',
completeopt = { 'menu', 'menuone', 'noselect', 'noinsert' },
titlestring = '%(%m%) %(%{expand("%:~")}%)',
formatlistpat = '^\\s*\\(\\d\\+[\\]:.)}\\t ]\\|[*-][\\t ]\\)\\s*',
fillchars = { diff = ' ', eob = ' ', stlnc = ' ', stl = ' ', vert = '', msgsep = '' },
}
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
vim.opt[k] = v
end

View File

@ -1,123 +0,0 @@
local install_path = vim.fn.stdpath 'data' .. '/site/pack/packer/start/packer.nvim'
local is_bootstrap = false
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
is_bootstrap = true
vim.fn.system { 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path }
vim.cmd [[packadd packer.nvim]]
end
require('packer').init {
display = {
open_fn = function()
return require('packer.util').float { border = 'single' }
end,
prompt_border = 'single',
},
profile = {
enable = true,
threshold = 1,
},
autoremove = true,
}
require('packer').startup(function(use)
use 'wbthomason/packer.nvim'
use { -- LSP Configuration & Plugins
'neovim/nvim-lspconfig',
ft = { 'lua', 'rust', 'html', 'css', 'javascript' },
requires = {
-- Additional rust configuration
'simrat39/rust-tools.nvim',
},
}
use {
'jose-elias-alvarez/null-ls.nvim',
ft = { 'lua', 'rust', 'html', 'css', 'javascript', 'zsh', 'toml', 'sh', 'bash', 'make', 'python' },
}
use { -- Autocompletion
'hrsh7th/nvim-cmp',
ft = { 'lua', 'rust', 'html', 'css', 'javascript', 'zsh', 'toml' },
requires = {
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-nvim-lua',
'hrsh7th/cmp-path',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-cmdline',
'saadparwaiz1/cmp_luasnip',
'onsails/lspkind.nvim',
},
}
use {
'L3MON4D3/LuaSnip',
requires = { 'rafamadriz/friendly-snippets' },
ft = { 'lua', 'rust', 'html', 'css', 'javascript' },
}
use { -- Highlight, edit, and navigate code
'nvim-treesitter/nvim-treesitter',
event = { 'BufReadPost', 'BufNewFile' },
run = function()
pcall(require('nvim-treesitter.install').update { with_sync = true })
end,
}
use { -- Additional text objects via treesitter
'nvim-treesitter/nvim-treesitter-textobjects',
after = 'nvim-treesitter',
}
-- Fuzzy Finder (files, lsp, etc)
use {
'nvim-telescope/telescope.nvim',
branch = '0.1.x',
requires = { 'nvim-lua/plenary.nvim', 'nvim-tree/nvim-web-devicons' },
}
-- Fuzzy Finder Algorithm which requires local dependencies to be built. Only load if `make` is available
use {
'nvim-telescope/telescope-fzf-native.nvim',
run = 'make',
cond = vim.fn.executable 'make' == 1,
after = 'nvim-telescope',
}
-- File browser
use { 'nvim-telescope/telescope-file-browser.nvim', after = 'nvim-telescope' }
use { 'nvim-telescope/telescope-ui-select.nvim', after = 'nvim-telescope' }
use { 'debugloop/telescope-undo.nvim', after = 'nvim-telescope' }
use {
'lewis6991/gitsigns.nvim',
cond = function()
local branch = vim.fn.system "git branch --show-current 2> /dev/null | tr -d '\n'"
if branch ~= '' then
return true
else
return false
end
end,
event = { 'BufReadPre', 'BufNewFile' },
}
use 'ellisonleao/gruvbox.nvim'
use 'numToStr/Comment.nvim' -- "gc" to comment visual regions/lines
use 'tpope/vim-sleuth' -- Detect tabstop and shiftwidth automatically
use 'kylechui/nvim-surround'
use { 'windwp/nvim-autopairs', event = 'InsertEnter' }
if is_bootstrap then
require('packer').sync()
end
end)
if is_bootstrap then
print '=================================='
print ' Plugins are being installed'
print ' Wait until Packer completes,'
print ' then restart nvim'
print '=================================='
return
end
-- Automatically source and re-compile packer whenever you save this file
local packer_group = vim.api.nvim_create_augroup('Packer', { clear = true })
vim.api.nvim_create_autocmd('BufWritePost', {
command = 'source <afile> | silent! LspStop | silent! LspStart | PackerCompile',
group = packer_group,
pattern = vim.fn.expand '%',
})

View File

@ -1,201 +0,0 @@
local M = {}
-- custom highlights
vim.api.nvim_set_hl(0, 'User1', { fg = '#458588', bg = '#1d2021' })
vim.api.nvim_set_hl(0, 'User2', { fg = '#fe8019', bg = '#1d2021' })
vim.api.nvim_set_hl(0, 'User3', { fg = '#fb4934', bg = '#1d2021' })
vim.api.nvim_set_hl(0, 'User4', { fg = '#fabd2f', bg = '#1d2021' })
vim.api.nvim_set_hl(0, 'User5', { fg = '#83a598', bg = '#1d2021' })
vim.api.nvim_set_hl(0, 'User6', { fg = '#d3869b', bg = '#1d2021' })
vim.api.nvim_set_hl(0, 'User8', { fg = '#ebdbb2', bg = '#282828' })
-- statusline colors
M.colors = {
flags = '%#User8#',
inactive = '%#StatusLineNC#',
line_col = '%#User1#',
git = '%#User2#',
diag = {
err = '%#User3#',
warn = '%#User4#',
nfo = '%#User5#',
hnt = '%#User6#',
},
}
-- diagnostics symbol config
M.lsp_icon = {
hint = '',
info = '',
warn = '',
error = '',
git = '',
serv = '',
}
-- setup truncation limits
M.trunc_width = setmetatable({
git_status = 90,
lsp_name = 100,
filename = 140,
line_col = 60,
}, {
__index = function()
return 80
end,
})
-- is buffer horizontally truncated
M.is_truncated = function(_, width)
local current_width = vim.api.nvim_win_get_width(0)
return current_width < width
end
M.get_lsp_name = function(self)
local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
local clients = vim.lsp.get_active_clients()
if next(clients) == nil then
return ''
end
for _, client in ipairs(clients) do
local filetypes = client.config.filetypes
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
if self:is_truncated(self.trunc_width.lsp_name) then
return self.lsp_icon.serv
else
return self.lsp_icon.serv .. client.name .. ' '
end
end
end
return ''
end
-- get git information of current file
M.get_git_status = function(self)
local signs = vim.b.gitsigns_status_dict or { head = '' }
local is_head_empty = signs.head ~= ''
if self:is_truncated(self.trunc_width.git_status) then
return is_head_empty and signs.head or ''
end
return is_head_empty and string.format(' %s %s', self.lsp_icon.git, signs.head) or ''
end
-- get current file name
M.get_filename = function(self)
local filename = vim.fn.expand '%:t'
local extension = vim.fn.expand '%:e'
local fullname = '%<%F'
if filename == '' then
return ''
end
local icon, icon_color = require('nvim-web-devicons').get_icon_color(filename, extension, { default = true })
vim.api.nvim_set_hl(0, 'User7', { fg = icon_color, bg = '#282828' })
self.colors.filename = '%#User7#'
if self:is_truncated(self.trunc_width.filename) then
return ' ' .. icon .. ' ' .. filename
else
return ' ' .. icon .. ' ' .. fullname
end
end
-- get current line/col
M.get_line_col = function(self)
if self:is_truncated(self.trunc_width.line_col) then
return ' %l:%c'
else
return ' :%l :%c %p%%'
end
end
M.get_flags = function()
return '%h%w%m'
end
-- get current file diagnostics
M.get_diagnostics = function(self)
if #vim.lsp.buf_get_clients(0) == 0 then
return ''
end
local status_parts = {}
local warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN })
local hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT })
local infos = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO })
local errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR })
if errors > 0 then
table.insert(status_parts, self.colors.diag.err .. self.lsp_icon.error .. errors)
end
if warnings > 0 then
table.insert(status_parts, self.colors.diag.warn .. self.lsp_icon.warn .. warnings)
end
if infos > 0 then
table.insert(status_parts, self.colors.diag.nfo .. self.lsp_icon.info .. infos)
end
if hints > 0 then
table.insert(status_parts, self.colors.diag.hnt .. self.lsp_icon.hint .. hints)
end
local status_diagnostics = vim.trim(table.concat(status_parts, ' '))
if status_diagnostics ~= '' then
return status_diagnostics .. ' '
end
return ''
end
-- get wordcount. only used in plaintext files
M.get_words = function()
if vim.o.filetype == 'text' then
if vim.fn.has_key(vim.fn.wordcount(), 'visual_words') == 1 then
return 'W:' .. vim.fn.wordcount().visual_words .. '/' .. vim.fn.wordcount().words .. ' '
else
return 'W:' .. vim.fn.wordcount().cursor_words .. '/' .. vim.fn.wordcount().words .. ' '
end
else
return ''
end
end
-- create active statusline
M.set_active = function(self)
local lsp = self:get_diagnostics()
local servs = self.colors.line_col .. self:get_lsp_name()
local palabras = self.colors.flags .. self:get_words()
local flags = self.colors.flags .. self:get_flags()
local filename = string.format('%s%s', self.colors.filename, self:get_filename())
local git = self.colors.git .. self:get_git_status()
local line_col = self.colors.line_col .. self:get_line_col()
return table.concat {
lsp,
servs,
palabras,
flags,
'%=',
filename,
'%=',
git,
line_col,
}
end
-- create inactive statusline
M.set_inactive = function(self)
return self.colors.inactive .. '%= %m %F %='
end
-- set statusline
Statusline = setmetatable(M, {
__call = function(self, mode)
return self['set_' .. mode](self)
end,
})
vim.cmd [[
augroup Statusline
au!
au WinEnter,BufEnter * setlocal statusline=%!v:lua.Statusline('active')
au WinLeave,BufLeave * setlocal statusline=%!v:lua.Statusline('inactive')
augroup END
]]

View File

@ -1,248 +0,0 @@
APFS
API
APIs
AgileBits
Ansible
BFS
BeOS
CDN
CLI
CentOS
Clojure
Codespaces
CoffeeScript
Colemak
DFS
DXP
Dropbox
EC2
ES6
ESPP
Ephemerality
FB
Facebook
Facebook's
FileMaker
Firefox
FreeBSD
GitHub
Gmail
GnuPG
GraphQL
GraphiQL
GraphiQL's
HFS
Hammerspoon
Heroku
Homebrew
Hurrell
IDE
IRC
JS
JSON
JSP
JSPs
Karabiner
Keychain
LSP
LastPass
Liferay
Liferay's
Lua
LuaJIT
MVC
MacVim
MailMate
MongoDB
Monoid
Monoids
MySQL
Neovim
OCaml
PHP
PRs
Perf
Phabricator
PowerPC
README
REPL
RESTful
RVM
React's
Realforce
Recurse
Redis
Redux
SDK
SLOC
TOTP
TypeScript
UI
URLs
UX
Undux
WebSockets
Wincent
Xcode
YAML
YubiKey
abandonware
admin
app
applicatives
apps
async
auth
autocompletes
autocompletion
backend
backticks
bitmask
bitmasks
blog
cheatsheet
checkboxes
chruby
codebase
codepath
colocated
colocating
colocation
committer
composability
composable
concerningly
config
configs
cron
declutter
dedupes
destructuring
diff
diffs
discoverability
dotfile
dotfiles
eg
endorphin
etc
fallback
filesystem
filetype
folksonomy
foo
foobar
gitignore
globbing
gzip
hacky
heterogenous
homogenous
hostnames
iCloud
iOS
iPhone
iTerm
iTerm2
iframe
impactful
inbox
infocmp
inline
introspection
jQuery
keychain
keychains
linter
linting
loadview
macOS
memcached
memoization
memoize
memoized
memoizing
mergeable
metadata
metastisizing
microservice
middleware
misclick
mkview
modeline
monit
monoid
monoids
monorepo
namespace
nginx
npm
nvALT
octothorpe
offline
ok
onboarding
outsized
overpromising
passphrases
perf
performant
permalinks
prescan
proactively
programmatically
prototypal
quicksort
rbenv
rebase
rebased
recurse
recursed
recursing
refactor
reflows
repo
repos
reservior
screencasts
screenful
screensaver
screenshot
screenshots
segfaults
shows
spellfile
stateful
struct
submodule
submodules
subtree
symlink
templated
terminfo
timestamp
tmux
toolchain
toolset
transpile
transpiled
typeahead
typeclass
unarchive
underdelivered
underdelivering
uninstalling
unsetting
unstyled
unsubscribe
unsubscription
upvote
versioned
viewport
vim
webpack
webviews
whitespace
wiki
wikitext
zsh

Binary file not shown.

Binary file not shown.

View File

@ -1,24 +0,0 @@
plugins
repos
dotfiles
repo
Github
Ok
plugin
irc
javascript
Jardón
apps
freenode
gopherholes
gopherhole
github
pandemia
cositas
Gemini
gopher
hardware
shell
markdown
html
tabs

Binary file not shown.

Binary file not shown.

View File

@ -12,53 +12,12 @@ for _, provider in pairs(disabled_providers) do
vim.g['loaded_' .. provider .. '_provider'] = 0
end
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
vim.fn.system {
'git',
'clone',
'--filter=blob:none',
'https://github.com/folke/lazy.nvim.git',
'--branch=stable', -- latest stable release
lazypath,
if vim.g.noplugins == nil then
require 'pereza'
else
require('gruvbox').setup {
contrast = 'hard',
transparent_mode = true,
}
vim.cmd.colorscheme 'gruvbox'
end
vim.opt.rtp:prepend(lazypath)
local lazy_opts = {
install = { colorscheme = { 'gruvbox' } },
ui = {
border = 'single',
wrap = true,
},
performance = {
rtp = {
disabled_plugins = {
'man',
'gzip',
'zip',
'zipPlugin',
'tar',
'tarPlugin',
'getscript',
'getscriptPlugin',
'vimball',
'vimballPlugin',
'2html_plugin',
'tohtml',
'logiPat',
'rrhelper',
'netrw',
'netrwPlugin',
'netrwSettings',
'netrwFileHandlers',
'tutor',
'rplugin',
'optwin',
'compiler',
},
},
},
}
require('lazy').setup('vago', lazy_opts)

38
nvim/lua/lazy-lock.json Normal file
View File

@ -0,0 +1,38 @@
{
"Comment.nvim": { "branch": "master", "commit": "d0cbbfb539898a275dc4398446ab0ae3b94819bf" },
"LuaSnip": { "branch": "master", "commit": "99a94cc35ec99bf06263d0346128e908a204575c" },
"catppuccin": { "branch": "main", "commit": "057c34f849cf21059487d849e2f3b3efcd4ee0eb" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
"friendly-snippets": { "branch": "main", "commit": "bc38057e513458cb2486b6cd82d365fa294ee398" },
"gitsigns.nvim": { "branch": "main", "commit": "5d73da785a3c05fd63ac31769079db05169a6ec7" },
"kiwi.nvim": { "branch": "master", "commit": "a19716890802415094d4ae6c776334849bbe9732" },
"lazy.nvim": { "branch": "main", "commit": "dac844ed617dda4f9ec85eb88e9629ad2add5e05" },
"lsp_lines.nvim": { "branch": "main", "commit": "f53af96d4789eef39a082dbcce078d2bfc384ece" },
"lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" },
"null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" },
"nvim-autopairs": { "branch": "master", "commit": "ae5b41ce880a6d850055e262d6dfebd362bb276e" },
"nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" },
"nvim-dap": { "branch": "master", "commit": "1c63f37f95cd4fb54512898168138d9a75d1516a" },
"nvim-dap-python": { "branch": "master", "commit": "37b4cba02e337a95cb62ad1609b3d1dccb2e5d42" },
"nvim-dap-ui": { "branch": "master", "commit": "85b16ac2309d85c88577cd8ee1733ce52be8227e" },
"nvim-lspconfig": { "branch": "master", "commit": "c0de180ddb3df36feef8ac3607670894d0e7497f" },
"nvim-surround": { "branch": "main", "commit": "10b20ca7d9da1ac8df8339e140ffef94f9ab3b18" },
"nvim-treesitter": { "branch": "master", "commit": "6c93c86272633937090806fedb2a20fe11025876" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "9e519b6146512c8e2e702faf8ac48420f4f5deec" },
"nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" },
"plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" },
"rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "6fe423eea6604c2fcbb906ff5f7e27f748a6ed87" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" },
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "0f75ea809c46af8997c64f49c52e3c641d887885" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" },
"telescope-undo.nvim": { "branch": "main", "commit": "3dec002ea3e7952071d26fbb5d01e2038a58a554" },
"telescope.nvim": { "branch": "master", "commit": "d2e17ba18a6840b7e7079764b282616c3188e0de" },
"trouble.nvim": { "branch": "main", "commit": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3" },
"vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }
}

55
nvim/lua/pereza.lua Normal file
View File

@ -0,0 +1,55 @@
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
vim.fn.system {
'git',
'clone',
'--filter=blob:none',
'https://github.com/folke/lazy.nvim.git',
'--branch=stable', -- latest stable release
lazypath,
}
end
vim.opt.rtp:prepend(lazypath)
local status_ok, lazy = pcall(require, 'lazy')
if not status_ok then
print 'lazy just installed, please restart neovim'
return
end
local lazy_opts = {
lockfile = vim.fn.stdpath 'config' .. '/lua/lazy-lock.json',
ui = {
border = 'single',
},
performance = {
rtp = {
disabled_plugins = {
'man',
'gzip',
'zip',
'zipPlugin',
'tar',
'tarPlugin',
'getscript',
'getscriptPlugin',
'vimball',
'vimballPlugin',
'2html_plugin',
'tohtml',
'logiPat',
'rrhelper',
'netrw',
'netrwPlugin',
'netrwSettings',
'netrwFileHandlers',
'tutor',
'rplugin',
'optwin',
'compiler',
},
},
},
}
lazy.setup('vago', lazy_opts)

View File

@ -17,15 +17,17 @@ return {
ensure_installed = {
'bash',
'c',
'comment',
'css',
'help',
'html',
'json',
'json5',
'jsonc',
'gitcommit',
'gitignore',
'git_config',
'git_rebase',
'gitattributes',
'gitcommit',
'lua',
'make',
'markdown',
@ -38,8 +40,12 @@ return {
'scss',
'toml',
'vim',
'vimdoc'
'vimdoc',
},
sync_install = false,
auto_install = false,
ignore_install = {},
modules = {},
highlight = { enable = true, addtional_vim_regex_highlighting = false },
indent = { enable = true, disable = { 'python' } },
autopairs = { enable = true },
@ -52,6 +58,7 @@ return {
node_decremental = '<c-backspace>',
},
},
matchup = { enable = true },
textobjects = {
select = {
enable = true,

View File

@ -7,11 +7,21 @@ return {
require('catppuccin').setup {
term_colors = true,
transparent_background = true,
styles = {
comments = { 'italic' },
conditionals = {},
loops = {},
functions = {},
keywords = { 'bold' },
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = { 'italic,bold' },
},
color_overrides = {
mocha = {
-- base = '#000000',
-- mantle = '#000000',
-- crust = '#000000',
rosewater = '#ffc9c9',
flamingo = '#ff9f9a',
pink = '#ffa9c9',
@ -40,56 +50,48 @@ return {
crust = '#080808',
},
},
styles = {
comments = { 'italic' },
conditionals = {},
loops = {},
functions = {},
keywords = { 'bold' },
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = { 'italic,bold' },
},
custom_highlights = function(colors)
return {
LspDiagnosticsLineNrError = { fg = '#FF0000', bg = '#51202A', style = { 'bold' } },
LspDiagnosticsLineNrWarn = { fg = '#FFA500', bg = '#51412A', style = { 'bold' } },
LspDiagnosticsLineNrInfo = { fg = '#00FFFF', bg = '#1E535D', style = { 'bold' } },
LspDiagnosticsLineNrHint = { fg = '#008bbd', bg = '#1E205D', style = { 'bold' } },
NormalFloat = { bg = '#000000' },
CmpPmenuBorder = { fg = '#615750' },
PmenuSel = { bg = '#282C34', fg = colors.none },
Pmenu = { fg = '#C5CDD9', bg = '#22252A' },
CmpItemAbbrDeprecated = { fg = '#076678', bg = colors.none, style = { 'strikethrough' } },
CmpItemAbbrMatch = { fg = '#82AAFF', bg = colors.none, style = { 'bold' } },
CmpItemAbbrMatchFuzzy = { fg = '#82AAFF', bg = colors.none, style = { 'bold' } },
CmpItemMenu = { fg = '#C792EA', bg = colors.none, style = { 'italic' } },
CmpItemKindField = { fg = '#EED8DA', bg = '#af3a03' },
CmpItemKindProperty = { fg = '#EED8DA', bg = '#af3a03' },
CmpItemKindEvent = { fg = '#EED8DA', bg = '#af3a03' },
CmpItemKindText = { fg = '#C3E88D', bg = '#79740e' },
CmpItemKindEnum = { fg = '#C3E88D', bg = '#79740e' },
CmpItemKindKeyword = { fg = '#C3E88D', bg = '#79740e' },
CmpItemKindConstant = { fg = '#FFE082', bg = '#d65d0e' },
CmpItemKindConstructor = { fg = '#FFE082', bg = '#d65d0e' },
CmpItemKindReference = { fg = '#FFE082', bg = '#d65d0e' },
CmpItemKindFunction = { fg = '#EADFF0', bg = '#8f3f71' },
CmpItemKindStruct = { fg = '#EADFF0', bg = '#8f3f71' },
CmpItemKindClass = { fg = '#EADFF0', bg = '#8f3f71' },
CmpItemKindModule = { fg = '#EADFF0', bg = '#8f3f71' },
CmpItemKindOperator = { fg = '#EADFF0', bg = '#8f3f71' },
CmpItemKindVariable = { fg = '#C5CDD9', bg = '#076678' },
CmpItemKindFile = { fg = '#C5CDD9', bg = '#076678' },
CmpItemKindUnit = { fg = '#F5EBD9', bg = '#b57614' },
CmpItemKindSnippet = { fg = '#F5EBD9', bg = '#b57614' },
CmpItemKindFolder = { fg = '#F5EBD9', bg = '#b57614' },
CmpItemKindMethod = { fg = '#DDE5F5', bg = '#34608d' },
CmpItemKindValue = { fg = '#DDE5F5', bg = '#34608d' },
CmpItemKindEnumMember = { fg = '#DDE5F5', bg = '#34608d' },
CmpItemKindInterface = { fg = '#D8EEEB', bg = '#427b58' },
CmpItemKindColor = { fg = '#D8EEEB', bg = '#427b58' },
CmpItemKindTypeParameter = { fg = '#D8EEEB', bg = '#427b58' },
}
end,
}
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' })
vim.api.nvim_set_hl(0, 'CmpItemAbbrDeprecated', { fg = '#076678', bg = 'NONE', strikethrough = true })
vim.api.nvim_set_hl(0, 'CmpItemAbbrMatch', { fg = '#82AAFF', bg = 'NONE', bold = true })
vim.api.nvim_set_hl(0, 'CmpItemAbbrMatchFuzzy', { fg = '#82AAFF', bg = 'NONE', bold = true })
vim.api.nvim_set_hl(0, 'CmpItemMenu', { fg = '#C792EA', bg = 'NONE', italic = true })
vim.api.nvim_set_hl(0, 'CmpItemKindField', { fg = '#EED8DA', bg = '#af3a03' })
vim.api.nvim_set_hl(0, 'CmpItemKindProperty', { fg = '#EED8DA', bg = '#af3a03' })
vim.api.nvim_set_hl(0, 'CmpItemKindEvent', { fg = '#EED8DA', bg = '#af3a03' })
vim.api.nvim_set_hl(0, 'CmpItemKindText', { fg = '#C3E88D', bg = '#79740e' })
vim.api.nvim_set_hl(0, 'CmpItemKindEnum', { fg = '#C3E88D', bg = '#79740e' })
vim.api.nvim_set_hl(0, 'CmpItemKindKeyword', { fg = '#C3E88D', bg = '#79740e' })
vim.api.nvim_set_hl(0, 'CmpItemKindConstant', { fg = '#FFE082', bg = '#d65d0e' })
vim.api.nvim_set_hl(0, 'CmpItemKindConstructor', { fg = '#FFE082', bg = '#d65d0e' })
vim.api.nvim_set_hl(0, 'CmpItemKindReference', { fg = '#FFE082', bg = '#d65d0e' })
vim.api.nvim_set_hl(0, 'CmpItemKindFunction', { fg = '#EADFF0', bg = '#8f3f71' })
vim.api.nvim_set_hl(0, 'CmpItemKindStruct', { fg = '#EADFF0', bg = '#8f3f71' })
vim.api.nvim_set_hl(0, 'CmpItemKindClass', { fg = '#EADFF0', bg = '#8f3f71' })
vim.api.nvim_set_hl(0, 'CmpItemKindModule', { fg = '#EADFF0', bg = '#8f3f71' })
vim.api.nvim_set_hl(0, 'CmpItemKindOperator', { fg = '#EADFF0', bg = '#8f3f71' })
vim.api.nvim_set_hl(0, 'CmpItemKindVariable', { fg = '#C5CDD9', bg = '#076678' })
vim.api.nvim_set_hl(0, 'CmpItemKindFile', { fg = '#C5CDD9', bg = '#076678' })
vim.api.nvim_set_hl(0, 'CmpItemKindUnit', { fg = '#F5EBD9', bg = '#b57614' })
vim.api.nvim_set_hl(0, 'CmpItemKindSnippet', { fg = '#F5EBD9', bg = '#b57614' })
vim.api.nvim_set_hl(0, 'CmpItemKindFolder', { fg = '#F5EBD9', bg = '#b57614' })
vim.api.nvim_set_hl(0, 'CmpItemKindMethod', { fg = '#DDE5F5', bg = '#34608d' })
vim.api.nvim_set_hl(0, 'CmpItemKindValue', { fg = '#DDE5F5', bg = '#34608d' })
vim.api.nvim_set_hl(0, 'CmpItemKindEnumMember', { fg = '#DDE5F5', bg = '#34608d' })
vim.api.nvim_set_hl(0, 'CmpItemKindInterface', { fg = '#D8EEEB', bg = '#427b58' })
vim.api.nvim_set_hl(0, 'CmpItemKindColor', { fg = '#D8EEEB', bg = '#427b58' })
vim.api.nvim_set_hl(0, 'CmpItemKindTypeParameter', { fg = '#D8EEEB', bg = '#427b58' })
end,
}

View File

@ -3,15 +3,16 @@ return {
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 },
GruvboxRedSign = { fg = '#cc241d', bg = 'none', reverse = false },
GruvboxGreenSign = { fg = '#98971a', bg = 'none', reverse = false },
GruvboxYellowSign = { fg = '#d79921', bg = 'none', reverse = false },
GruvboxBlueSign = { fg = '#458588', bg = 'none', reverse = false },
GruvboxPurpleSign = { fg = '#b16286', bg = 'none', reverse = false },
GruvboxAquaSign = { fg = '#689d6a', bg = 'none', reverse = false },
GruvboxOrangeSign = { fg = '#d65d0e', bg = 'none', reverse = false },
},
}
vim.cmd 'colorscheme gruvbox'

View File

@ -1,6 +1,6 @@
return {
'hrsh7th/nvim-cmp',
ft = { 'lua', 'rust', 'python', 'zsh', 'toml' },
ft = { 'lua', 'rust', 'python' },
dependencies = {
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-nvim-lua',
@ -73,11 +73,13 @@ return {
winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,Search:None',
col_offset = -3,
side_padding = 0,
scrollbar = '',
},
},
view = {
entries = 'bordered',
},
experimental = { ghost_text = true },
formatting = {
fields = { 'kind', 'abbr', 'menu' },
format = function(entry, vim_item)

View File

@ -14,12 +14,12 @@ return {
border = 'single',
}
vim.diagnostic.config {
virtual_text = false,
virtual_lines = { only_current_line = true },
}
local builtin = require 'telescope.builtin'
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',
})
local on_attach = function(client, bufnr)
local nmap = function(keys, func, desc)
@ -46,6 +46,8 @@ return {
end
end
local builtin = require 'telescope.builtin'
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
nmap('gd', builtin.lsp_definitions, '[G]oto [D]efinition')
@ -66,36 +68,6 @@ return {
nmap('<leader>wl', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, '[W]orkspace [L]ist Folders')
-- Diagnostic keymaps
nmap('{d', vim.diagnostic.goto_prev, 'Previous [D]iagnostic')
nmap('}d', vim.diagnostic.goto_next, 'Next [D]iagnostic')
nmap('<leader>e', vim.diagnostic.open_float, 'View [E]rror')
nmap('<leader>ll', vim.diagnostic.setloclist, 'View [L]ocal [L]ist')
vim.fn.sign_define(
'DiagnosticSignError',
{ text = '', texthl = 'DiagnosticSignError', linehl = 'LspDiagnosticsLineNrError' }
)
vim.fn.sign_define(
'DiagnosticSignWarn',
{ text = '', texthl = 'DiagnosticSignWarn', linehl = 'LspDiagnosticsLineNrWarn' }
)
vim.fn.sign_define(
'DiagnosticSignInfo',
{ text = '', texthl = 'DiagnosticSignInfo', linehl = 'LspDiagnosticsLineNrInfo' }
)
vim.fn.sign_define(
'DiagnosticSignHint',
{ text = '', texthl = 'LspDiagnosticsLineNrHint', linehl = 'LspDiagnosticsLineNrHint' }
)
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',
})
end
-- nvim-cmp supports additional completion capabilities, so broadcast that to servers

View File

@ -1,6 +1,6 @@
return {
'jose-elias-alvarez/null-ls.nvim',
-- ft = { 'lua', 'rust', 'zsh', 'toml', 'sh', 'bash', 'make', 'python' },
ft = { 'lua', 'rust', 'zsh', 'toml', 'sh', 'bash', 'make', 'python' },
config = function()
local nulls = require 'null-ls'
local fmt = nulls.builtins.formatting
@ -18,7 +18,6 @@ return {
fmt.isort,
fmt.black,
-- # DIAGNOSTICS #
dgn.tidy,
dgn.shellcheck,
dgn.zsh,
dgn.luacheck,

15
nvim/lua/vago/kiwi.lua Normal file
View File

@ -0,0 +1,15 @@
return {
'serenevoid/kiwi.nvim',
ft = { 'markdown', 'text' },
config = function()
require('kiwi').setup {
{
name = 'jp',
path = '/home/corpse/doc/jp/本',
},
}
vim.keymap.set('n', '<leader>ww', require('kiwi').open_wiki_index, { desc = 'Open [W]iki Index' })
vim.keymap.set('n', '<leader>wd', require('kiwi').open_diary_index, { desc = 'Open [D]iary Index' })
vim.keymap.set('n', '<leader>wn', require('kiwi').open_diary_new, { desc = 'Open [N]ew Diary' })
end,
}

View File

@ -2,8 +2,7 @@ return {
'simrat39/rust-tools.nvim',
ft = 'rust',
config = function()
local rt = require 'rust-tools'
rt.setup {
require('rust-tools').setup {
tools = {
runnables = {
use_telescope = true,
@ -23,12 +22,15 @@ return {
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 })
vim.keymap.set('n', '<Leader>k', require('rust-tools').hover_actions.hover_actions, { buffer = bufnr })
vim.keymap.set(
'n',
'<Leader>a',
require('rust-tools').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',

View File

@ -1,7 +1,6 @@
return {
'folke/trouble.nvim',
ft = { 'lua', 'rust', 'python' },
dependencies = { 'nvim-tree/nvim-web-devicons' },
opts = {
use_diagnostic_signs = true,
height = 15,

View File

@ -1,8 +1,10 @@
return {
'nvim-telescope/telescope.nvim',
event = 'VeryLazy',
dependencies = {
'nvim-telescope/telescope-ui-select.nvim',
'nvim-telescope/telescope-file-browser.nvim',
'nvim-telescope/telescope-live-grep-args.nvim',
'debugloop/telescope-undo.nvim',
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make', cond = vim.fn.executable 'make' == 1 },
},
@ -13,8 +15,17 @@ return {
local builtin = require 'telescope.builtin'
local trouble = require 'trouble.providers.telescope'
local vimgrep_arguments = { unpack(require('telescope.config').values.vimgrep_arguments) }
-- I want to search in hidden/dot files.
table.insert(vimgrep_arguments, '--hidden')
-- I don't want to search in the `.git` directory.
table.insert(vimgrep_arguments, '--glob')
table.insert(vimgrep_arguments, '!**/.git/*')
require('telescope').setup {
defaults = {
vimgrep_arguments = vimgrep_arguments,
dynamic_preview_title = true,
wrap_results = true,
layout_strategy = 'flex',
@ -36,12 +47,15 @@ return {
selection_caret = '',
file_ignore_patterns = { '%.jpeg$', '%.jpg$', '%.png$', '%.pdf$', 'node_modules', '.git/', 'dist/' },
mappings = {
n = { ['<c-t>'] = trouble.open_with_trouble },
n = { ['<c-s-t>'] = trouble.open_with_trouble },
i = {
['<C-j>'] = actions.cycle_history_next,
['<C-k>'] = actions.cycle_history_prev,
['<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,
['<c-s-t>'] = trouble.open_with_trouble,
['<esc>'] = actions.close,
},
},
},
@ -59,6 +73,7 @@ return {
side_by_side = true,
use_delta = true,
entry_format = '󰣜 #$ID, $STAT, $TIME',
diff_context_lines = vim.o.scrolloff,
layout_strategy = 'flex',
layout_config = {
preview_height = 0.4,
@ -71,6 +86,7 @@ return {
'file_browser',
'undo',
'ui-select',
'live_grep_args',
}
for _, ext in ipairs(extensions) do
require('telescope').load_extension(ext)
@ -167,10 +183,6 @@ return {
vim.keymap.set('n', '<F1>', builtin.help_tags, { desc = 'Search Help' })
vim.keymap.set('n', '<F2>', '<cmd>lua Project_files()<CR>', { desc = 'Project Files' })
vim.keymap.set('n', '<F3>', '<cmd>Telescope file_browser<CR>', { desc = 'File Browser' })
vim.keymap.set('n', '<F5>', '<cmd>lua Delta_git_commits()<CR>', { desc = 'Project Commits' })
vim.keymap.set('n', '<F6>', '<cmd>lua Delta_git_bcommits()<CR>', { desc = 'Buffer Commits' })
vim.keymap.set('n', '<F11>', builtin.live_grep, { desc = 'Search by Grep' })
vim.keymap.set('n', '<F12>', '<cmd>Telescope diagnostics bufnr=0<CR>', { desc = 'Search Diagnostics' })
vim.keymap.set('n', '<F4>', function()
builtin.buffers(themes.get_dropdown {
sort_lastused = true,
@ -180,5 +192,14 @@ return {
borderchars = { '', '', '', '', '', '', '', '' },
})
end, { desc = 'Find existing buffers' })
vim.keymap.set('n', '<F5>', '<cmd>lua Delta_git_commits()<CR>', { desc = 'Project Commits' })
vim.keymap.set('n', '<F6>', '<cmd>lua Delta_git_bcommits()<CR>', { desc = 'Buffer Commits' })
vim.keymap.set(
'n',
'<F11>',
"<cmd>lua require('telescope').extensions.live_grep_args.live_grep_args()<CR>",
{ desc = 'Grep with args' }
)
vim.keymap.set('n', '<F12>', '<cmd>Telescope diagnostics bufnr=0<CR>', { desc = 'Search Diagnostics' })
end,
}

109
nvim/plugin/columna Normal file
View File

@ -0,0 +1,109 @@
local gitsigns_bar = '│'
local gitsigns_hl_pool = {
GitSignsAdd = 'DiagnosticOk',
GitSignsChange = 'DiagnosticWarn',
GitSignsChangedelete = 'DiagnosticWarn',
GitSignsDelete = 'DiagnosticError',
GitSignsTopdelete = 'DiagnosticError',
GitSignsUntracked = 'NonText',
}
local diag_signs_icons = {
DiagnosticSignError = ' ',
DiagnosticSignWarn = ' ',
DiagnosticSignInfo = ' ',
DiagnosticSignHint = ' ',
DiagnosticSignOk = ' ',
}
local function get_sign_name(cur_sign)
if cur_sign == nil then
return nil
end
cur_sign = cur_sign[1]
if cur_sign == nil then
return nil
end
cur_sign = cur_sign.signs
if cur_sign == nil then
return nil
end
cur_sign = cur_sign[1]
if cur_sign == nil then
return nil
end
return cur_sign['name']
end
local function mk_hl(group, sym)
return table.concat { '%#', group, '#', sym, '%*' }
end
local function get_name_from_group(bufnum, lnum, group)
local cur_sign_tbl = vim.fn.sign_getplaced(bufnum, {
group = group,
lnum = lnum,
})
return get_sign_name(cur_sign_tbl)
end
_G.get_statuscol_gitsign = function(bufnr, lnum)
local cur_sign_nm = get_name_from_group(bufnr, lnum, 'gitsigns_vimfn_signs_')
if cur_sign_nm ~= nil then
return mk_hl(gitsigns_hl_pool[cur_sign_nm], gitsigns_bar)
else
return ' '
end
end
_G.get_statuscol_diag = function(bufnum, lnum)
local cur_sign_nm = get_name_from_group(bufnum, lnum, '*')
if cur_sign_nm ~= nil and vim.startswith(cur_sign_nm, 'DiagnosticSign') then
return mk_hl(cur_sign_nm, diag_signs_icons[cur_sign_nm])
else
return ' '
end
end
_G.get_statuscol = function()
local str_table = {}
local parts = {
['diagnostics'] = '%{%v:lua.get_statuscol_diag(bufnr(), v:lnum)%}',
['fold'] = '%C',
['gitsigns'] = '%{%v:lua.get_statuscol_gitsign(bufnr(), v:lnum)%}',
['num'] = '%{v:lnum}',
['sep'] = '%=',
['signcol'] = '%s',
['space'] = ' ',
}
local order = {
'diagnostics',
'sep',
'num',
'space',
'gitsigns',
'fold',
'space',
}
for _, val in ipairs(order) do
table.insert(str_table, parts[val])
end
return table.concat(str_table)
end
vim.o.statuscolumn = '%!v:lua.get_statuscol()'

View File

@ -0,0 +1,35 @@
vim.diagnostic.config {
virtual_text = false,
virtual_lines = { only_current_line = true },
float = {
border = 'single',
focus = false,
focusable = false,
source = 'always',
format = function(d)
return ('%s (%s) [%s]'):format(d.message, d.source, d.code or d.user_data.lsp.code)
end,
},
}
vim.fn.sign_define(
'DiagnosticSignError',
{ text = '', texthl = 'DiagnosticSignError', linehl = 'LspDiagnosticsLineNrError' }
)
vim.fn.sign_define(
'DiagnosticSignWarn',
{ text = '', texthl = 'DiagnosticSignWarn', linehl = 'LspDiagnosticsLineNrWarn' }
)
vim.fn.sign_define(
'DiagnosticSignInfo',
{ text = '', texthl = 'DiagnosticSignInfo', linehl = 'LspDiagnosticsLineNrInfo' }
)
vim.fn.sign_define(
'DiagnosticSignHint',
{ text = '', texthl = 'LspDiagnosticsLineNrHint', linehl = 'LspDiagnosticsLineNrHint' }
)
vim.keymap.set('n', '{d', vim.diagnostic.goto_prev, {desc ='Previous [D]iagnostic'})
vim.keymap.set('n', '}d', vim.diagnostic.goto_next, {desc ='Next [D]iagnostic'})
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, {desc='View [E]rror'})
vim.keymap.set('n', '<leader>ll', vim.diagnostic.setloclist, {desc='View [L]ocal [L]ist'})

View File

@ -54,6 +54,9 @@ end
vim.keymap.set({ 'n', 'x', 'o' }, 'n', "'Nn'[v:searchforward]", { expr = true, desc = 'Next search result' })
vim.keymap.set({ 'n', 'x', 'o' }, 'N', "'nN'[v:searchforward]", { expr = true, desc = 'Next search result' })
vim.keymap.set('n', '<C-d>', '<C-d>zz')
vim.keymap.set('n', '<C-u>', '<C-u>zz')
-- Formatting
vim.keymap.set('n', '<leader>=', 'ggVGgq', { silent = true })
vim.keymap.set('n', '<leader>0', 'vapJgqap', { silent = true })

View File

@ -22,6 +22,7 @@ local options = {
whichwrap = 'b,h,l,s,<,>,[,],~',
viewoptions = 'cursor,folds',
clipboard = 'unnamedplus',
foldmethod = 'marker',
signcolumn = 'no',
completeopt = { 'menu', 'menuone', 'noselect', 'noinsert' },
titlestring = '%(%m%) %(%{expand("%:~")}%)',
@ -30,7 +31,15 @@ local options = {
}
vim.opt.nrformats:append 'alpha'
vim.opt.diffopt:append { 'vertical', 'iwhite', 'indent-heuristic', algorithm = 'patience', foldcolumn = 0 }
vim.opt.shortmess:append { s = true, I = true }
vim.opt.diffopt:append {
'vertical',
'iwhite',
'indent-heuristic',
algorithm = 'patience',
foldcolumn = 0,
'linematch:60',
}
vim.opt.formatoptions = vim.opt.formatoptions - 'a' - 't' + 'c' + 'q' - 'o' - 'r' + 'n' + 'j' - '2'
for k, v in pairs(options) do

View File

@ -1,10 +1,5 @@
local M = {}
local status_ok, devicons = pcall(require, 'nvim-web-devicons')
if not status_ok then
return
end
-- custom highlights
vim.api.nvim_set_hl(0, 'User1', { fg = '#458588', bg = '#1d2021' })
vim.api.nvim_set_hl(0, 'User2', { fg = '#fe8019', bg = '#1d2021' })
@ -87,24 +82,6 @@ M.get_git_status = function(self)
return is_head_empty and string.format(' %s %s', self.lsp_icon.git, signs.head) or ''
end
-- get current file name
M.get_filename = function(self)
local filename = vim.fn.expand '%:t'
local extension = vim.fn.expand '%:e'
local fullname = '%<%F'
if filename == '' then
return ''
end
local icon, icon_color = devicons.get_icon_color(filename, extension, { default = true })
vim.api.nvim_set_hl(0, 'User7', { fg = icon_color, bg = '#282828' })
self.colors.filename = '%#User7#'
if self:is_truncated(self.trunc_width.filename) then
return ' ' .. icon .. ' ' .. filename
else
return ' ' .. icon .. ' ' .. fullname
end
end
-- get current line/col
M.get_line_col = function(self)
if self:is_truncated(self.trunc_width.line_col) then
@ -162,13 +139,43 @@ M.get_words = function()
end
end
-- get current file name
M.get_filename = function(self)
local filename = vim.fn.expand '%:t'
local extension = vim.fn.expand '%:e'
local fullname = '%<%F'
if filename == '' then
return ''
end
local status_ok, devicons = pcall(require, 'nvim-web-devicons')
if not status_ok then
if self:is_truncated(self.trunc_width.filename) then
return filename
else
return fullname
end
else
local icon, icon_color = devicons.get_icon_color(filename, extension, { default = true })
vim.api.nvim_set_hl(0, 'User7', { fg = icon_color, bg = '#282828' })
self.colors.filename = '%#User7#'
if self:is_truncated(self.trunc_width.filename) then
return ' ' .. icon .. ' ' .. filename
else
return ' ' .. icon .. ' ' .. fullname
end
end
end
-- create active statusline
M.set_active = function(self)
local lsp = self:get_diagnostics()
local servs = self.colors.line_col .. self:get_lsp_name()
local palabras = self.colors.flags .. self:get_words()
local flags = self.colors.flags .. self:get_flags()
local filename = string.format('%s%s', self.colors.filename, self:get_filename())
local filename = string.format('%s%s', self.colors.filename or '', self:get_filename())
local git = self.colors.git .. self:get_git_status()
local line_col = self.colors.line_col .. self:get_line_col()

71
nvim/plugin/tabline.lua Normal file
View File

@ -0,0 +1,71 @@
local noname = '[unnamed]'
local function extract_filename(win)
local b = vim.api.nvim_win_get_buf(win)
local fullname = vim.api.nvim_buf_get_name(b)
local mod = vim.api.nvim_buf_get_option(b, 'modified') and '' or ''
if fullname ~= '' then
local shortname = vim.fn.fnamemodify(fullname, ':~:.:gs%(.?[^/])[^/]*/%\1/%')
if #shortname > 30 then
shortname = vim.fn.fnamemodify(fullname, ':t')
end
return mod .. shortname
end
end
local function get_best_window_filename(tabpage, window)
local filename = extract_filename(window)
if filename == nil then
local wins = vim.api.nvim_tabpage_list_wins(tabpage)
if #wins > 1 then
for _, win in ipairs(wins) do
filename = extract_filename(win)
break
end
end
end
if filename == nil then
return noname
end
return filename
end
local function is_float_win(win)
local config = vim.api.nvim_win_get_config(win)
return config.zindex and config.zindex > 0
end
local function getname(tabpage)
-- vim.F.npcall(vim.api.nvim_tabpage_get_var, tabpage, "tab_title")
local title = vim.t[tabpage].tab_title
if title ~= nil then
return title
end
local window = vim.api.nvim_tabpage_get_win(tabpage)
-- don't replace the last filename-buffer w/ floating windows
if is_float_win(window) then
return vim.t[tabpage].last_buffer_filename
end
local filename = get_best_window_filename(tabpage, window)
vim.t[tabpage].last_buffer_filename = filename
return filename
end
function Tabline()
local tl = {}
local current = vim.api.nvim_get_current_tabpage()
for i, tabpage in ipairs(vim.api.nvim_list_tabpages()) do
local hi = tabpage == current and '%#TabLineSel#' or '%#TabLine#'
local hiSep = tabpage == current and '%#TabLineSelSep#' or '%#TabLineSep#'
table.insert(tl, '%' .. i .. 'T') -- mouse click target region
table.insert(tl, hi .. ' ' .. getname(tabpage) .. ' ')
table.insert(tl, hiSep .. '▓▒░' .. hi)
end
table.insert(tl, '%T') -- end mouse click region(s).
table.insert(tl, '%#TabLineFill#')
return table.concat(tl, '')
end
vim.opt.tabline = [[%!v:lua.Tabline()]]

View File

@ -1,43 +0,0 @@
[Connection]
password =
username =
port = 9091
host = localhost
path = /transmission/rpc
ssl = False
[Sorting]
order = name
[Filtering]
filter =
invert = False
[Misc]
compact_list = False
torrentname_is_progressbar = True
file_viewer = xdg-open %%s
file_open_in_terminal = True
[Colors]
header = bg:default,fg:default
multi_filter_status = bg:default,fg:default
title_seed = bg:green,fg:black
title_download = bg:blue,fg:black
title_idle = bg:cyan,fg:black
title_verify = bg:magenta,fg:black
title_paused = bg:black,fg:white
title_error = bg:red,fg:white
download_rate = bg:black,fg:blue
upload_rate = bg:black,fg:red
eta+ratio = bg:black,fg:white
filter_status = bg:red,fg:black
dialog = bg:black,fg:white
dialog_important = bg:red,fg:black
button = bg:white,fg:black
button_focused = bg:black,fg:white
file_prio_high = bg:red,fg:black
file_prio_normal = bg:black,fg:white
file_prio_low = bg:yellow,fg:black
file_prio_off = bg:blue,fg:black

View File

@ -10,13 +10,15 @@ 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-tools-34.0.1_2
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_2
black-23.7.0_1
blender-3.6.1_1
blueman-2.3.5_1
bluez-5.68_1
bluez-alsa-3.1.0_1
@ -32,7 +34,7 @@ evtest-qt-0.2.0_1
exiftool-12.64_1
fcitx-4.2.9.9_1
fcitx-configtool-0.4.10_2
fcitx-mozc-2.28.4800.102_1
fcitx-mozc-2.28.4800.102_2
fd-8.7.0_1
feh-3.10_1
ffmpeg-4.4.4_2
@ -43,7 +45,7 @@ fzf-0.42.0_1
gamemode-1.7_1
git-2.41.0_1
git-libsecret-2.41.0_1
gnome-ssh-askpass-9.3p1_1
gnome-ssh-askpass-9.3p2_1
gnupg2-2.4.3_1
grub-x86_64-efi-2.06_3
hidapi-0.13.1_1
@ -60,13 +62,14 @@ 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
libgcc-32bit-12.2.0_2
libgcc-32bit-12.2.0_3
libglvnd-32bit-1.6.0_1
libstdc++-32bit-12.2.0_2
libstdc++-32bit-12.2.0_3
libunrar-6.2.5_1
linux-firmware-20230515_1
lldb-15.0.7_1
lm_sensors-3.6.0_1
lua-language-server-3.6.23_1
lua-language-server-3.6.24_1
luarocks-lua54-3.9.1_1
maim-5.7.4_7
megatools-1.11.1_1
@ -75,11 +78,11 @@ 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
mosh-1.4.0_4
mozc-2.28.4800.102_2
mpv-0.35.1_3
msmtp-1.8.24_1
mumble-1.4.287_3
mumble-1.4.287_5
ncurses-devel-6.4_1
neomutt-20230517_1
neovim-0.9.1_1
@ -91,22 +94,26 @@ noto-fonts-emoji-2.038_1
noto-fonts-ttf-23.7.1_1
nsxiv-31_1
opendoas-6.8.2_1
openjdk11-11.0.12+7_3
openjdk11-11.0.20+8_1
openssl-devel-1.1.1t_1
p7zip-22.01_2
pass-1.7.4_3
pd-0.54.0_1
perl-File-MimeInfo-0.33_1
perl-Text-CharWidth-0.04_8
pinentry-gtk-1.2.1_1
pipe-viewer-0.4.6_1
polybar-3.6.3_1
polybar-3.6.3_2
protontricks-1.10.2_1
pulseaudio-15.0_4
pulsemixer-1.5.1_2
python3-BeautifulSoup4-4.12.2_1
python3-pip-23.1.2_1
python3-isort-5.12.0_1
python3-language-server-1.7.4_1
python3-mypy-1.3.0_1
python3-pip-23.2_1
python3-pysdl2-0.9.6_5
python3-virtualenv-20.23.1_1
python3-virtualenv-20.24.1_1
qjackctl-0.9.9_1
ripgrep-13.0.0_2
rofi-1.7.5_1
@ -120,6 +127,7 @@ slop-7.6_4
snooze-0.5_1
socklog-void-20200115_2
steam-1.0.0.78_1
stig-0.12.3a0_2
supercollider-3.11.1_6
sv-netmount-0.1_3
sxhkd-0.6.2_1
@ -127,7 +135,6 @@ texlive-bin-2023_1
tidy5-5.8.0_1
tmux-3.3a_2
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
@ -136,16 +143,16 @@ 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.11_1
wine-8.13_1
wine-mono-8.0.0_1
xclip-0.13_2
xcompmgr-1.1.9_1
xdg-utils-1.1.3_5
xdo-0.5.7_3
xev-1.2.5_1
xf86-video-amdgpu-22.0.0_1
xf86-video-amdgpu-23.0.0_1
xf86-video-fbdev-0.5.0_2
xf86-video-vesa-2.5.0_2
xf86-video-vesa-2.6.0_1
xinput-1.6.4_1
xkill-1.0.6_1
xorg-minimal-1.2_2

View File

@ -1,4 +1,4 @@
# Programas y Opciones del Sistema {{{
# Opciones del Sistema {{{
export EDITOR="nvim"
export EXINIT="set ai ic nu sm smd sw=4 ts=4 ruler para=BlBdPpIt sect=ShSs | map gg 1G"
export VISUAL="$EDITOR"
@ -13,6 +13,8 @@ export GREP_COLORS="mt=0;32"
export TIME_STYLE="long-iso"
export BLOCK_SIZE="'1"
export QUOTING_STYLE=literal
# export MANPAGER='nvim --cmd \":lua vim.g.noplugins=1\" +Man!'
# export MANWIDTH=999
export XAUTHORITY="${XDG_CONFIG_HOME:-$HOME/.config}/X11/Xauthority"
export XDG_DATA_HOME="$HOME/.local/share"
@ -22,10 +24,13 @@ export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/X11/xinitrc"
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
export GPG_TTY=$(tty)
# }}}
# Programas {{{
export GNUPGHOME="${XDG_DATA_HOME:-$HOME/.local/share}/gnupg"
export SSH_ASKPASS="/bin/gnome-ssh-askpass"
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/pass"
eval $(keychain --dir ~/.local/share/keychain --quiet --eval --noask --clear --agents ssh,gpg id_ed25519)
export MOSH_TITLE_NOPREFIX=1
export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/notmuch-config"
export WGETRC="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc"
@ -62,13 +67,13 @@ export BL2_HOME=/mnt/wd1tb/catacombs/code/blockout
# }}}
# FZF {{{
export FZF_DEFAULT_OPTS="--cycle \
--color=bg:-1,bg+:-1,spinner:#fb4934,hl:#928374,fg:#ebdbb2,header:#928374,info:#8ec07c,pointer:#fb4934,marker:#fb4934,fg+:#ebdbb2,prompt:#fb4934,hl+:#fb4934,border:#080808 \
--color=bg+:#1d2021,bg:-1,border:#080808,spinner:#E6DB74,hl:#7E8E91,fg:#ebdbb2,header:#7E8E91,info:#A6E22E,pointer:#A6E22E,marker:#ae81ff,fg+:#F8F8F2,prompt:#F4bf75,hl+:#Ff9700 \
--reverse \
--info=inline \
--no-bold \
--ansi \
--pointer='→' \
--marker='' \
--marker='·' \
--preview-window :wrap:sharp"
export FZF_DEFAULT_COMMAND="fd -t f -c always -H --strip-cwd-prefix"

View File

@ -1,23 +1,23 @@
# Programas
alias \
v='$EDITOR' \
v='$EDITOR ' \
x='xui' \
m='neomutt' \
z='zathura' \
g='git' \
vv='nvi' \
bc='bc -iq' \
se='doas nvim' \
vc='nvim --cmd ":lua vim.g.noplugins=1" ' \
se='doas nvim ' \
am='alsamixer' \
pm='pulsemixer' \
nb='newsboat -q' \
py='python ' \
irc='catgirl' \
ytv='pipe-viewer' \
vdf='nvim -d' \
vdf='nvim -d ' \
vkl='vkpurge list' \
gdl='gallery-dl --zip -q' \
jpl='nvim -u ~/.config/nvim/wikinit.lua -c VimwikiIndex' \
sxiv='sxiv-rifle' \
news='neomutt -G' \
pyserv='python -m http.server' \