diff options
| author | Simon Hauser <Simon-Hauser@outlook.de> | 2021-02-09 18:25:57 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-09 18:25:57 +0100 |
| commit | 3a7fa41857394cd2d90d00891413c12fada039c3 (patch) | |
| tree | bff862cb4e8f3623fe167f1105e9f1dac72dfb95 /lua/telescope/previewers/buffer_previewer.lua | |
| parent | 993e383dd5356bf10c5cf2b5d0ac88f9c7746181 (diff) | |
fix: all git builtin respect cwd now (#517)
Diffstat (limited to 'lua/telescope/previewers/buffer_previewer.lua')
| -rw-r--r-- | lua/telescope/previewers/buffer_previewer.lua | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lua/telescope/previewers/buffer_previewer.lua b/lua/telescope/previewers/buffer_previewer.lua index 0d097b9..352bd46 100644 --- a/lua/telescope/previewers/buffer_previewer.lua +++ b/lua/telescope/previewers/buffer_previewer.lua @@ -393,7 +393,7 @@ previewers.man = defaulter(function(opts) } end) -previewers.git_branch_log = defaulter(function(_) +previewers.git_branch_log = defaulter(function(opts) local highlight_buffer = function(bufnr, content) for i = 1, #content do local line = content[i] @@ -418,7 +418,7 @@ previewers.git_branch_log = defaulter(function(_) end end - local remotes = utils.get_os_command_output{ 'git', 'remote' } + local remotes = utils.get_os_command_output({ 'git', 'remote' }, opts.cwd) return previewers.new_buffer_previewer { get_buffer_by_name = function(_, entry) return entry.value @@ -450,13 +450,14 @@ previewers.git_branch_log = defaulter(function(_) putils.job_maker(gen_cmd(entry.value), self.state.bufnr, { value = entry.value, bufname = self.state.bufname, + cwd = opts.cwd, callback = handle_results }) end } end, {}) -previewers.git_commit_diff = defaulter(function(_) +previewers.git_commit_diff = defaulter(function(opts) return previewers.new_buffer_previewer { get_buffer_by_name = function(_, entry) return entry.value @@ -465,21 +466,22 @@ previewers.git_commit_diff = defaulter(function(_) define_preview = function(self, entry, status) putils.job_maker({ 'git', '-P', 'diff', entry.value .. '^!' }, self.state.bufnr, { value = entry.value, - bufname = self.state.bufname + bufname = self.state.bufname, + cwd = opts.cwd }) putils.regex_highlighter(self.state.bufnr, 'diff') end } end, {}) -previewers.git_file_diff = defaulter(function(_) +previewers.git_file_diff = defaulter(function(opts) return previewers.new_buffer_previewer { get_buffer_by_name = function(_, entry) return entry.value end, define_preview = function(self, entry, status) - if entry.status and entry.status == '??' then + if entry.status and (entry.status == '??' or entry.status == 'A ') then local p = from_entry.path(entry, true) if p == nil or p == '' then return end conf.buffer_previewer_maker(p, self.state.bufnr, { @@ -488,7 +490,8 @@ previewers.git_file_diff = defaulter(function(_) else putils.job_maker({ 'git', '-P', 'diff', entry.value }, self.state.bufnr, { value = entry.value, - bufname = self.state.bufname + bufname = self.state.bufname, + cwd = opts.cwd }) putils.regex_highlighter(self.state.bufnr, 'diff') end |
