nvim/lua/plugins/editor.lua

115 lines
3.1 KiB
Lua
Raw Normal View History

return {
{
'echasnovski/mini.diff',
version = false,
2024-05-31 11:03:10 +02:00
event = 'VeryLazy',
opts = {
-- Options for how hunks are visualized
view = {
-- Visualization style. Possible values are 'sign' and 'number'.
-- Default: 'number' if line numbers are enabled, 'sign' otherwise.
2024-05-22 16:31:09 +02:00
style = vim.go.number and 'number' or 'sign',
-- Signs used for hunks with 'sign' view
signs = { add = '', change = '', delete = '' },
-- Priority of used visualization extmarks
priority = 199,
},
-- Source for how reference text is computed/updated/etc
-- Uses content from Git index by default
source = nil,
-- Delays (in ms) defining asynchronous processes
delay = {
-- How much to wait before update following every text change
text_change = 200,
},
-- Module mappings. Use `''` (empty string) to disable one.
mappings = {
-- Apply hunks inside a visual/operator region
apply = 'gh',
-- Reset hunks inside a visual/operator region
reset = 'gH',
-- Hunk range textobject to be used inside operator
textobject = 'gh',
-- Go to hunk range in corresponding direction
goto_first = '[H',
goto_prev = '[h',
goto_next = ']h',
goto_last = ']H',
},
-- Various options
options = {
-- Diff algorithm. See `:h vim.diff()`.
algorithm = 'histogram',
-- Whether to use "indent heuristic". See `:h vim.diff()`.
indent_heuristic = true,
-- The amount of second-stage diff to align lines (in Neovim>=0.9)
linematch = 60,
-- Whether to wrap around edges during hunk navigation
wrap_goto = false,
},
2024-05-31 11:03:10 +02:00
},
},
{
'nvim-telescope/telescope.nvim',
dependencies = {
{ 'nvim-lua/plenary.nvim' },
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
{ 'nvim-tree/nvim-web-devicons' },
},
cmd = 'Telescope',
keys = function()
local telescope = require('utils').telescope
return {
{ '<leader>ff', telescope 'find_files', desc = 'files' },
{ '<leader>fg', telescope 'git_files', desc = 'git files' },
{ '<leader>fr', telescope 'live_grep', desc = 'grep' },
{ '<leader>fb', telescope 'buffers', desc = 'buffers' },
{ '<leader>fc', telescope 'colorscheme', desc = 'colorscheme' },
{ '<leader>fh', telescope 'oldfiles', desc = 'history' },
2024-05-28 14:29:11 +02:00
{ '<leader>fj', telescope 'jumplist', desc = 'jumplist' },
}
end,
config = function()
local telescope = require 'telescope'
telescope.setup {
defaults = {
mappings = {
i = {
2024-05-31 11:03:10 +02:00
['<Esc>'] = require('telescope.actions').close,
},
},
2024-05-31 11:03:10 +02:00
},
}
telescope.load_extension 'fzf'
end,
},
{
'f-person/git-blame.nvim',
dependencies = {},
keys = {
{ '<leader>bt', '<Cmd>GitBlameToggle<CR>', desc = 'Blame toggle' },
{ '<leader>bo', '<Cmd>GitBlameOpenCommitURL<CR>', desc = 'Open in browser' },
{ '<leader>bc', '<Cmd>GitBlameCopySHA<CR>', desc = 'Copy SHA1' },
},
config = function()
require('gitblame').setup {
enabled = false,
message_template = ' <author> • <date> • <summary>',
}
end,
},
}