search: show snippets for all matches within a file
This commit is contained in:
parent
04a3448696
commit
ead10db8a1
13
commands.lua
13
commands.lua
|
@ -835,15 +835,18 @@ function search_in_file(filename)
|
|||
if contents == nil then
|
||||
error('no contents in '..filename)
|
||||
end
|
||||
local index = contents:find(Display_settings.search_all_term)
|
||||
local index = contents:find(Display_settings.search_all_term, 1, --[[literal pattern]] true)
|
||||
if index then
|
||||
local id = id_for_search_all_pane(Display_settings.search_all_term)
|
||||
local snippet = contents:sub(math.max(1, index-100), math.min(#contents, index+100))
|
||||
local outfilename = Directory..id
|
||||
local success, errmsg = love.filesystem.append(outfilename, '[['..filename..']]\t')
|
||||
if not success then error(errmsg) end
|
||||
local success, errmsg = love.filesystem.append(outfilename, '...'..snippet..'...\n\n')
|
||||
local success, errmsg = love.filesystem.append(outfilename, '[['..filename..']]\n')
|
||||
if not success then error(errmsg) end
|
||||
while index do
|
||||
local snippet = contents:sub(math.max(1, index-100), math.min(#contents, index+100))
|
||||
local success, errmsg = love.filesystem.append(outfilename, '...'..snippet..'...\n\n')
|
||||
if not success then error(errmsg) end
|
||||
index = contents:find(Display_settings.search_all_term, index+1, --[[literal pattern]] true)
|
||||
end
|
||||
load_from_disk(Cache[id])
|
||||
Display_settings.search_all_pane.lines = Cache[id].lines
|
||||
Text.redraw_all(Display_settings.search_all_pane)
|
||||
|
|
Loading…
Reference in New Issue
Block a user