started refining splitlines command
This commit is contained in:
@@ -302,6 +302,40 @@ local function split_line()
|
|||||||
vim.api.nvim_buf_set_lines(0, row-1, row, false, formatted_items)
|
vim.api.nvim_buf_set_lines(0, row-1, row, false, formatted_items)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local BRACKETS = {
|
||||||
|
['{'] ='}',
|
||||||
|
['['] = ']',
|
||||||
|
['('] = ')'
|
||||||
|
}
|
||||||
|
local function split_line()
|
||||||
|
local line = vim.api.nvim_get_current_line()
|
||||||
|
local leading_whitespace = string.match(line, "^%s*")
|
||||||
|
local leading_indented_whitespace = leading_whitespace .. tab_whitespace
|
||||||
|
|
||||||
|
local first_bracket_i = string.find(line, "[%(%[{]")
|
||||||
|
|
||||||
|
local index_ranges = {} -- populate this list with a series of index ranges
|
||||||
|
-- An index range is a list of two numbers: start, end (inclusive)
|
||||||
|
local last_bracket_i = nil -- And find this index
|
||||||
|
|
||||||
|
local curr_string_symbol = nil
|
||||||
|
for i = first_bracket_i, #line do
|
||||||
|
local char = line:sub(i,i)
|
||||||
|
|
||||||
|
if (not curr_string_symbol) and (char == '"' or char == "'") then
|
||||||
|
curr_string_symbol = char
|
||||||
|
goto continue
|
||||||
|
end
|
||||||
|
|
||||||
|
if curr_string_symbol == char then
|
||||||
|
curr_string_symbol = nil
|
||||||
|
goto continue
|
||||||
|
end
|
||||||
|
::continue::
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
vim.keymap.set('n',
|
vim.keymap.set('n',
|
||||||
keymap.split_line,
|
keymap.split_line,
|
||||||
split_line,
|
split_line,
|
||||||
|
|||||||
Reference in New Issue
Block a user