mirror of
https://github.com/zoriya/bubbles.git
synced 2026-08-05 12:46:14 +00:00
chore(lint): fix and suppress all soft lint issues; update directives
This commit is contained in:
@@ -379,7 +379,7 @@ func (m Model) View() string {
|
||||
|
||||
disabled := !m.canSelect(name) && !f.IsDir()
|
||||
|
||||
if m.selected == i {
|
||||
if m.selected == i { //nolint:nestif
|
||||
selected := ""
|
||||
if m.ShowPermissions {
|
||||
selected += " " + info.Mode().String()
|
||||
|
||||
+6
-4
@@ -35,7 +35,7 @@ type DefaultItemStyles struct {
|
||||
func NewDefaultItemStyles() (s DefaultItemStyles) {
|
||||
s.NormalTitle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.AdaptiveColor{Light: "#1a1a1a", Dark: "#dddddd"}).
|
||||
Padding(0, 0, 0, 2)
|
||||
Padding(0, 0, 0, 2) //nolint:mnd
|
||||
|
||||
s.NormalDesc = s.NormalTitle.
|
||||
Foreground(lipgloss.AdaptiveColor{Light: "#A49FA5", Dark: "#777777"})
|
||||
@@ -51,7 +51,7 @@ func NewDefaultItemStyles() (s DefaultItemStyles) {
|
||||
|
||||
s.DimmedTitle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.AdaptiveColor{Light: "#A49FA5", Dark: "#777777"}).
|
||||
Padding(0, 0, 0, 2)
|
||||
Padding(0, 0, 0, 2) //nolint:mnd
|
||||
|
||||
s.DimmedDesc = s.DimmedTitle.
|
||||
Foreground(lipgloss.AdaptiveColor{Light: "#C2B8C2", Dark: "#4D4D4D"})
|
||||
@@ -93,11 +93,13 @@ type DefaultDelegate struct {
|
||||
|
||||
// NewDefaultDelegate creates a new delegate with default styles.
|
||||
func NewDefaultDelegate() DefaultDelegate {
|
||||
const defaultHeight = 2
|
||||
const defaultSpacing = 1
|
||||
return DefaultDelegate{
|
||||
ShowDescription: true,
|
||||
Styles: NewDefaultItemStyles(),
|
||||
height: 2,
|
||||
spacing: 1,
|
||||
height: defaultHeight,
|
||||
spacing: defaultSpacing,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -273,7 +273,7 @@ func (m *Model) SetShowTitle(v bool) {
|
||||
|
||||
// SetFilterText explicitly sets the filter text without relying on user input.
|
||||
// It also sets the filterState to a sane default of FilterApplied, but this
|
||||
// can be changed with SetFilterState
|
||||
// can be changed with SetFilterState.
|
||||
func (m *Model) SetFilterText(filter string) {
|
||||
m.filterState = Filtering
|
||||
m.FilterInput.SetValue(filter)
|
||||
@@ -289,7 +289,7 @@ func (m *Model) SetFilterText(filter string) {
|
||||
m.updateKeybindings()
|
||||
}
|
||||
|
||||
// Helper method for setting the filtering state manually
|
||||
// Helper method for setting the filtering state manually.
|
||||
func (m *Model) SetFilterState(state FilterState) {
|
||||
m.Paginator.Page = 0
|
||||
m.cursor = 0
|
||||
@@ -722,7 +722,7 @@ func (m Model) itemsAsFilterItems() filteredItems {
|
||||
|
||||
// Set keybindings according to the filter state.
|
||||
func (m *Model) updateKeybindings() {
|
||||
switch m.filterState {
|
||||
switch m.filterState { //nolint:exhaustive
|
||||
case Filtering:
|
||||
m.KeyMap.CursorUp.SetEnabled(false)
|
||||
m.KeyMap.CursorDown.SetEnabled(false)
|
||||
@@ -1153,7 +1153,7 @@ func (m Model) statusView() string {
|
||||
|
||||
itemsDisplay := fmt.Sprintf("%d %s", visibleItems, itemName)
|
||||
|
||||
if m.filterState == Filtering {
|
||||
if m.filterState == Filtering { //nolint:nestif
|
||||
// Filter results
|
||||
if visibleItems == 0 {
|
||||
status = m.Styles.StatusEmpty.Render("Nothing matched")
|
||||
@@ -1169,7 +1169,7 @@ func (m Model) statusView() string {
|
||||
|
||||
if filtered {
|
||||
f := strings.TrimSpace(m.FilterInput.Value())
|
||||
f = ansi.Truncate(f, 10, "…")
|
||||
f = ansi.Truncate(f, 10, "…") //nolint:mnd
|
||||
status += fmt.Sprintf("“%s” ", f)
|
||||
}
|
||||
|
||||
@@ -1186,7 +1186,7 @@ func (m Model) statusView() string {
|
||||
}
|
||||
|
||||
func (m Model) paginationView() string {
|
||||
if m.Paginator.TotalPages < 2 { //nolint:gomnd
|
||||
if m.Paginator.TotalPages < 2 { //nolint:mnd
|
||||
return ""
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -45,7 +45,7 @@ func DefaultStyles() (s Styles) {
|
||||
verySubduedColor := lipgloss.AdaptiveColor{Light: "#DDDADA", Dark: "#3C3C3C"}
|
||||
subduedColor := lipgloss.AdaptiveColor{Light: "#9B9B9B", Dark: "#5C5C5C"}
|
||||
|
||||
s.TitleBar = lipgloss.NewStyle().Padding(0, 0, 1, 2)
|
||||
s.TitleBar = lipgloss.NewStyle().Padding(0, 0, 1, 2) //nolint:mnd
|
||||
|
||||
s.Title = lipgloss.NewStyle().
|
||||
Background(lipgloss.Color("62")).
|
||||
@@ -65,7 +65,7 @@ func DefaultStyles() (s Styles) {
|
||||
|
||||
s.StatusBar = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.AdaptiveColor{Light: "#A49FA5", Dark: "#777777"}).
|
||||
Padding(0, 0, 1, 2)
|
||||
Padding(0, 0, 1, 2) //nolint:mnd
|
||||
|
||||
s.StatusEmpty = lipgloss.NewStyle().Foreground(subduedColor)
|
||||
|
||||
@@ -79,9 +79,9 @@ func DefaultStyles() (s Styles) {
|
||||
|
||||
s.ArabicPagination = lipgloss.NewStyle().Foreground(subduedColor)
|
||||
|
||||
s.PaginationStyle = lipgloss.NewStyle().PaddingLeft(2) //nolint:gomnd
|
||||
s.PaginationStyle = lipgloss.NewStyle().PaddingLeft(2) //nolint:mnd
|
||||
|
||||
s.HelpStyle = lipgloss.NewStyle().Padding(1, 0, 0, 2)
|
||||
s.HelpStyle = lipgloss.NewStyle().Padding(1, 0, 0, 2) //nolint:mnd
|
||||
|
||||
s.ActivePaginationDot = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.AdaptiveColor{Light: "#847A85", Dark: "#979797"}).
|
||||
|
||||
@@ -189,7 +189,7 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
|
||||
|
||||
// View renders the pagination to a string.
|
||||
func (m Model) View() string {
|
||||
switch m.Type {
|
||||
switch m.Type { //nolint:exhaustive
|
||||
case Dots:
|
||||
return m.dotsView()
|
||||
default:
|
||||
|
||||
@@ -335,7 +335,7 @@ func (m Model) percentageView(percent float64) string {
|
||||
return ""
|
||||
}
|
||||
percent = math.Max(0, math.Min(1, percent))
|
||||
percentage := fmt.Sprintf(m.PercentFormat, percent*100) //nolint:gomnd
|
||||
percentage := fmt.Sprintf(m.PercentFormat, percent*100) //nolint:mnd
|
||||
percentage = m.PercentageStyle.Inline(true).Render(percentage)
|
||||
return percentage
|
||||
}
|
||||
|
||||
+12
-12
@@ -26,39 +26,39 @@ type Spinner struct {
|
||||
var (
|
||||
Line = Spinner{
|
||||
Frames: []string{"|", "/", "-", "\\"},
|
||||
FPS: time.Second / 10, //nolint:gomnd
|
||||
FPS: time.Second / 10, //nolint:mnd
|
||||
}
|
||||
Dot = Spinner{
|
||||
Frames: []string{"⣾ ", "⣽ ", "⣻ ", "⢿ ", "⡿ ", "⣟ ", "⣯ ", "⣷ "},
|
||||
FPS: time.Second / 10, //nolint:gomnd
|
||||
FPS: time.Second / 10, //nolint:mnd
|
||||
}
|
||||
MiniDot = Spinner{
|
||||
Frames: []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"},
|
||||
FPS: time.Second / 12, //nolint:gomnd
|
||||
FPS: time.Second / 12, //nolint:mnd
|
||||
}
|
||||
Jump = Spinner{
|
||||
Frames: []string{"⢄", "⢂", "⢁", "⡁", "⡈", "⡐", "⡠"},
|
||||
FPS: time.Second / 10, //nolint:gomnd
|
||||
FPS: time.Second / 10, //nolint:mnd
|
||||
}
|
||||
Pulse = Spinner{
|
||||
Frames: []string{"█", "▓", "▒", "░"},
|
||||
FPS: time.Second / 8, //nolint:gomnd
|
||||
FPS: time.Second / 8, //nolint:mnd
|
||||
}
|
||||
Points = Spinner{
|
||||
Frames: []string{"∙∙∙", "●∙∙", "∙●∙", "∙∙●"},
|
||||
FPS: time.Second / 7, //nolint:gomnd
|
||||
FPS: time.Second / 7, //nolint:mnd
|
||||
}
|
||||
Globe = Spinner{
|
||||
Frames: []string{"🌍", "🌎", "🌏"},
|
||||
FPS: time.Second / 4, //nolint:gomnd
|
||||
FPS: time.Second / 4, //nolint:mnd
|
||||
}
|
||||
Moon = Spinner{
|
||||
Frames: []string{"🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"},
|
||||
FPS: time.Second / 8, //nolint:gomnd
|
||||
FPS: time.Second / 8, //nolint:mnd
|
||||
}
|
||||
Monkey = Spinner{
|
||||
Frames: []string{"🙈", "🙉", "🙊"},
|
||||
FPS: time.Second / 3, //nolint:gomnd
|
||||
FPS: time.Second / 3, //nolint:mnd
|
||||
}
|
||||
Meter = Spinner{
|
||||
Frames: []string{
|
||||
@@ -70,15 +70,15 @@ var (
|
||||
"▰▱▱",
|
||||
"▱▱▱",
|
||||
},
|
||||
FPS: time.Second / 7, //nolint:gomnd
|
||||
FPS: time.Second / 7, //nolint:mnd
|
||||
}
|
||||
Hamburger = Spinner{
|
||||
Frames: []string{"☱", "☲", "☴", "☲"},
|
||||
FPS: time.Second / 3, //nolint:gomnd
|
||||
FPS: time.Second / 3, //nolint:mnd
|
||||
}
|
||||
Ellipsis = Spinner{
|
||||
Frames: []string{"", ".", "..", "..."},
|
||||
FPS: time.Second / 3, //nolint:gomnd
|
||||
FPS: time.Second / 3, //nolint:mnd
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
+3
-3
@@ -133,7 +133,7 @@ type Option func(*Model)
|
||||
func New(opts ...Option) Model {
|
||||
m := Model{
|
||||
cursor: 0,
|
||||
viewport: viewport.New(0, 20),
|
||||
viewport: viewport.New(0, 20), //nolint:mnd
|
||||
|
||||
KeyMap: DefaultKeyMap(),
|
||||
Help: help.New(),
|
||||
@@ -216,9 +216,9 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
|
||||
case key.Matches(msg, m.KeyMap.PageDown):
|
||||
m.MoveDown(m.viewport.Height)
|
||||
case key.Matches(msg, m.KeyMap.HalfPageUp):
|
||||
m.MoveUp(m.viewport.Height / 2)
|
||||
m.MoveUp(m.viewport.Height / 2) //nolint:mnd
|
||||
case key.Matches(msg, m.KeyMap.HalfPageDown):
|
||||
m.MoveDown(m.viewport.Height / 2)
|
||||
m.MoveDown(m.viewport.Height / 2) //nolint:mnd
|
||||
case key.Matches(msg, m.KeyMap.GotoTop):
|
||||
m.GotoTop()
|
||||
case key.Matches(msg, m.KeyMap.GotoBottom):
|
||||
|
||||
@@ -492,7 +492,8 @@ func (m *Model) CursorDown() {
|
||||
// Move the cursor to the start of the next line so that we can get
|
||||
// the line information. We need to add 2 columns to account for the
|
||||
// trailing space wrapping.
|
||||
m.col = min(li.StartColumn+li.Width+2, len(m.value[m.row])-1)
|
||||
const trailingSpace = 2
|
||||
m.col = min(li.StartColumn+li.Width+trailingSpace, len(m.value[m.row])-1)
|
||||
}
|
||||
|
||||
nli := m.LineInfo()
|
||||
@@ -526,7 +527,8 @@ func (m *Model) CursorUp() {
|
||||
// This can be done by moving the cursor to the start of the line and
|
||||
// then subtracting 2 to account for the trailing space we keep on
|
||||
// soft-wrapped lines.
|
||||
m.col = li.StartColumn - 2
|
||||
const trailingSpace = 2
|
||||
m.col = li.StartColumn - trailingSpace
|
||||
}
|
||||
|
||||
nli := m.LineInfo()
|
||||
@@ -1119,7 +1121,7 @@ func (m Model) View() string {
|
||||
displayLine++
|
||||
|
||||
var ln string
|
||||
if m.ShowLineNumbers {
|
||||
if m.ShowLineNumbers { //nolint:nestif
|
||||
if wl == 0 {
|
||||
if m.row == l {
|
||||
ln = style.Render(m.style.computedCursorLineNumber().Render(m.formatLineNumber(l + 1)))
|
||||
@@ -1198,7 +1200,7 @@ func (m Model) View() string {
|
||||
}
|
||||
|
||||
// formatLineNumber formats the line number for display dynamically based on
|
||||
// the maximum number of lines
|
||||
// the maximum number of lines.
|
||||
func (m Model) formatLineNumber(x any) string {
|
||||
// XXX: ultimately we should use a max buffer height, which has yet to be
|
||||
// implemented.
|
||||
@@ -1407,7 +1409,7 @@ func wrap(runes []rune, width int) [][]rune {
|
||||
word = append(word, r)
|
||||
}
|
||||
|
||||
if spaces > 0 {
|
||||
if spaces > 0 { //nolint:nestif
|
||||
if uniseg.StringWidth(string(lines[row]))+uniseg.StringWidth(string(word))+spaces > width {
|
||||
row++
|
||||
lines = append(lines, []rune{})
|
||||
|
||||
@@ -565,7 +565,7 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
|
||||
|
||||
// Let's remember where the position of the cursor currently is so that if
|
||||
// the cursor position changes, we can reset the blink.
|
||||
oldPos := m.pos //nolint
|
||||
oldPos := m.pos
|
||||
|
||||
switch msg := msg.(type) {
|
||||
case tea.KeyMsg:
|
||||
@@ -658,7 +658,7 @@ func (m Model) View() string {
|
||||
pos := max(0, m.pos-m.offset)
|
||||
v := styleText(m.echoTransform(string(value[:pos])))
|
||||
|
||||
if pos < len(value) {
|
||||
if pos < len(value) { //nolint:nestif
|
||||
char := m.echoTransform(string(value[pos]))
|
||||
m.Cursor.SetChar(char)
|
||||
v += m.Cursor.View() // cursor and text under it
|
||||
|
||||
@@ -168,7 +168,7 @@ func (m *Model) HalfViewDown() (lines []string) {
|
||||
return nil
|
||||
}
|
||||
|
||||
return m.LineDown(m.Height / 2)
|
||||
return m.LineDown(m.Height / 2) //nolint:mnd
|
||||
}
|
||||
|
||||
// HalfViewUp moves the view up by half the height of the viewport.
|
||||
@@ -177,7 +177,7 @@ func (m *Model) HalfViewUp() (lines []string) {
|
||||
return nil
|
||||
}
|
||||
|
||||
return m.LineUp(m.Height / 2)
|
||||
return m.LineUp(m.Height / 2) //nolint:mnd
|
||||
}
|
||||
|
||||
// LineDown moves the view down by the given number of lines.
|
||||
@@ -350,7 +350,7 @@ func (m Model) updateAsModel(msg tea.Msg) (Model, tea.Cmd) {
|
||||
if !m.MouseWheelEnabled || msg.Action != tea.MouseActionPress {
|
||||
break
|
||||
}
|
||||
switch msg.Button {
|
||||
switch msg.Button { //nolint:exhaustive
|
||||
case tea.MouseButtonWheelUp:
|
||||
lines := m.LineUp(m.MouseWheelDelta)
|
||||
if m.HighPerformanceRendering {
|
||||
|
||||
Reference in New Issue
Block a user