mirror of
https://github.com/chenasraf/watchr.git
synced 2026-05-17 17:28:06 +00:00
feat: resize preview pane with +/-
This commit is contained in:
@@ -474,6 +474,19 @@ func (m *model) handleKeyPress(msg tea.KeyMsg) (tea.Model, tea.Cmd) {
|
||||
case "p":
|
||||
m.showPreview = !m.showPreview
|
||||
m.adjustOffset() // Keep selected line visible after preview toggle
|
||||
case "+", "=":
|
||||
if m.showPreview {
|
||||
m.config.PreviewSize += previewSizeStep(m.config.PreviewSizeIsPercent)
|
||||
m.adjustOffset()
|
||||
}
|
||||
case "-":
|
||||
if m.showPreview {
|
||||
step := previewSizeStep(m.config.PreviewSizeIsPercent)
|
||||
if m.config.PreviewSize > step {
|
||||
m.config.PreviewSize -= step
|
||||
m.adjustOffset()
|
||||
}
|
||||
}
|
||||
case "r", "ctrl+r":
|
||||
// Restart streaming and reset auto-refresh timer
|
||||
m.refreshGeneration++
|
||||
@@ -545,6 +558,13 @@ func (m *model) adjustOffset() {
|
||||
m.offset = idealOffset
|
||||
}
|
||||
|
||||
func previewSizeStep(isPercent bool) int {
|
||||
if isPercent {
|
||||
return 5
|
||||
}
|
||||
return 2
|
||||
}
|
||||
|
||||
func (m model) previewSize() int {
|
||||
if m.config.PreviewSizeIsPercent {
|
||||
if m.config.PreviewPosition == PreviewLeft || m.config.PreviewPosition == PreviewRight {
|
||||
@@ -760,6 +780,7 @@ func (m model) renderHelpOverlay() (box string, boxWidth, boxHeight int) {
|
||||
{"Ctrl+f / Ctrl+b", "Full page down / up"},
|
||||
{"", ""},
|
||||
{"p", "Toggle preview pane"},
|
||||
{"+/-", "Resize preview pane"},
|
||||
{"/", "Enter filter mode"},
|
||||
{"//", "Toggle regex filter mode"},
|
||||
{"Esc", "Exit filter / clear"},
|
||||
|
||||
Reference in New Issue
Block a user