Skip to content

Commit 1d02599

Browse files
committed
mod(keys): keybinding changes
t: Toggle file tree /: Search J: Down in file tree K: Up in file tree j,k,ctrl+d,ctrl+u support for embedded delta view (viewport)
1 parent 001c76e commit 1d02599

File tree

3 files changed

+20
-42
lines changed

3 files changed

+20
-42
lines changed

diffviewer.go

+3-11
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,9 @@ func (m diffModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
3737
cmds := make([]tea.Cmd, 0)
3838
switch msg := msg.(type) {
3939
case tea.KeyMsg:
40-
switch msg.String() {
41-
case "down", "j":
42-
break
43-
case "up", "k":
44-
break
45-
default:
46-
vp, vpCmd := m.vp.Update(msg)
47-
cmds = append(cmds, vpCmd)
48-
m.vp = vp
49-
}
50-
40+
vp, vpCmd := m.vp.Update(msg)
41+
cmds = append(cmds, vpCmd)
42+
m.vp = vp
5143
case diffContentMsg:
5244
m.vp.SetContent(msg.text)
5345
case dimensionsMsg:

keys.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,28 @@ type KeyMap struct {
1414

1515
var keys = &KeyMap{
1616
Up: key.NewBinding(
17-
key.WithKeys("up", "k"),
18-
key.WithHelp("↑/k", "prev file"),
17+
key.WithKeys("up", "K"),
18+
key.WithHelp("↑/K", "prev file"),
1919
),
2020
Down: key.NewBinding(
21-
key.WithKeys("down", "j"),
22-
key.WithHelp("↓/j", "next file"),
21+
key.WithKeys("down", "J"),
22+
key.WithHelp("↓/J", "next file"),
2323
),
2424
CtrlD: key.NewBinding(
2525
key.WithKeys("ctrl+d"),
26-
key.WithHelp("ctrl+d", "diff down"),
26+
key.WithHelp("j/ctrl+d", "diff down"),
2727
),
2828
CtrlU: key.NewBinding(
2929
key.WithKeys("ctrl+u"),
30-
key.WithHelp("ctrl+u", "diff up"),
30+
key.WithHelp("k/ctrl+u", "diff up"),
3131
),
3232
ToggleFileTree: key.NewBinding(
33-
key.WithKeys("e"),
34-
key.WithHelp("e", "toggle file tree"),
33+
key.WithKeys("t"),
34+
key.WithHelp("t", "toggle file tree"),
3535
),
3636
Search: key.NewBinding(
37-
key.WithKeys("t"),
38-
key.WithHelp("t", "search files"),
37+
key.WithKeys("/"),
38+
key.WithHelp("/", "search files"),
3939
),
4040
Quit: key.NewBinding(
4141
key.WithKeys("q", "ctrl+c"),

main.go

+7-21
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func newModel(input string) mainModel {
6363
m.search.KeyMap.AcceptSuggestion = key.NewBinding(key.WithKeys("tab"))
6464
m.search.Prompt = " "
6565
m.search.PromptStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("8"))
66-
m.search.Placeholder = "Filter files 🅃"
66+
m.search.Placeholder = "Filter files"
6767
m.search.PlaceholderStyle = lipgloss.NewStyle().MaxWidth(lipgloss.Width(m.search.Placeholder)).Foreground(lipgloss.Color("8"))
6868
m.search.Width = constants.OpenFileTreeWidth - 5
6969

@@ -139,24 +139,10 @@ func (m mainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
139139

140140
switch msg := msg.(type) {
141141
case tea.KeyMsg:
142-
if m.searching {
143-
switch msg.String() {
144-
case "ctrl+n":
145-
if m.searching {
146-
m.resultsCursor = min(len(m.files)-1, m.resultsCursor+1)
147-
m.resultsVp.LineDown(1)
148-
}
149-
case "ctrl+p":
150-
if m.searching {
151-
m.resultsCursor = max(0, m.resultsCursor-1)
152-
m.resultsVp.LineUp(1)
153-
}
154-
}
155-
}
156142
switch msg.String() {
157143
case "ctrl+c", "q":
158144
return m, tea.Quit
159-
case "t":
145+
case "/":
160146
m.searching = true
161147
m.search.Width = m.sidebarWidth() - 5
162148
m.search.SetValue("")
@@ -170,18 +156,18 @@ func (m mainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
170156
m.diffViewer = df
171157
cmds = append(cmds, m.search.Focus())
172158
return m, tea.Batch(cmds...)
173-
case "e":
159+
case "t":
174160
m.isShowingFileTree = !m.isShowingFileTree
175161
df, dfCmd := m.setDiffViewerDimensions()
176162
m.diffViewer = df
177163
return m, dfCmd
178-
case "up", "k", "ctrl+p":
164+
case "up", "K", "ctrl+p":
179165
if m.cursor > 0 {
180166
m.cursor--
181167
m.diffViewer, cmd = m.diffViewer.(diffModel).SetFilePatch(m.files[m.cursor])
182168
cmds = append(cmds, cmd)
183169
}
184-
case "down", "j", "ctrl+n":
170+
case "down", "J", "ctrl+n":
185171
if m.cursor < len(m.files)-1 {
186172
m.cursor++
187173
m.diffViewer, cmd = m.diffViewer.(diffModel).SetFilePatch(m.files[m.cursor])
@@ -343,8 +329,8 @@ func main() {
343329
}
344330

345331
if stat.Mode()&os.ModeNamedPipe == 0 && stat.Size() == 0 {
346-
fmt.Println("Try piping in some text.")
347-
os.Exit(1)
332+
fmt.Println("No diff")
333+
os.Exit(0)
348334
}
349335

350336
if os.Getenv("DEBUG") == "true" {

0 commit comments

Comments
 (0)