Refactor builtin (#287)

This commit is contained in:
Simon Hauser
2020-11-26 08:16:58 +01:00
committed by GitHub
parent 0f9fd84a97
commit 4a8ea7763e
6 changed files with 1098 additions and 1006 deletions

View File

@@ -474,6 +474,7 @@ previewers.ctags = defaulter(function(_)
vim.api.nvim_win_set_option(status.preview_win, 'scrolloff', 999)
pcall(vim.fn.matchdelete, self.state.hl_id, self.state.hl_win)
vim.cmd "norm! gg"
vim.fn.search(scode)
self.state.hl_win = status.preview_win
@@ -483,6 +484,45 @@ previewers.ctags = defaulter(function(_)
}
end, {})
previewers.builtin = defaulter(function(_)
return previewers.new_buffer_previewer {
setup = function()
return {}
end,
teardown = function(self)
if self.state and self.state.hl_id then
pcall(vim.fn.matchdelete, self.state.hl_id, self.state.hl_win)
self.state.hl_id = nil
end
end,
preview_fn = function(self, entry, status)
with_preview_window(status, nil, function()
local module_name = vim.fn.fnamemodify(entry.filename, ':t:r')
local text = module_name .. '\\.' .. entry.text
local new_bufnr = vim.fn.bufnr(entry.filename, true)
vim.fn.bufload(new_bufnr)
vim.api.nvim_win_set_buf(status.preview_win, new_bufnr)
vim.api.nvim_win_set_option(status.preview_win, 'wrap', false)
vim.api.nvim_win_set_option(status.preview_win, 'winhl', 'Normal:Normal')
vim.api.nvim_win_set_option(status.preview_win, 'signcolumn', 'no')
vim.api.nvim_win_set_option(status.preview_win, 'foldlevel', 100)
vim.api.nvim_win_set_option(status.preview_win, 'scrolloff', 999)
pcall(vim.fn.matchdelete, self.state.hl_id, self.state.hl_win)
vim.cmd "norm! gg"
vim.fn.search(text)
self.state.hl_win = status.preview_win
self.state.hl_id = vim.fn.matchadd('Search', text)
end)
end
}
end, {})
previewers.qflist = defaulter(function(opts)
opts = opts or {}