fix: small improvements

This commit is contained in:
2026-09-11 21:08:01 +02:00
parent 8292ff741d
commit b9c53bc8e7
5 changed files with 48 additions and 27 deletions
+4
View File
@@ -5,6 +5,10 @@ for _, m in ipairs({ 'netrw', 'netrwPlugin', 'gzip', 'tarPlugin', 'zipPlugin', '
vim.g['loaded_' .. m] = 1 vim.g['loaded_' .. m] = 1
end end
for _, p in ipairs({ 'node', 'python3', 'perl', 'ruby' }) do
vim.g['loaded_' .. p .. '_provider'] = 0
end
-- Config Global -- Config Global
vim.pack.add({ 'https://github.com/nvim-mini/mini.nvim' }) vim.pack.add({ 'https://github.com/nvim-mini/mini.nvim' })
local misc = require('mini.misc') local misc = require('mini.misc')
+10 -5
View File
@@ -14,12 +14,17 @@ end
return { return {
status = function() status = function()
local items = {} local lines = vim.fn.systemlist('git status -s -u')
for _, l in ipairs(vim.fn.systemlist('git status -s -u')) do if vim.v.shell_error ~= 0 then
local p = l:sub(4):gsub('.* %-> ', '') return vim.notify('Not a git repository', vim.log.levels.WARN)
if vim.uv.fs_stat(p) then items[#items + 1] = { text = l, path = p } end
end end
if #items == 0 then return vim.notify('No changes') end
local items = {}
for _, l in ipairs(lines) do
local p = l:sub(4):gsub('.* %-> ', ''):gsub('^"(.*)"$', '%1')
items[#items + 1] = { text = l, path = p }
end
if #items == 0 then return vim.notify('No changes', vim.log.levels.INFO) end
MiniPick.start({ MiniPick.start({
source = { items = items, name = 'Git Status', show = show }, source = { items = items, name = 'Git Status', show = show },
+20 -19
View File
@@ -4,25 +4,26 @@ vim.o.undofile = true -- Enable persistent undo
vim.o.shada = "'100,<50,s10,:1000,/100,@100,h" -- Limit ShaDa file (for startup) vim.o.shada = "'100,<50,s10,:1000,/100,@100,h" -- Limit ShaDa file (for startup)
-- UI -- UI
vim.o.breakindent = true -- Indent wrapped lines to match line start vim.o.breakindent = true -- Indent wrapped lines to match line start
vim.o.breakindentopt = 'list:-1' -- Add padding for lists (if 'wrap' is set) vim.o.breakindentopt = 'list:-1' -- Add padding for lists (if 'wrap' is set)
vim.o.cursorline = true -- Enable current line highlighting vim.o.cursorline = true -- Enable current line highlighting
vim.o.linebreak = true -- Wrap lines at 'breakat' (if 'wrap' is set) vim.o.linebreak = true -- Wrap lines at 'breakat' (if 'wrap' is set)
vim.o.list = true -- Show helpful text indicators vim.o.list = true -- Show helpful text indicators
vim.o.number = true -- Show line numbers vim.o.listchars = 'tab:→ ,trail:·,nbsp:␣' -- Characters for list mode
vim.o.pumheight = 10 -- Make popup menu smaller vim.o.number = true -- Show line numbers
vim.o.pummaxwidth = 80 -- Make popup menu not too wide vim.o.pumheight = 10 -- Make popup menu smaller
vim.o.shortmess = 'CFOSWacou' -- Disable some built-in completion messages vim.o.pummaxwidth = 80 -- Make popup menu not too wide
vim.o.signcolumn = 'yes' -- Always show signcolumn (less flicker) vim.o.shortmess = 'CFOSWacou' -- Disable some built-in completion messages
vim.o.splitbelow = true -- Horizontal splits will be below vim.o.signcolumn = 'yes' -- Always show signcolumn (less flicker)
vim.o.splitkeep = 'screen' -- Reduce scroll during window split vim.o.splitbelow = true -- Horizontal splits will be below
vim.o.splitright = true -- Vertical splits will be to the right vim.o.splitkeep = 'screen' -- Reduce scroll during window split
vim.o.wrap = false -- Don't visually wrap lines vim.o.splitright = true -- Vertical splits will be to the right
vim.o.winborder = 'rounded' -- Use border in floating windows vim.o.wrap = false -- Don't visually wrap lines
vim.o.pumborder = 'rounded' -- Use border in popup menu vim.o.winborder = 'rounded' -- Use border in floating windows
vim.o.cmdheight = 0 -- Hide the command line when not in use vim.o.pumborder = 'rounded' -- Use border in popup menu
vim.cmd('syntax off') -- Disable legacy syntax highlighting vim.o.cmdheight = 0 -- Hide the command line when not in use
require('vim._core.ui2').enable({ -- Enable new ui (requires nightly) vim.cmd('syntax off') -- Disable legacy syntax highlighting
require('vim._core.ui2').enable({ -- Enable new ui (requires nightly)
msg = { targets = 'msg' } msg = { targets = 'msg' }
}) })
+3 -1
View File
@@ -58,7 +58,8 @@ end
nmap_leader('ed', '<Cmd>lua MiniFiles.open()<CR>', 'Directory') nmap_leader('ed', '<Cmd>lua MiniFiles.open()<CR>', 'Directory')
nmap_leader('ef', explore_at_file, 'File directory') nmap_leader('ef', explore_at_file, 'File directory')
nmap_leader('ey', '<Cmd>lua vim.fn.setreg("+", vim.api.nvim_buf_get_name(0))<CR>', 'Yank absolute path') nmap_leader('ey', '<Cmd>lua vim.fn.setreg("+", vim.fn.fnamemodify(vim.api.nvim_buf_get_name(0), ":."))<CR>', 'Yank absolute path')
nmap_leader('eY', '<Cmd>lua vim.fn.setreg("+", vim.api.nvim_buf_get_name(0))<CR>', 'Yank relative path')
nmap_leader('en', '<Cmd>messages<CR>', 'Notifications') nmap_leader('en', '<Cmd>messages<CR>', 'Notifications')
-- Find -- Find
@@ -74,6 +75,7 @@ nmap_leader('fh', '<Cmd>Pick help<CR>', 'Help tags')
nmap_leader('fl', '<Cmd>Pick buf_lines scope="all"<CR>', 'Lines (all)') nmap_leader('fl', '<Cmd>Pick buf_lines scope="all"<CR>', 'Lines (all)')
nmap_leader('fL', '<Cmd>Pick buf_lines scope="current"<CR>', 'Lines (buf)') nmap_leader('fL', '<Cmd>Pick buf_lines scope="current"<CR>', 'Lines (buf)')
nmap_leader('fm', '<Cmd>Pick git_status<CR>', 'Modified / changed files') nmap_leader('fm', '<Cmd>Pick git_status<CR>', 'Modified / changed files')
nmap_leader('fo', '<Cmd>Pick oldfiles<CR>', 'Old / recent files')
nmap_leader('fr', '<Cmd>Pick resume<CR>', 'Resume') nmap_leader('fr', '<Cmd>Pick resume<CR>', 'Resume')
nmap_leader('fs', '<Cmd>Pick lsp scope="workspace_symbol_live"<CR>', 'Symbols workspace') nmap_leader('fs', '<Cmd>Pick lsp scope="workspace_symbol_live"<CR>', 'Symbols workspace')
nmap_leader('fS', '<Cmd>Pick lsp scope="document_symbol"<CR>', 'Symbols document') nmap_leader('fS', '<Cmd>Pick lsp scope="document_symbol"<CR>', 'Symbols document')
+11 -2
View File
@@ -12,7 +12,16 @@ Config.now(function()
return vim.iter({ vim.fn.glob('~/Code/*', 0, 1), vim.fn.glob('~/Documents/*/*', 0, 1) }) return vim.iter({ vim.fn.glob('~/Code/*', 0, 1), vim.fn.glob('~/Documents/*/*', 0, 1) })
:flatten() :flatten()
:filter(function(p) return vim.fn.isdirectory(p) == 1 end) :filter(function(p) return vim.fn.isdirectory(p) == 1 end)
:map(function(p) return { name = vim.fn.fnamemodify(p, ':t'), action = 'edit ' .. vim.fn.fnameescape(p), section = 'Projects' } end) :map(function(p)
return {
name = vim.fn.fnamemodify(p, ':t'),
action = function()
vim.fn.chdir(p)
require('mini.files').open(p)
end,
section = 'Projects',
}
end)
:totable() :totable()
end, end,
@@ -47,7 +56,7 @@ Config.later(function()
{ mode = { 'n', 'x' }, keys = 'g' }, { mode = { 'n', 'x' }, keys = 'g' },
{ mode = { 'n', 'x' }, keys = "'" }, { mode = { 'n', 'x' }, keys = "'" },
{ mode = { 'n', 'x' }, keys = '`' }, { mode = { 'n', 'x' }, keys = '`' },
{ mode = { 'n', 'x' }, keys = "'" }, { mode = { 'n', 'x' }, keys = '"' },
{ mode = { 'i', 'c' }, keys = '<C-r>' }, { mode = { 'i', 'c' }, keys = '<C-r>' },
{ mode = 'n', keys = '<C-w>' }, { mode = 'n', keys = '<C-w>' },
{ mode = { 'n', 'x' }, keys = 's' }, { mode = { 'n', 'x' }, keys = 's' },