summaryrefslogtreecommitdiff
path: root/lua/lvim/builtin/gitsigns.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lvim/builtin/gitsigns.lua')
-rw-r--r--lua/lvim/builtin/gitsigns.lua81
1 files changed, 81 insertions, 0 deletions
diff --git a/lua/lvim/builtin/gitsigns.lua b/lua/lvim/builtin/gitsigns.lua
new file mode 100644
index 00000000..27f50562
--- /dev/null
+++ b/lua/lvim/builtin/gitsigns.lua
@@ -0,0 +1,81 @@
+local M = {}
+
+M.config = function()
+ lvim.builtin.gitsigns = {
+ active = true,
+ opts = {
+ signs = {
+ add = {
+ hl = "GitSignsAdd",
+ text = lvim.icons.ui.BoldLineLeft,
+ numhl = "GitSignsAddNr",
+ linehl = "GitSignsAddLn",
+ },
+ change = {
+ hl = "GitSignsChange",
+ text = lvim.icons.ui.BoldLineLeft,
+ numhl = "GitSignsChangeNr",
+ linehl = "GitSignsChangeLn",
+ },
+ delete = {
+ hl = "GitSignsDelete",
+ text = lvim.icons.ui.Triangle,
+ numhl = "GitSignsDeleteNr",
+ linehl = "GitSignsDeleteLn",
+ },
+ topdelete = {
+ hl = "GitSignsDelete",
+ text = lvim.icons.ui.Triangle,
+ numhl = "GitSignsDeleteNr",
+ linehl = "GitSignsDeleteLn",
+ },
+ changedelete = {
+ hl = "GitSignsChange",
+ text = lvim.icons.ui.BoldLineLeft,
+ numhl = "GitSignsChangeNr",
+ linehl = "GitSignsChangeLn",
+ },
+ },
+ signcolumn = true,
+ numhl = false,
+ linehl = false,
+ word_diff = false,
+ watch_gitdir = {
+ interval = 1000,
+ follow_files = true,
+ },
+ attach_to_untracked = true,
+ current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
+ current_line_blame_opts = {
+ virt_text = true,
+ virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
+ delay = 1000,
+ ignore_whitespace = false,
+ },
+ current_line_blame_formatter = "<author>, <author_time:%Y-%m-%d> - <summary>",
+ sign_priority = 6,
+ status_formatter = nil, -- Use default
+ update_debounce = 200,
+ max_file_length = 40000,
+ preview_config = {
+ -- Options passed to nvim_open_win
+ border = "rounded",
+ style = "minimal",
+ relative = "cursor",
+ row = 0,
+ col = 1,
+ },
+ yadm = { enable = false },
+ },
+ }
+end
+
+M.setup = function()
+ local gitsigns = reload "gitsigns"
+
+ gitsigns.setup(lvim.builtin.gitsigns.opts)
+
+ return gitsigns
+end
+
+return M