@@ -56,6 +56,38 @@ function M.create_display_window()
5656
5757 -- vim.keymap.set("n", "c", M.map_column_navigator)
5858
59+ vim .keymap .set (" n" , " [c" , function ()
60+ local query = require (" sqlflick.query" )
61+ local cursor_column = query .get_column_under_cursor ()
62+ local cursor_pos = vim .api .nvim_win_get_cursor (0 )
63+ local line_num = cursor_pos [1 ]
64+ if nil == cursor_column then
65+ if cursor_pos [2 ] == 0 then
66+ cursor_column = 1
67+ else
68+ cursor_column = query .get_column_number ()
69+ end
70+ end
71+ local column_start_pos = query .get_column_start_pos (cursor_column - 1 )
72+ vim .fn .cursor (line_num , column_start_pos )
73+ end , { desc = " Move cursor to previous column" })
74+
75+ vim .keymap .set (" n" , " ]c" , function ()
76+ local query = require (" sqlflick.query" )
77+ local cursor_pos = vim .api .nvim_win_get_cursor (0 )
78+ local line_num = cursor_pos [1 ]
79+ local cursor_column = query .get_column_under_cursor ()
80+ if nil == cursor_column then
81+ if cursor_pos [2 ] == 0 then
82+ cursor_column = 1
83+ else
84+ cursor_column = query .get_column_number ()
85+ end
86+ end
87+ local column_start_pos = query .get_column_start_pos (cursor_column + 1 )
88+ vim .fn .cursor (line_num , column_start_pos )
89+ end , { desc = " Move cursor to next column" })
90+
5991 vim .keymap .set (" n" , " W" , function ()
6092 local query = require (" sqlflick.query" )
6193 local column_index = query .get_column_under_cursor ()
@@ -119,7 +151,7 @@ function M.map_column_navigator()
119151 local cursor_pos = vim .api .nvim_win_get_cursor (0 )
120152 local line_num = cursor_pos [1 ]
121153 vim .fn .cursor (line_num , column_start_pos )
122- end )
154+ end , { desc = " Navigate cursor to column " } )
123155 end
124156end
125157
0 commit comments