summaryrefslogtreecommitdiff
path: root/lua/telescope/previewers/buffer_previewer.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/telescope/previewers/buffer_previewer.lua')
-rw-r--r--lua/telescope/previewers/buffer_previewer.lua47
1 files changed, 34 insertions, 13 deletions
diff --git a/lua/telescope/previewers/buffer_previewer.lua b/lua/telescope/previewers/buffer_previewer.lua
index 0db4365..f9e77d2 100644
--- a/lua/telescope/previewers/buffer_previewer.lua
+++ b/lua/telescope/previewers/buffer_previewer.lua
@@ -386,6 +386,10 @@ previewers.new_buffer_previewer = function(opts)
opts.define_preview(self, entry, status)
vim.schedule(function()
+ if not self or not self.state or not self.state.bufnr then
+ return
+ end
+
if vim.api.nvim_buf_is_valid(self.state.bufnr) then
vim.api.nvim_buf_call(self.state.bufnr, function()
vim.cmd "do User TelescopePreviewerLoaded"
@@ -715,8 +719,12 @@ previewers.git_stash_diff = defaulter(function(opts)
value = entry.value,
bufname = self.state.bufname,
cwd = opts.cwd,
+ callback = function(bufnr)
+ if vim.api.nvim_buf_is_valid(bufnr) then
+ putils.regex_highlighter(bufnr, "diff")
+ end
+ end,
})
- putils.regex_highlighter(self.state.bufnr, "diff")
end,
}
end, {})
@@ -741,10 +749,12 @@ previewers.git_commit_diff_to_parent = defaulter(function(opts)
bufname = self.state.bufname,
cwd = opts.cwd,
callback = function(bufnr)
- search_cb_jump(self, bufnr, opts.current_line)
+ if vim.api.nvim_buf_is_valid(bufnr) then
+ search_cb_jump(self, bufnr, opts.current_line)
+ putils.regex_highlighter(bufnr, "diff")
+ end
end,
})
- putils.regex_highlighter(self.state.bufnr, "diff")
end,
}
end, {})
@@ -770,10 +780,12 @@ previewers.git_commit_diff_to_head = defaulter(function(opts)
bufname = self.state.bufname,
cwd = opts.cwd,
callback = function(bufnr)
- search_cb_jump(self, bufnr, opts.current_line)
+ if vim.api.nvim_buf_is_valid(bufnr) then
+ search_cb_jump(self, bufnr, opts.current_line)
+ putils.regex_highlighter(bufnr, "diff")
+ end
end,
})
- putils.regex_highlighter(self.state.bufnr, "diff")
end,
}
end, {})
@@ -799,10 +811,12 @@ previewers.git_commit_diff_as_was = defaulter(function(opts)
bufname = self.state.bufname,
cwd = opts.cwd,
callback = function(bufnr)
- search_cb_jump(self, bufnr, opts.current_line)
+ if vim.api.nvim_buf_is_valid(bufnr) then
+ search_cb_jump(self, bufnr, opts.current_line)
+ putils.regex_highlighter(bufnr, ft)
+ end
end,
})
- putils.highlighter(self.state.bufnr, ft)
end,
}
end, {})
@@ -864,8 +878,12 @@ previewers.git_file_diff = defaulter(function(opts)
value = entry.value,
bufname = self.state.bufname,
cwd = opts.cwd,
+ callback = function(bufnr)
+ if vim.api.nvim_buf_is_valid(bufnr) then
+ putils.regex_highlighter(bufnr, "diff")
+ end
+ end,
})
- putils.regex_highlighter(self.state.bufnr, "diff")
end
end,
}
@@ -881,12 +899,12 @@ previewers.autocommands = defaulter(function(_)
end,
get_buffer_by_name = function(_, entry)
- return entry.group
+ return entry.value.group_name
end,
define_preview = function(self, entry, status)
local results = vim.tbl_filter(function(x)
- return x.group == entry.group
+ return x.value.group_name == entry.value.group_name
end, status.picker.finder.results)
if self.state.last_set_bufnr then
@@ -894,9 +912,9 @@ previewers.autocommands = defaulter(function(_)
end
local selected_row = 0
- if self.state.bufname ~= entry.group then
+ if self.state.bufname ~= entry.value.group_name then
local display = {}
- table.insert(display, string.format(" augroup: %s - [ %d entries ]", entry.group, #results))
+ table.insert(display, string.format(" augroup: %s - [ %d entries ]", entry.value.group_name, #results))
-- TODO: calculate banner width/string in setup()
-- TODO: get column characters to be the same HL group as border
table.insert(display, string.rep("─", vim.fn.getwininfo(status.preview_win)[1].width))
@@ -905,7 +923,10 @@ previewers.autocommands = defaulter(function(_)
if item == entry then
selected_row = idx
end
- table.insert(display, string.format(" %-14sā–%-08s %s", item.event, item.ft_pattern, item.command))
+ table.insert(
+ display,
+ string.format(" %-14sā–%-08s %s", item.value.event, item.value.ft_pattern, item.value.command)
+ )
end
vim.api.nvim_buf_set_option(self.state.bufnr, "filetype", "vim")