summaryrefslogtreecommitdiff
path: root/lua/telescope/make_entry.lua
diff options
context:
space:
mode:
authorSimon Hauser <Simon-Hauser@outlook.de>2022-10-25 21:22:17 +0200
committerGitHub <noreply@github.com>2022-10-25 21:22:17 +0200
commit9cf465894a61b840f6ab9e757223d21b8005cff9 (patch)
tree1dbfdbc5d8c730182b74271146dfc1ab4f95d4ec /lua/telescope/make_entry.lua
parent5c7db4055d89f9057d562f4f8b9d03189c9f9786 (diff)
fix: rg invert and files-with-matches res line parsing (#2208)
Diffstat (limited to 'lua/telescope/make_entry.lua')
-rw-r--r--lua/telescope/make_entry.lua25
1 files changed, 19 insertions, 6 deletions
diff --git a/lua/telescope/make_entry.lua b/lua/telescope/make_entry.lua
index 409da21..2a17f80 100644
--- a/lua/telescope/make_entry.lua
+++ b/lua/telescope/make_entry.lua
@@ -244,12 +244,23 @@ do
return { filename, lnum, nil, text }
end
+ local parse_only_filename = function(t)
+ t.filename = t.value
+ t.lnum = nil
+ t.col = nil
+ t.text = ""
+
+ return { t.filename, nil, nil, "" }
+ end
+
function make_entry.gen_from_vimgrep(opts)
opts = opts or {}
local mt_vimgrep_entry
local parse = parse_with_col
- if opts.__inverted == true then
+ if opts.__matches == true then
+ parse = parse_only_filename
+ elseif opts.__inverted == true then
parse = parse_without_col
end
@@ -290,7 +301,7 @@ do
end
end
- local display_string = "%s:%s%s"
+ local display_string = "%s%s%s"
mt_vimgrep_entry = {
cwd = vim.fn.expand(opts.cwd or vim.loop.cwd()),
@@ -300,10 +311,12 @@ do
local coordinates = ""
if not disable_coordinates then
- if entry.col then
- coordinates = string.format("%s:%s:", entry.lnum, entry.col)
- else
- coordinates = string.format("%s:", entry.lnum)
+ if entry.lnum then
+ if entry.col then
+ coordinates = string.format(":%s:%s:", entry.lnum, entry.col)
+ else
+ coordinates = string.format(":%s:", entry.lnum)
+ end
end
end