diff --git a/nvim/lua/custom/plugins/golang.lua b/nvim/lua/custom/plugins/golang.lua index 6c1aea3..ac7dd11 100644 --- a/nvim/lua/custom/plugins/golang.lua +++ b/nvim/lua/custom/plugins/golang.lua @@ -14,8 +14,8 @@ return { } vim.keymap.set({ 'n' }, 'gta', ':GoAddTag', { desc = '[G]o [T]ag [A]dd' }) vim.keymap.set({ 'n' }, 'gtr', ':GoRmTag', { desc = '[G]o [T]ag [R]emove' }) - vim.keymap.set({ 'n' }, 'gs', ':GoFillStruct', { desc = '[G]o fill [S]truct' }) - vim.keymap.set({ 'n' }, 'gc', ':GoFillSwitch', { desc = '[G]o fill Switch [C]ase' }) + vim.keymap.set({ 'n' }, 'gfs', ':GoFillStruct', { desc = '[G]o [F]ill [S]truct' }) + vim.keymap.set({ 'n' }, 'gfc', ':GoFillSwitch', { desc = '[G]o [F]ill Switch [C]ase' }) -- Go Fix Plurals - change func foo(b int, a int, r int) -> func foo(b, a, r int) vim.keymap.set({ 'n' }, 'gp', ':GoFixPlurals', { desc = '[G]o fix [P]lurals' }) vim.keymap.set({ 'n' }, 'ge', ':GoIfErr', { desc = '[G]o if [E]rr' }) diff --git a/nvim/lua/kickstart/settings.lua b/nvim/lua/kickstart/settings.lua index 07d7429..871001c 100644 --- a/nvim/lua/kickstart/settings.lua +++ b/nvim/lua/kickstart/settings.lua @@ -185,3 +185,100 @@ vim.api.nvim_create_autocmd('TextYankPost', { }) vim.keymap.set('n', 'wa', ':wa', { desc = 'Alias for :wa' }) + +-- -- Установка трёх раздельных столбцов +-- vim.opt.signcolumn = 'yes:3' -- [Вирт.номера][Git][Номера строк] +-- vim.opt.number = true +-- vim.opt.relativenumber = true +-- +-- -- Группа для виртуальных номеров +-- local virt_sign_group = 'virtnum_group' +-- +-- -- Создаём знаки для чисел 1-99 +-- for i = 1, 99 do +-- vim.fn.sign_define('VirtNum' .. i, { +-- text = string.format('%2d', i), -- Фиксированная ширина 2 символа +-- texthl = 'LineNr', +-- numhl = '', +-- linehl = '', +-- priority = 5, +-- }) +-- end +-- +-- -- Знак для текущей строки (пустой) +-- vim.fn.sign_define('VirtNumCurrent', { +-- text = ' ', -- Два пробела для выравнивания +-- texthl = 'LineNr', +-- priority = 5, +-- }) +-- +-- -- Функция для обновления виртуальных номеров +-- local function update_virtual_numbers() +-- local bufnr = vim.api.nvim_get_current_buf() +-- local cur_line = vim.api.nvim_win_get_cursor(0)[1] +-- local topline = vim.fn.line 'w0' +-- local bottomline = vim.fn.line 'w$' +-- +-- -- Убираем только наши знаки +-- vim.fn.sign_unplace(virt_sign_group, { buffer = bufnr }) +-- +-- for lnum = topline, bottomline do +-- if vim.fn.foldclosed(lnum) == -1 then +-- local sign_name +-- if lnum == cur_line then +-- sign_name = 'VirtNumCurrent' +-- else +-- local dist = math.abs(lnum - cur_line) + 1 +-- sign_name = (dist <= 99) and ('VirtNum' .. dist) or 'VirtNum99' +-- end +-- +-- vim.fn.sign_place( +-- 0, -- Автоматический ID +-- virt_sign_group, +-- sign_name, +-- bufnr, +-- { lnum = lnum } +-- ) +-- end +-- end +-- end +-- +-- -- Автокоманды для обновления +-- vim.api.nvim_create_autocmd({ +-- 'CursorMoved', +-- 'CursorMovedI', +-- 'BufEnter', +-- 'WinScrolled', +-- 'InsertLeave', +-- 'TextChanged', +-- }, { +-- callback = update_virtual_numbers, +-- }) +-- +-- -- Фикс для скролла мышью +-- vim.api.nvim_create_autocmd('WinScrolled', { +-- callback = function() +-- vim.schedule(update_virtual_numbers) +-- end, +-- }) +-- +-- -- Настройка gitsigns с ЯВНЫМ указанием колонки +-- if pcall(require, 'gitsigns') then +-- require('gitsigns').setup { +-- signcolumn = 2, -- Явно указываем вторую колонку для Git +-- numhl = false, +-- current_line_blame = false, +-- update_debounce = 100, +-- signs = { +-- add = { text = '▏', priority = 10 }, +-- change = { text = '▏', priority = 10 }, +-- delete = { text = '▁', priority = 10 }, +-- topdelete = { text = '▔', priority = 10 }, +-- changedelete = { text = '▒', priority = 10 }, +-- untracked = { text = '┆', priority = 10 }, +-- }, +-- } +-- end +-- +-- -- Настройка отступов +-- vim.opt.numberwidth = 3 -- Ширина колонки номеров строк