aboutsummaryrefslogtreecommitdiff
path: root/lua/startup/utils.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/startup/utils.lua')
-rw-r--r--lua/startup/utils.lua66
1 files changed, 66 insertions, 0 deletions
diff --git a/lua/startup/utils.lua b/lua/startup/utils.lua
index d62c413..0734a38 100644
--- a/lua/startup/utils.lua
+++ b/lua/startup/utils.lua
@@ -6,6 +6,8 @@ local colors = {
tools_fg = "#009900",
}
+U.cursor_pos = vim.api.nvim_win_get_cursor(0)
+
function U.spaces(amount)
return string.rep(" ", amount)
end
@@ -54,6 +56,70 @@ function U.get_oldfiles_directory(amount)
return oldfiles
end
+-- BUG: check if cursor could get out of bounds
+function U.reposition_cursor()
+ if vim.o.filetype ~= "startup" then
+ return
+ end
+ local column = math.floor(vim.o.columns / 2)
+ print "U.cursor_pos:"
+ dump(U.cursor_pos)
+ local new_cursor_pos = vim.api.nvim_win_get_cursor(0)
+ if
+ vim.trim(vim.api.nvim_get_current_line()) ~= ""
+ and new_cursor_pos[2] == column
+ then
+ print "returned"
+ return
+ elseif
+ vim.trim(vim.api.nvim_get_current_line()) ~= ""
+ and new_cursor_pos[2] > column
+ and new_cursor_pos[1] == U.cursor_pos[1]
+ then
+ local i = 1
+ vim.api.nvim_win_set_cursor(0, { new_cursor_pos[1] + i, column })
+ while vim.trim(vim.api.nvim_get_current_line()) == "" do
+ vim.api.nvim_win_set_cursor(0, { new_cursor_pos[1] + i, column })
+ i = i + 1
+ end
+ elseif
+ vim.trim(vim.api.nvim_get_current_line()) ~= ""
+ and new_cursor_pos[2] < column
+ and new_cursor_pos[1] == U.cursor_pos[1]
+ then
+ local i = 1
+ vim.api.nvim_win_set_cursor(0, { new_cursor_pos[1] - i, column })
+ while vim.trim(vim.api.nvim_get_current_line()) == "" do
+ vim.api.nvim_win_set_cursor(0, { new_cursor_pos[1] - i, column })
+ i = i + 1
+ end
+ elseif
+ vim.trim(vim.api.nvim_get_current_line()) == ""
+ and new_cursor_pos[1] < U.cursor_pos[1]
+ then
+ local i = 1
+ vim.api.nvim_win_set_cursor(0, { new_cursor_pos[1] - i, column })
+ while vim.trim(vim.api.nvim_get_current_line()) == "" do
+ vim.api.nvim_win_set_cursor(0, { new_cursor_pos[1] - i, column })
+ i = i + 1
+ end
+ elseif
+ vim.trim(vim.api.nvim_get_current_line()) == ""
+ and new_cursor_pos[1] > U.cursor_pos[1]
+ then
+ local i = 1
+ vim.api.nvim_win_set_cursor(0, { new_cursor_pos[1] + i, column })
+ while vim.trim(vim.api.nvim_get_current_line()) == "" do
+ vim.api.nvim_win_set_cursor(0, { new_cursor_pos[1] + i, column })
+ i = i + 1
+ end
+ end
+
+ U.cursor_pos = vim.api.nvim_win_get_cursor(0)
+ print "new_cursor_pos:"
+ dump(new_cursor_pos)
+end
+
function U.longest_line(lines)
local longest = 0
for _, line in ipairs(lines) do