Skip to content

Commit ba1e674

Browse files
authored
fix: update to newer code (#744)
1 parent 2ebbf7f commit ba1e674

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

lua/telescope/builtin/init.lua

+1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ builtin.filetypes = require('telescope.builtin.internal').filetypes
6060
builtin.highlights = require('telescope.builtin.internal').highlights
6161
builtin.autocommands = require('telescope.builtin.internal').autocommands
6262
builtin.spell_suggest = require('telescope.builtin.internal').spell_suggest
63+
builtin.tagstack = require('telescope.builtin.internal').tagstack
6364

6465
builtin.lsp_references = require('telescope.builtin.lsp').references
6566
builtin.lsp_definitions = require('telescope.builtin.lsp').definitions

lua/telescope/builtin/internal.lua

+41
Original file line numberDiff line numberDiff line change
@@ -862,6 +862,47 @@ internal.spell_suggest = function(opts)
862862
}):find()
863863
end
864864

865+
internal.tagstack = function(opts)
866+
opts = opts or {}
867+
local tagstack = vim.fn.gettagstack()
868+
if vim.tbl_isempty(tagstack.items) then
869+
print("No tagstack available")
870+
return
871+
end
872+
873+
for _, value in pairs(tagstack.items) do
874+
value.valid = true
875+
value.bufnr = value.from[1]
876+
value.lnum = value.from[2]
877+
value.col = value.from[3]
878+
value.filename = vim.fn.bufname(value.from[1])
879+
880+
value.text = vim.api.nvim_buf_get_lines(
881+
value.bufnr,
882+
value.lnum - 1,
883+
value.lnum,
884+
false
885+
)[1]
886+
end
887+
888+
-- reverse the list
889+
local tags = {}
890+
for i = #tagstack.items, 1, -1 do
891+
tags[#tags+1] = tagstack.items[i]
892+
end
893+
894+
pickers.new(opts, {
895+
prompt_title = 'TagStack',
896+
finder = finders.new_table {
897+
results = tags,
898+
entry_maker = make_entry.gen_from_quickfix(opts),
899+
},
900+
previewer = previewers.vim_buffer_qflist.new(opts),
901+
sorter = conf.generic_sorter(opts),
902+
}):find()
903+
end
904+
905+
865906
local function apply_checks(mod)
866907
for k, v in pairs(mod) do
867908
mod[k] = function(opts)

lua/telescope/make_entry.lua

+1
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ function make_entry.gen_from_quickfix(opts)
317317
) .. ' ' .. entry.text,
318318
display = make_display,
319319

320+
bufnr = entry.bufnr,
320321
filename = filename,
321322
lnum = entry.lnum,
322323
col = entry.col,

0 commit comments

Comments
 (0)