From 3e6e91b09f0468c32d3b96dcacf4b947f037ce25 Mon Sep 17 00:00:00 2001 From: martinra Date: Fri, 5 Jan 2024 08:42:32 -0300 Subject: [PATCH] feat: configurable auto attach (#918) * feat: configurable auto attach * fixup! feat: configurable auto attach --- README.md | 1 + doc/gitsigns.txt | 6 ++++++ lua/gitsigns.lua | 5 ++++- lua/gitsigns/config.lua | 9 +++++++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6dbe00747..c79a73934 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,7 @@ require('gitsigns').setup { watch_gitdir = { follow_files = true }, + auto_attach = true, attach_to_untracked = true, current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` current_line_blame_opts = { diff --git a/doc/gitsigns.txt b/doc/gitsigns.txt index 2db2de21b..6e07c1ec3 100644 --- a/doc/gitsigns.txt +++ b/doc/gitsigns.txt @@ -49,6 +49,7 @@ of the default settings: watch_gitdir = { follow_files = true }, + auto_attach = true, attach_to_untracked = true, current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` current_line_blame_opts = { @@ -713,6 +714,11 @@ preview_config *gitsigns-config-preview_config* Option overrides for the Gitsigns preview window. Table is passed directly to `nvim_open_win`. +auto_attach *gitsigns-config-auto_attach* + Type: `boolean`, Default: `true` + + Automatically attach to files. + attach_to_untracked *gitsigns-config-attach_to_untracked* Type: `boolean`, Default: `true` diff --git a/lua/gitsigns.lua b/lua/gitsigns.lua index 651d7b6db..34369a9cb 100644 --- a/lua/gitsigns.lua +++ b/lua/gitsigns.lua @@ -183,7 +183,10 @@ M.setup = async.void(function(cfg) require('gitsigns.git')._set_version(config._git_version) end - setup_attach() + + if config.auto_attach then + setup_attach() + end setup_cwd_head() M._setup_done = true diff --git a/lua/gitsigns/config.lua b/lua/gitsigns/config.lua index 86552e062..096de069d 100644 --- a/lua/gitsigns/config.lua +++ b/lua/gitsigns/config.lua @@ -70,6 +70,7 @@ --- @field current_line_blame_formatter_nc string|Gitsigns.CurrentLineBlameFmtFun --- @field current_line_blame_opts Gitsigns.CurrentLineBlameOpts --- @field preview_config table +--- @field auto_attach boolean --- @field attach_to_untracked boolean --- @field yadm { enable: boolean } --- @field worktrees {toplevel: string, gitdir: string}[] @@ -562,6 +563,14 @@ M.schema = { ]], }, + auto_attach = { + type = 'boolean', + default = true, + description = [[ + Automatically attach to files. + ]], + }, + attach_to_untracked = { type = 'boolean', default = true,