handle line wrapping in jump mode
This commit is contained in:
parent
5a891fde67
commit
da3cd9f267
|
@ -66,7 +66,6 @@ module Fingers
|
|||
return nil if offset.nil?
|
||||
|
||||
`tmux copy-mode -t #{original_pane.pane_id}`
|
||||
`tmux send-keys -t #{original_pane.pane_id} -X start-of-line`
|
||||
`tmux send-keys -t #{original_pane.pane_id} -X top-line`
|
||||
`tmux send-keys -t #{original_pane.pane_id} -N #{offset.not_nil![0]} -X cursor-down`
|
||||
`tmux send-keys -t #{original_pane.pane_id} -N #{offset.not_nil![1]} -X cursor-right`
|
||||
|
|
|
@ -133,7 +133,7 @@ module Fingers::Commands
|
|||
end
|
||||
|
||||
private getter pane_contents : Array(String) do
|
||||
tmux.capture_pane(target_pane).split("\n")
|
||||
tmux.capture_pane(target_pane, join: mode != "jump").split("\n")
|
||||
end
|
||||
|
||||
private getter view : View do
|
||||
|
|
|
@ -148,15 +148,15 @@ class Tmux
|
|||
Pane.from_json(output)
|
||||
end
|
||||
|
||||
def capture_pane(pane : Pane)
|
||||
def capture_pane(pane : Pane, join = true)
|
||||
if pane.pane_in_mode && !pane.scroll_position.nil?
|
||||
scroll_position = pane.scroll_position.not_nil!
|
||||
start_line = -scroll_position.to_i
|
||||
end_line = pane.pane_height.to_i - scroll_position.to_i - 1
|
||||
|
||||
exec("capture-pane -J -p -t '#{pane.pane_id}' -S #{start_line} -E #{end_line}").chomp
|
||||
exec("capture-pane #{join ? "-J" : ""} -p -t '#{pane.pane_id}' -S #{start_line} -E #{end_line}").chomp
|
||||
else
|
||||
exec("capture-pane -J -p -t '#{pane.pane_id}'").chomp
|
||||
exec("capture-pane #{join ? "-J" : ""} -p -t '#{pane.pane_id}'").chomp
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue