29 lines
607 B
Lua
29 lines
607 B
Lua
local test_line = "/home/tj/hello/world.lua"
|
|
|
|
local function fast_split(line, split)
|
|
-- local split_line = vim.split(line, split)
|
|
local areas = {}
|
|
|
|
local processed = 1
|
|
local line_length = #line + 1
|
|
|
|
local part, start
|
|
repeat
|
|
start = string.find(line, split, processed, true) or line_length
|
|
part = string.sub(line, processed, start - 1)
|
|
|
|
if start - processed > 0 then
|
|
table.insert(areas, {
|
|
word = part,
|
|
offset = processed
|
|
})
|
|
end
|
|
|
|
processed = start + 1
|
|
until start == line_length
|
|
|
|
return areas
|
|
end
|
|
|
|
print(vim.inspect(fast_split(test_line, '/')))
|