Update config

This commit is contained in:
ant 2023-08-15 19:10:32 +02:00
parent 970a7c22e1
commit 88aff46b8e
4 changed files with 124 additions and 2 deletions

View file

@ -0,0 +1,12 @@
local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
-- parser_config.nim = {
-- install_info = {
-- url = "~/git/tree-sitter-nim", -- local path or git repo
-- files = {"src/parser.c", "src/scanner.cc"}, -- note that some parsers also require src/scanner.c or src/scanner.cc
-- -- optional entries:
-- branch = "main", -- default branch in case of git repo if different from master
-- -- generate_requires_npm = false, -- if stand-alone parser without npm dependencies
-- -- requires_generate_from_grammar = false, -- if folder contains pre-generated src/parser.c
-- },
-- filetype = "nim", -- if filetype does not match the parser name
-- }

View file

@ -15,6 +15,16 @@ vim.keymap.set(
"<cmd> Telescope find_files follow=true no_ignore=true hidden=true <CR>"
)
vim.keymap.set('n', '<leader>ft', MiniFiles.open, { desc = "Open file tree" })
-- vim.api.nvim_set_keymap('v', 'f', '<Plug>SnipRun', {silent = true})
-- vim.api.nvim_set_keymap('n', '<leader>f', '<Plug>SnipRunOperator', {silent = true})
-- vim.api.nvim_set_keymap('n', '<leader>ff', '<Plug>SnipRun', {silent = true})
vim.keymap.set('n', '<leader>rr', ":SnipRun<cr>", { desc = "Run line" })
vim.keymap.set('v', '<leader>r', ":SnipRun<cr>", { desc = "Run selection" })
vim.keymap.set({'n', 'v', 'o'}, '<a-h>', require('tree-climber').goto_parent)
vim.keymap.set({'n', 'v', 'o'}, '<a-l>', require('tree-climber').goto_child)
vim.keymap.set({'n', 'v', 'o'}, '<a-j>', require('tree-climber').goto_next)
vim.keymap.set({'n', 'v', 'o'}, '<a-k>', require('tree-climber').goto_prev)
-- Global mappings.

View file

@ -10,6 +10,7 @@ local plugins = {
enable = true,
},
}
require('configs.treesitter')
end,
},
{
@ -221,8 +222,107 @@ local plugins = {
},
{
"lewis6991/gitsigns.nvim",
config = function() require('gitsigns').setup() end,
config = function()
require('gitsigns').setup({
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', '<leader>hs', gs.stage_hunk, { desc = "Stage hunk" })
map('n', '<leader>hr', gs.reset_hunk, { desc = "Reset hunk" })
map('v', '<leader>hs', function()
gs.stage_hunk { vim.fn.line(
'.'
), vim.fn.line('v') }
end,
{ desc = "Stage hunk" })
map(
'v',
'<leader>hr',
function() gs.reset_hunk { vim.fn.line('.'), vim.fn.line('v') } end,
{ desc = "Reset hunk" }
)
map('n', '<leader>hS', gs.stage_buffer, { desc = "Stage buffer" })
map('n', '<leader>hu', gs.undo_stage_hunk, { desc = "Undo stage hunk" })
map('n', '<leader>hR', gs.reset_buffer, { desc = "Reset buffer" })
map('n', '<leader>hp', gs.preview_hunk, { desc = "Preview hunk" })
map(
'n',
'<leader>hb',
function() gs.blame_line { full = true } end,
{ desc = "Blame line" }
)
map(
'n',
'<leader>tb',
gs.toggle_current_line_blame,
{ desc = "Toggle current line blame" }
)
map('n', '<leader>hd', gs.diffthis, { desc = "Diff this" })
map('n', '<leader>hD', function() gs.diffthis('~') end, { desc = "Diff this (ignore whitespace)" })
map('n', '<leader>td', gs.toggle_deleted, { desc = "Toggle deleted" })
-- Text object
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>', { desc = "Select hunk" })
end
})
end,
},
{
"sustech-data/wildfire.nvim",
event = "VeryLazy",
dependencies = { "nvim-treesitter/nvim-treesitter" },
config = function()
require("wildfire").setup()
end,
},
{ "lukas-reineke/indent-blankline.nvim" },
{
'michaelb/sniprun',
-- run = 'sh ./install.sh',
config = function()
require('sniprun').setup()
end,
},
{
"kylechui/nvim-surround",
version = "*", -- Use for stability; omit to use `main` branch for the latest features
event = "VeryLazy",
config = function()
require("nvim-surround").setup({
-- Configuration here, or leave empty to use defaults
})
end
},
{ "drybalka/tree-climber.nvim" },
{
"NeogitOrg/neogit",
dependencies = {
"nvim-lua/plenary.nvim", -- required
"nvim-telescope/telescope.nvim", -- optional
"sindrets/diffview.nvim", -- optional
},
config = true
}
}
return plugins