diff --git a/internal/ui/filterlist/filterlist.go b/internal/ui/filterlist/filterlist.go index 12cb819..a65ab92 100644 --- a/internal/ui/filterlist/filterlist.go +++ b/internal/ui/filterlist/filterlist.go @@ -15,6 +15,7 @@ type Model struct { Height int Width int CharLimit int + Border bool focus bool state *commit.State @@ -36,6 +37,7 @@ func New(state *commit.State) Model { Height: defaultHeight, Width: defaultWidth, CharLimit: defaultCharLimit, + Border: true, state: state, styles: defaultStyles(state.Theme), } @@ -119,6 +121,10 @@ func (m Model) View() string { p := m.styles.paginatorBoundary.Render(m.stylePaginatorColumn()) ep := lipgloss.JoinHorizontal(lipgloss.Top, e, p) + if !m.Border { + return ep + } + if m.focus || !m.state.Config.View.HighlightActive { return m.styles.focusBoundary.Height(m.Height - 1).Render(ep) } diff --git a/internal/ui/filterlist/filterlist_test.go b/internal/ui/filterlist/filterlist_test.go index d88334d..5b90fd6 100644 --- a/internal/ui/filterlist/filterlist_test.go +++ b/internal/ui/filterlist/filterlist_test.go @@ -378,6 +378,23 @@ func TestModel(t *testing.T) { m.SetHeight(5) m, _ = filterlist.ToModel(m.Update(nil)) + return m + }, + }, + }, + { + name: "no_border", + args: args{ + items: []MockItem{ + {title: "item 1"}, + {title: "item 2"}, + {title: "item 3"}, + }, + title: "test", + model: func(m filterlist.Model) filterlist.Model { + m.Border = false + m, _ = filterlist.ToModel(m.Update(nil)) + return m }, }, diff --git a/internal/ui/filterlist/testdata/no_border.golden b/internal/ui/filterlist/testdata/no_border.golden new file mode 100644 index 0000000..5bb0c62 --- /dev/null +++ b/internal/ui/filterlist/testdata/no_border.golden @@ -0,0 +1,3 @@ +? test ● +❯ item 1 ○ + item 2 \ No newline at end of file