25 lines
721 B
Text
25 lines
721 B
Text
# 1. Find actual visual column width of content area
|
|
# 2. Parse current cursor position and buffer line content
|
|
# 3. Split the logical line into chunks based on wrap width
|
|
# 4. Move cursor to the same column offset on the wrapped line
|
|
|
|
define-command visual-vertical -params 1 %{
|
|
execute-keys %sh{
|
|
line="$kak_cursor_line"
|
|
col="$kak_cursor_column"
|
|
width="$kak_window_width"
|
|
count="$kak_buf_line_count"
|
|
path="$kak_buffile"
|
|
session="$kak_session"
|
|
distance=$($kak_config/scripts/nav.py "$session" "$line" "$col" "$width" "$count" "$path" "$1")
|
|
echo "$distance"
|
|
# TODO: figure out how to jump to this column?
|
|
} %sh{
|
|
if [ "$1" = "up" ]; then
|
|
echo h
|
|
else
|
|
echo l
|
|
fi
|
|
}
|
|
}
|
|
|