fix problem with muliple empty lines causing duplicate lines after sorting

This commit is contained in:
Navid Sassan 2022-09-10 12:49:28 +02:00
parent 31e602e8c9
commit 12e53eecd6

View File

@ -12,13 +12,16 @@ local M = {}
M.example = function() M.example = function()
local lines = {} local lines = {}
-- remove all whitespace, we will create new blocks separated by empty lines after
local last_search = vim.fn.getreg('/')
vim.api.nvim_command('g/^$/d')
vim.fn.setreg('/', last_search)
local current_line_nr = 1 local current_line_nr = 1
local buf_handle = vim.api.nvim_win_get_buf(0) local buf_handle = vim.api.nvim_win_get_buf(0)
local last_line_nr = vim.api.nvim_buf_line_count(buf_handle) local last_line_nr = vim.api.nvim_buf_line_count(buf_handle)
while (current_line_nr <= last_line_nr) do while (current_line_nr <= last_line_nr) do
-- skip empty lines -- skip empty lines
if vim.fn.getline(current_line_nr) == '' then if vim.fn.getline(current_line_nr) == '' then
print('skipping ' .. current_line_nr)
current_line_nr = current_line_nr + 1 current_line_nr = current_line_nr + 1
else else
vim.api.nvim_win_set_cursor(0, {current_line_nr, 1}) vim.api.nvim_win_set_cursor(0, {current_line_nr, 1})
@ -28,11 +31,7 @@ M.example = function()
node = parent node = parent
parent = node:parent() parent = node:parent()
end end
-- ts_utils.update_selection(0, node)
local start_row, start_column, end_row, end_column = node:range() local start_row, start_column, end_row, end_column = node:range()
-- vim.api.nvim_command(start_row + 1 .. ',' .. end_row + 1 .. 's/\\n/`')
-- print(start_row)
-- print(end_row)
lines[current_line_nr] = vim.fn.getline(start_row + 1, end_row + 1) lines[current_line_nr] = vim.fn.getline(start_row + 1, end_row + 1)
@ -64,12 +63,6 @@ M.example = function()
insert_row = insert_row + 1 insert_row = insert_row + 1
end end
end end
-- nvim_put()
-- *nvim_set_current_line()*
-- if multiline:
-- vim.api.nvim_command("'<,'>s/\\n/`")
end end