From 254df1095f40474fa8b11caeaf4c7dc8c3221ab8 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 23 Mar 2024 23:38:45 +0800 Subject: [PATCH] perf(git): do not open diff win when no changes --- bundle/git.vim/lua/git/command/diff.lua | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/bundle/git.vim/lua/git/command/diff.lua b/bundle/git.vim/lua/git/command/diff.lua index 87ebff93c..44d1db4b5 100644 --- a/bundle/git.vim/lua/git/command/diff.lua +++ b/bundle/git.vim/lua/git/command/diff.lua @@ -61,11 +61,18 @@ local function open_diff_buffer() end local function on_exit(id, code, single) + if id ~= jobid then + return + end log.debug('git-diff exit code:' .. code .. ' single:' .. single) - bufnr = open_diff_buffer() - vim.api.nvim_buf_set_option(bufnr, 'modifiable', true) - vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, diff_lines) - vim.api.nvim_buf_set_option(bufnr, 'modifiable', false) + if #diff_lines > 0 then + bufnr = open_diff_buffer() + vim.api.nvim_buf_set_option(bufnr, 'modifiable', true) + vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, diff_lines) + vim.api.nvim_buf_set_option(bufnr, 'modifiable', false) + else + nt.notify('No Changes!') + end end function M.run(argv)