polish git, mini config

This commit is contained in:
iofq 2023-05-25 05:23:10 -05:00
parent 0c5b3d23ae
commit c4ddbfc40c
10 changed files with 102 additions and 104 deletions

8
config/lua/colors.lua Normal file
View file

@ -0,0 +1,8 @@
require("rose-pine").setup({
variant = "moon",
disable_background = true,
disable_italics = true,
disable_float_background = true
})
vim.cmd.colorscheme "rose-pine-main"

30
config/lua/git-conf.lua Normal file
View file

@ -0,0 +1,30 @@
require('gitsigns').setup{
signcolumn = false,
numhl = true,
on_attach = function()
local gs = package.loaded.gitsigns
vim.keymap.set("n", "<leader>gg", gs.preview_hunk)
vim.keymap.set('n', '<leader>gs', gs.stage_hunk)
vim.keymap.set('n', '<leader>gr', gs.reset_hunk)
vim.keymap.set('n', '<leader>gu', gs.undo_stage_hunk)
vim.keymap.set('n', '<leader>gS', gs.stage_buffer)
vim.keymap.set('n', '<leader>gR', gs.reset_buffer)
vim.keymap.set('n', '<leader>gb', function() gs.blame_line{full=true} end)
vim.keymap.set('n', '<leader>gd', gs.diffthis)
vim.keymap.set('n', '<leader>gD', function() gs.diffthis('~') end)
vim.keymap.set('n', '<leader>gt', gs.toggle_deleted)
-- Navigation
vim.keymap.set('n', ']g', function()
if vim.wo.diff then return ']c' end
vim.schedule(function() gs.next_hunk() end)
return '<Ignore>'
end, {expr=true})
vim.keymap.set('n', '[g', function()
if vim.wo.diff then return '[c' end
vim.schedule(function() gs.prev_hunk() end)
return '<Ignore>'
end, {expr=true}) end
}
require("neogit").setup()

View file

@ -1,32 +0,0 @@
require('gitsigns').setup{
signs = {
add = { text = ''},
change = { text = ''},
delete = { text = ''},
},
signcolumn = auto,
on_attach = function()
vim.wo.signcolumn = "yes"
vim.cmd [[ hi SignColumn ctermbg=none]]
vim.cmd [[ hi GitSignsAdd ctermbg=none]]
vim.cmd [[ hi GitSignsDelete ctermbg=none]]
vim.cmd [[ hi GitSignsChange ctermbg=none]]
end
}
require("neogit").setup({
disable_context_highlighting = true
})
vim.cmd [[ hi DiffAdd ctermbg=none ]]
vim.cmd [[ hi DiffDelete ctermbg=none ]]
vim.cmd [[ hi DiffContext ctermbg=none ]]
vim.cmd [[ hi NeogitHunkHeader ctermbg=none ]]
vim.cmd [[ hi NeogitHunkHeader ctermbg=none ]]
require("rose-pine").setup({
variant = "moon",
disable_background = true,
disable_float_background = true
})
vim.cmd.colorscheme "rose-pine"

View file

@ -1,6 +1,46 @@
-- gc gcc
require('mini.comment').setup()
-- alt hjkl
require('mini.move').setup()
-- Add surrounding with sa
-- Delete surrounding with sd.
-- Replace surrounding with sr.
-- Find surrounding with sf or sF (move cursor right or left).
-- Highlight surrounding with sh<char>.
-- 'f' - function call (string of alphanumeric symbols or '_' or '.' followed by balanced '()'). In "input" finds function call, in "output" prompts user to enter function name.
-- 't' - tag. In "input" finds tag with same identifier, in "output" prompts user to enter tag name.
-- All symbols in brackets '()', '[]', '{}', '<>".
-- '?' - interactive. Prompts user to enter left and right parts.
require('mini.surround').setup()
-- :Trim
require('mini.trailspace').setup()
vim.api.nvim_create_user_command('Trim',
function()
require("mini.trailspace").trim()
end, {}
)
-- prefix \
-- `b` - |'background'|.
-- `c` - |'cursorline'|.
-- `C` - |'cursorcolumn'|.
-- `d` - diagnostic (via |vim.diagnostic.enable()| and |vim.diagnostic.disable()|).
-- `h` - |'hlsearch'| (or |v:hlsearch| to be precise).
-- `i` - |'ignorecase'|.
-- `l` - |'list'|.
-- `n` - |'number'|.
-- `r` - |'relativenumber'|.
-- `s` - |'spell'|.
-- `w` - |'wrap'|.
require('mini.basics').setup({
mappings = {
windows = true
}
})
-- gS
require('mini.splitjoin').setup({
detect = {
separator = '[,;\n]'
@ -10,6 +50,8 @@ require('mini.splitjoin').setup({
require('mini.pairs').setup()
vim.cmd([[ hi MiniCursorwordCurrent ctermfg=240 ]])
-- f F t T
require('mini.jump').setup()
require('mini.jump2d').setup({
mappings = { start_jumping = '<leader>s' }
})

View file

@ -1,74 +1,49 @@
-- vim settings
-- vim settings ++ mini.nvim.basics
----------------------------------------
vim.opt.autoindent = true
vim.opt.background = "light"
vim.opt.backspace = "indent,eol,start"
vim.opt.backup = false
vim.opt.breakindent = true
vim.opt.clipboard = "unnamedplus" -- use system clipboard
vim.opt.completeopt = "menuone"
vim.opt.cursorline = true
vim.opt.expandtab = true -- insert tabs as spaces
vim.opt.guicursor = "" -- fixes alacritty changing cursor
vim.opt.hidden = true -- dont save when switching buffers
vim.opt.hlsearch = true
vim.opt.ignorecase = true -- ignore case in searches
vim.opt.inccommand = "split" -- incremental live completion
vim.opt.incsearch = true
vim.opt.laststatus = 1
vim.opt.list = true
vim.opt.listchars:append("trail:·")
vim.opt.listchars:append("leadmultispace:╎ ")
vim.opt.mouse = "a"
vim.opt.nrformats:append("alpha") -- let Ctrl-a do letters as well
vim.opt.number = true
vim.opt.pastetoggle = "<F2>"
vim.opt.path:append("**") -- enable fuzzy :find ing
vim.opt.relativenumber = true
vim.opt.shadafile = "NONE" -- disable shada
vim.opt.shiftwidth = 0 -- >> shifts by tabstop
vim.opt.showmatch = true -- highlight matching brackets
vim.opt.signcolumn= "number"
vim.opt.smartcase = true -- unless capital query
vim.opt.smartindent = true -- indent according to lang
vim.opt.showmode = true
vim.opt.softtabstop = -1 -- backspace removes tabstop
vim.opt.splitbelow = true
vim.opt.splitright = true
vim.opt.swapfile = false
vim.opt.tabstop = 4 -- 4 space tabs
vim.opt.termguicolors = true
vim.opt.undofile = true -- enable auto save of undos
vim.opt.updatetime = 250 -- decrease update time
vim.opt.virtualedit = "onemore"
vim.opt.wildmenu = true
vim.g.netrw_banner = 0 -- disable annoying banner
vim.g.netrw_altv = 1 -- open splits to the right
vim.g.netrw_liststyle = 3 -- tree view
vim.g.fzf_layout = { window = { width = 0.9, height = 0.6 } }
vim.g.indent_blankline_use_treesitter = true
-- highlight indents
vim.cmd([[ hi Whitespace ctermfg=240 ]])
-- highlight floats
-- no highlight floats
vim.cmd([[ hi NormalFloat ctermbg=none ]])
-- mappings
----------------------------------------
local remap = function(type, key, value)
vim.api.nvim_set_keymap(type,key,value,{noremap = true, silent = true});
end
remap("i", "wq", "<esc>l")
remap("v", "wq", "<esc>l")
remap("n","gr", "gT")
remap("i", "{<CR>", "{<CR>}<Esc>O")
remap("i", "(<CR>", "(<CR>)<Esc>O")
remap("n", "<C-L>", "<Cmd>nohlsearch<Bar>diffupdate<CR><C-L>")
remap("n","n", "nzz")
remap("n", "N", "Nzz")
remap("n", "Y", "y$")
remap("n","[<space>", ":<c-u>put!=repeat([''],v:count)<bar>']+1<cr>")
remap("n","]<space>", ":<c-u>put =repeat([''],v:count)<bar>'[-1<cr><Esc>")
remap("n","M", "m0i<cr><Esc>`0")
-- autocmd
----------------------------------------
@ -77,20 +52,3 @@ vim.api.nvim_create_autocmd("VimEnter", {
command = "silent !mkdir -p " .. undopath,
group = vim.api.nvim_create_augroup("Init", {}),
})
local toggle_rel_num = vim.api.nvim_create_augroup("ToggleRelNum", {})
vim.api.nvim_create_autocmd("InsertEnter", {
command = "set norelativenumber",
group = toggle_rel_num,
})
vim.api.nvim_create_autocmd("InsertLeave", {
command = "set relativenumber",
group = toggle_rel_num,
})
vim.api.nvim_create_autocmd("TextYankPost", {
callback = function()
vim.highlight.on_yank({ higroup = "Visual" })
end,
group = vim.api.nvim_create_augroup("YankHighlight", {}),
})

View file

@ -11,4 +11,4 @@ oil.setup({
["wq"] = "actions.close"
}
})
vim.keymap.set("n", "<leader>c", oil.open, {noremap = true, silent = true});
vim.keymap.set("n", "<leader>c", oil.toggle_float, {noremap = true, silent = true});

View file

@ -5,11 +5,10 @@ vim.keymap.set("n", "<leader>fg", telescope.git_files, {noremap = true, silent =
vim.keymap.set("n", "<leader>fv", telescope.command_history, {noremap = true, silent = true})
vim.keymap.set("n", "<leader><leader>", telescope.live_grep, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>8", telescope.grep_string, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>fd", telescope.lsp_definitions, {noremap = true, silent = true})
vim.keymap.set("n", "<leader><BS>", telescope.resume, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>fs", telescope.git_status, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>fd", telescope.lsp_definitions, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>fr", telescope.lsp_references, {noremap = true, silent = true})
-- fix highlighting
vim.cmd([[ hi telescopeselection ctermfg=242 ctermbg=252 ]])
local telescope = require("telescope")
telescope.setup({
@ -32,20 +31,11 @@ telescope.setup({
mappings = {
i = {
["wq"] = require("telescope.actions").close,
["<Esc>"] = require("telescope.actions").close,
["<C-k>"] = require("telescope.actions").move_selection_previous,
["<C-j>"] = require("telescope.actions").move_selection_next,
},
},
},
pickers = {
find_files = {
hidden = true,
find_command = { 'rg', '--files', '--iglob', '!.git', '--hidden' }
},
git_files = {
hidden = true,
find_command = { 'rg', '--files', '--iglob', '!.git', '--hidden' }
},
}
})
telescope.load_extension("fzf")

View file

@ -1,5 +1,4 @@
require("toggleterm").setup{
open_mapping = [[<leader>t]],
shade_terminals = true,
open_mapping = [[<C-\>]],
size = vim.o.lines * 0.4
}

View file

@ -1,6 +1,8 @@
require("nvim-conf")
require("telescope-conf")
require("toggleterm-conf")
require("colors")
require("mini-conf")
require("gitsigns-conf")
require("toggleterm-conf")
require("telescope-conf")
require("git-conf")
require("oil-conf")
-- include our config last to override
require("nvim-conf")

View file

@ -29,25 +29,25 @@
vimAlias = true;
withRuby = false;
withPython3 = false;
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath dependancies}"'';
};
dependancies = with pkgs; [
ripgrep
lazygit
];
full-dependancies = with pkgs; [
go
gopls
];
] ++ dependancies;
neovim-with-deps = recursiveMerge [
pkgs.neovim-unwrapped
{ buildInputs = dependancies; }
];
neovim-with-full-deps = recursiveMerge [
pkgs.neovim-unwrapped
{ buildInputs = dependancies ++ full-dependancies; }
{ buildInputs = full-dependancies; }
];
in rec {
packages.full = pkgs.wrapNeovim neovim-with-full-deps (base // {
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath full-dependancies}"'';
configure = {
customRC =
''
@ -64,6 +64,7 @@
};
});
packages.minimal = pkgs.wrapNeovim neovim-with-deps (base // {
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath dependancies}"'';
configure = {
customRC =
''