~martanne/devel

vis: complete-filename: speed-up the tilda handling v1 APPLIED

Matěj Cepl: 1
 complete-filename: speed-up the tilda handling

 1 files changed, 3 insertions(+), 2 deletions(-)
#1425197 alpine.yml success
#1425198 debian.yml success
#1425199 freebsd.yml success
#1425200 openbsd.yml success
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~martanne/devel/patches/57359/mbox | git am -3
Learn more about email & git

[PATCH vis] complete-filename: speed-up the tilda handling Export this patch

When profiling (on 100,000 calls) with this test:

```lua
start_t = os.clock()
for i = 1, 100000 do
    _ = home .. prefix
end
end_t = os.clock()
print(end_t - start_t)
```

I get on my computer this (warm):

    os.getenv("HOME") 0.005506
    str:gsub("^~", home) 0.009333
    str:find("^~") 0.006041
    str:sub(2) 0.005455
    a .. b 0.003603

Difference between gsub and sub + .. seems negligible, but just
to make it correct, here we are.
---
Note to myself: attaching new patch to the old thread via --in-reply-to makes the patch lost.


 lua/plugins/complete-filename.lua | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lua/plugins/complete-filename.lua b/lua/plugins/complete-filename.lua
index 02b9f3a9..604361c2 100644
--- a/lua/plugins/complete-filename.lua
+++ b/lua/plugins/complete-filename.lua
@@ -23,9 +23,10 @@ local complete_filename = function(expand)
	end

	-- Expand tilda for the home directory
	if prefix:find('^~') then
	_, j = prefix:find('^~')
	if j ~= nil then
		local home = assert(os.getenv("HOME"), "$HOME variable not set!")
		prefix = prefix:gsub("^~", home, 1)
		prefix = home .. prefix:sub(j + 1)
	end

	local cmdfmt = "vis-complete --file '%s'"
-- 
2.48.1
vis/patches: SUCCESS in 1m26s

[complete-filename: speed-up the tilda handling][0] from [~mcepl][1]

[0]: https://lists.sr.ht/~martanne/devel/patches/57359
[1]: mailto:mcepl@cepl.eu

✓ #1425198 SUCCESS vis/patches/debian.yml  https://builds.sr.ht/~martanne/job/1425198
✓ #1425197 SUCCESS vis/patches/alpine.yml  https://builds.sr.ht/~martanne/job/1425197
✓ #1425199 SUCCESS vis/patches/freebsd.yml https://builds.sr.ht/~martanne/job/1425199
✓ #1425200 SUCCESS vis/patches/openbsd.yml https://builds.sr.ht/~martanne/job/1425200
Matěj Cepl <mcepl@cepl.eu> wrote:
Matěj Cepl <mcepl@cepl.eu> wrote: