From 48820cb1a0ba7213c08748f8c2bd04e4d0a7ed62 Mon Sep 17 00:00:00 2001 From: Nolan Prochnau Date: Mon, 9 Nov 2020 22:05:02 -0500 Subject: Grab helptags from all paths defined in rtp --- lua/telescope/builtin.lua | 16 +++++++--------- lua/telescope/make_entry.lua | 37 +++++++------------------------------ 2 files changed, 14 insertions(+), 39 deletions(-) (limited to 'lua') diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua index d4030ae..a84a46b 100644 --- a/lua/telescope/builtin.lua +++ b/lua/telescope/builtin.lua @@ -486,16 +486,14 @@ end builtin.help_tags = function(opts) opts = opts or {} - local sourced_file = require('plenary.debug_utils').sourced_filepath() - local base_directory = vim.fn.fnamemodify(sourced_file, ":h:h:h") - local file = base_directory .. "/data/help/tags" - local tags = {} - local f = assert(io.open(file, "rb")) - for line in f:lines() do - table.insert(tags, line) - end - f:close() + for _, file in pairs(vim.fn.findfile('doc/tags', vim.o.runtimepath, -1)) do + local f = assert(io.open(file, "rb")) + for line in f:lines() do + table.insert(tags, line) + end + f:close() + end pickers.new(opts, { prompt_title = 'Help', diff --git a/lua/telescope/make_entry.lua b/lua/telescope/make_entry.lua index 7707122..c19acde 100644 --- a/lua/telescope/make_entry.lua +++ b/lua/telescope/make_entry.lua @@ -365,38 +365,15 @@ function make_entry.gen_from_treesitter(opts) end end -function make_entry.gen_from_tagfile(opts) - local help_entry, version - local delim = string.char(7) +function make_entry.gen_from_tagfile(_) + local delim = string.char(9) local make_display = function(line) - help_entry = "" - display = "" - version = "" - - line = line .. delim - for section in line:gmatch("(.-)" .. delim) do - if section:find("^vim:") == nil then - local ver = section:match("^neovim:(.*)") - if ver == nil then - help_entry = section - else - version = ver:sub(1, -2) - end - end - end - - result = {} - if version ~= "" then -- some Vim only entries are unversioned - if opts.show_version then - result.display = string.format("%s [%s]", help_entry, version) - else - result.display = help_entry - end - result.value = help_entry - end - - return result + local help_entry = (line..delim):match("(.-)" .. delim) + return { + display = help_entry, + value = help_entry + } end return function(line) -- cgit v1.2.3 From 1678d7cb131175a1e4c3a2507b41c19b83a35a80 Mon Sep 17 00:00:00 2001 From: Nolan Prochnau Date: Mon, 9 Nov 2020 22:18:36 -0500 Subject: Rename and simplify make_entry function --- lua/telescope/builtin.lua | 2 +- lua/telescope/make_entry.lua | 20 ++++++-------------- 2 files changed, 7 insertions(+), 15 deletions(-) (limited to 'lua') diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua index a84a46b..e1857e6 100644 --- a/lua/telescope/builtin.lua +++ b/lua/telescope/builtin.lua @@ -499,7 +499,7 @@ builtin.help_tags = function(opts) prompt_title = 'Help', finder = finders.new_table { results = tags, - entry_maker = make_entry.gen_from_tagfile(opts), + entry_maker = make_entry.gen_from_taglist(opts), }, -- TODO: previewer for Vim help previewer = previewers.help.new(opts), diff --git a/lua/telescope/make_entry.lua b/lua/telescope/make_entry.lua index c19acde..5e7d493 100644 --- a/lua/telescope/make_entry.lua +++ b/lua/telescope/make_entry.lua @@ -365,24 +365,16 @@ function make_entry.gen_from_treesitter(opts) end end -function make_entry.gen_from_tagfile(_) +function make_entry.gen_from_taglist(_) local delim = string.char(9) - local make_display = function(line) - local help_entry = (line..delim):match("(.-)" .. delim) - return { - display = help_entry, - value = help_entry - } - end - return function(line) local entry = {} - local d = make_display(line) - entry.valid = next(d) ~= nil - entry.display = d.display - entry.value = d.value - entry.ordinal = d.value + local tag = (line..delim):match("(.-)" .. delim) + entry.valid = tag ~= "" + entry.display = tag + entry.value = tag + entry.ordinal = tag return entry end -- cgit v1.2.3