From 33bf5c4a6d1d29247939b7be2c8632bb02ed8b22 Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Tue, 20 Apr 2021 20:29:44 +0100 Subject: [PATCH] Don't attach to non-loaded buffers Fixes #161 --- lua/gitsigns.lua | 8 ++++++-- teal/gitsigns.tl | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lua/gitsigns.lua b/lua/gitsigns.lua index b72718d..08604dd 100644 --- a/lua/gitsigns.lua +++ b/lua/gitsigns.lua @@ -536,6 +536,11 @@ local attach = async(function(cbuf) end dprint('Attaching', cbuf, 'attach') + if api.nvim_buf_is_loaded(cbuf) then + dprint('Non-loaded buffer', cbuf, 'attach') + return + end + if api.nvim_buf_line_count(cbuf) > config.max_file_length then dprint('Exceeds max_file_length', cbuf, 'attach') return @@ -775,8 +780,7 @@ local setup = async_void(function(cfg) for _, buf in ipairs(api.nvim_list_bufs()) do - if api.nvim_buf_is_valid(buf) and - api.nvim_buf_is_loaded(buf) and + if api.nvim_buf_is_loaded(buf) and api.nvim_buf_get_name(buf) ~= '' then await(attach(buf)) await(scheduler()) diff --git a/teal/gitsigns.tl b/teal/gitsigns.tl index 73f2ff4..aab96e2 100644 --- a/teal/gitsigns.tl +++ b/teal/gitsigns.tl @@ -536,6 +536,11 @@ local attach = async(function(cbuf: integer) end dprint('Attaching', cbuf, 'attach') + if api.nvim_buf_is_loaded(cbuf) then + dprint('Non-loaded buffer', cbuf, 'attach') + return + end + if api.nvim_buf_line_count(cbuf) > config.max_file_length then dprint('Exceeds max_file_length', cbuf, 'attach') return @@ -775,8 +780,7 @@ local setup = async_void(function(cfg: Config) -- Attach to all open buffers for _, buf in ipairs(api.nvim_list_bufs()) do - if api.nvim_buf_is_valid(buf) - and api.nvim_buf_is_loaded(buf) + if api.nvim_buf_is_loaded(buf) and api.nvim_buf_get_name(buf) ~= '' then await(attach(buf)) await(scheduler())