vis-config

lua scripts to configure vis editor

git clone https://9o.is/git/vis-config.git

commit 5d02bbbbd8533893b907ceed594e57efe3967f99
parent ce5fa6ba19d7a0f8a1829ec9d7cc79bb5a3da0dd
Author: Jul <jul@9o.is>
Date:   Thu, 26 Feb 2026 02:46:50 +0800

fix search path for files not in cwd

Diffstat:
Mlib/search.lua | 14+++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/lib/search.lua b/lib/search.lua @@ -35,6 +35,14 @@ local function exists(path) end end +local function getpath(win) + local fn = win.file.name + if fn and fn:sub(1,1) == '/' then + return dirname(fn) + end + return win.scope +end + local function run(command, onsuccess, fullscreen) vis.ui:showcursor(true) @@ -52,12 +60,12 @@ local function run(command, onsuccess, fullscreen) end vis:command_register('find', function(argv, _, win) - local command = M.find:gsub('{path}', win.scope) + local command = M.find:gsub('{path}', getpath(win)) return run(command, win.navigate) end, 'Find files') vis:command_register('dfind', function(_, _, win) - local command = M.dfind:gsub('{path}', win.scope) + local command = M.dfind:gsub('{path}', getpath(win)) return run(command, win.navigate) end, 'Find directories') @@ -73,7 +81,7 @@ vis:command_register('grep', function(argv, _, win) pattern = pattern:gsub(M.grep_wrap, '\\'..M.grep_wrap) pattern = string.format('%s%s%s', M.grep_wrap, pattern, M.grep_wrap) - local command = M.grep:gsub('{pattern}', pattern):gsub('{path}', win.scope) + local command = M.grep:gsub('{pattern}', pattern):gsub('{path}', getpath(win)) return run(command, function(out) out = split(out, ':')