on main help sign in
chore: lint
commit272d93110a4cd48b414c3f69c75a214d0cd0621f authorKujtim Hoxha <kujtimii.h@gmail.com> dateSat 5 Jul 2025, 16:37 (1 year ago) parentdafbdb7
20 files changed+33−26
cmd/root.go+4−4 internal/app/app.go+3−2 internal/config/init.go+1−2 internal/config/load_test.go+1−1 internal/config/resolve.go+1−1 internal/db/connect.go+1−1 internal/fsext/fileutil.go+2−1 internal/llm/agent/mcp-tools.go+2−1 internal/llm/prompt/coder.go+1−1 internal/llm/provider/vertexai.go+1−1 internal/llm/tools/edit.go+2−1 internal/llm/tools/glob.go+1−1 internal/llm/tools/write.go+2−1 internal/lsp/handlers.go+2−1 internal/lsp/transport.go+1−1 internal/lsp/watcher/watcher.go+2−1 internal/tui/components/chat/sidebar/sidebar.go+1−2 internal/tui/components/core/layout/split.go+3−1 internal/tui/components/core/status/status.go−1 main.go+2−1
cmd/root.go+4−4
@@ -93,7 +93,7 @@ to assist developers in writing, debugging, and understanding code directly from
9393
9494 app, err := app.New(ctx, conn)
9595 if err != nil {
96− slog.Error("Failed to create app: %v", err)
96+ slog.Error(fmt.Sprintf("Failed to create app instance: %v", err))
9797 return err
9898 }
9999 // Defer shutdown here so it runs for both interactive and non-interactive modes
@@ -104,7 +104,7 @@ to assist developers in writing, debugging, and understanding code directly from
104104
105105 prompt, err = maybePrependStdin(prompt)
106106 if err != nil {
107− slog.Error("Failed to read stdin: %v", err)
107+ slog.Error(fmt.Sprintf("Failed to read from stdin: %v", err))
108108 return err
109109 }
110110
@@ -174,11 +174,11 @@ to assist developers in writing, debugging, and understanding code directly from
174174 cleanup()
175175
176176 if err != nil {
177− slog.Error("TUI error: %v", err)
177+ slog.Error(fmt.Sprintf("TUI run error: %v", err))
178178 return fmt.Errorf("TUI error: %v", err)
179179 }
180180
181− slog.Info("TUI exited with result: %v", result)
181+ slog.Info(fmt.Sprintf("TUI exited with result: %v", result))
182182 return nil
183183 },
184184}
internal/app/app.go+3−2
@@ -5,6 +5,7 @@ import (
55 "database/sql"
66 "errors"
77 "fmt"
8+ "log/slog"
89 "maps"
910 "sync"
1011 "time"
@@ -14,7 +15,7 @@ import (
1415 "github.com/charmbracelet/crush/internal/format"
1516 "github.com/charmbracelet/crush/internal/history"
1617 "github.com/charmbracelet/crush/internal/llm/agent"
17− "log/slog"
18+
1819 "github.com/charmbracelet/crush/internal/lsp"
1920 "github.com/charmbracelet/crush/internal/message"
2021 "github.com/charmbracelet/crush/internal/permission"
@@ -73,7 +74,7 @@ func New(ctx context.Context, conn *sql.DB) (*App, error) {
7374 app.LSPClients,
7475 )
7576 if err != nil {
76− slog.Error("Failed to create coder agent", err)
77+ slog.Error("Failed to create coder agent", "err", err)
7778 return nil, err
7879 }
7980
internal/config/init.go+1−2
@@ -2,13 +2,12 @@ package config
22
33import (
44 "fmt"
5+ "log/slog"
56 "os"
67 "path/filepath"
78 "strings"
89 "sync"
910 "sync/atomic"
10−
11− "log/slog"
1211)
1312
1413const (
internal/config/load_test.go+1−1
@@ -7,8 +7,8 @@ import (
77 "strings"
88 "testing"
99
10− "github.com/charmbracelet/crush/internal/fur/provider"
1110 "github.com/charmbracelet/crush/internal/env"
11+ "github.com/charmbracelet/crush/internal/fur/provider"
1212 "github.com/stretchr/testify/assert"
1313)
1414
internal/config/resolve.go+1−1
@@ -6,8 +6,8 @@ import (
66 "strings"
77 "time"
88
9− "github.com/charmbracelet/crush/internal/shell"
109 "github.com/charmbracelet/crush/internal/env"
10+ "github.com/charmbracelet/crush/internal/shell"
1111)
1212
1313type VariableResolver interface {
internal/db/connect.go+1−1
@@ -4,6 +4,7 @@ import (
44 "context"
55 "database/sql"
66 "fmt"
7+ "log/slog"
78 "os"
89 "path/filepath"
910
@@ -11,7 +12,6 @@ import (
1112 _ "github.com/ncruces/go-sqlite3/embed"
1213
1314 "github.com/charmbracelet/crush/internal/config"
14− "log/slog"
1515
1616 "github.com/pressly/goose/v3"
1717)
internal/fsext/fileutil.go+2−1
@@ -2,6 +2,7 @@ package fsext
22
33import (
44 "fmt"
5+ "log/slog"
56 "os"
67 "os/exec"
78 "path/filepath"
@@ -11,7 +12,7 @@ import (
1112
1213 "github.com/bmatcuk/doublestar/v4"
1314 "github.com/charlievieth/fastwalk"
14− "log/slog"
15+
1516 ignore "github.com/sabhiram/go-gitignore"
1617)
1718
internal/llm/agent/mcp-tools.go+2−1
@@ -4,10 +4,11 @@ import (
44 "context"
55 "encoding/json"
66 "fmt"
7+ "log/slog"
78
89 "github.com/charmbracelet/crush/internal/config"
910 "github.com/charmbracelet/crush/internal/llm/tools"
10− "log/slog"
11+
1112 "github.com/charmbracelet/crush/internal/permission"
1213 "github.com/charmbracelet/crush/internal/version"
1314
internal/llm/prompt/coder.go+1−1
@@ -3,6 +3,7 @@ package prompt
33import (
44 "context"
55 "fmt"
6+ "log/slog"
67 "os"
78 "path/filepath"
89 "runtime"
@@ -11,7 +12,6 @@ import (
1112 "github.com/charmbracelet/crush/internal/config"
1213 "github.com/charmbracelet/crush/internal/fur/provider"
1314 "github.com/charmbracelet/crush/internal/llm/tools"
14− "log/slog"
1515)
1616
1717func CoderPrompt(p string, contextFiles ...string) string {
internal/llm/provider/vertexai.go+1−1
@@ -2,8 +2,8 @@ package provider
22
33import (
44 "context"
5−
65 "log/slog"
6+
77 "google.golang.org/genai"
88)
99
internal/llm/tools/edit.go+2−1
@@ -4,6 +4,7 @@ import (
44 "context"
55 "encoding/json"
66 "fmt"
7+ "log/slog"
78 "os"
89 "path/filepath"
910 "strings"
@@ -12,7 +13,7 @@ import (
1213 "github.com/charmbracelet/crush/internal/config"
1314 "github.com/charmbracelet/crush/internal/diff"
1415 "github.com/charmbracelet/crush/internal/history"
15− "log/slog"
16+
1617 "github.com/charmbracelet/crush/internal/lsp"
1718 "github.com/charmbracelet/crush/internal/permission"
1819)
internal/llm/tools/glob.go+1−1
@@ -5,6 +5,7 @@ import (
55 "context"
66 "encoding/json"
77 "fmt"
8+ "log/slog"
89 "os/exec"
910 "path/filepath"
1011 "sort"
@@ -12,7 +13,6 @@ import (
1213
1314 "github.com/charmbracelet/crush/internal/config"
1415 "github.com/charmbracelet/crush/internal/fsext"
15− "log/slog"
1616)
1717
1818const (
internal/llm/tools/write.go+2−1
@@ -4,6 +4,7 @@ import (
44 "context"
55 "encoding/json"
66 "fmt"
7+ "log/slog"
78 "os"
89 "path/filepath"
910 "strings"
@@ -12,7 +13,7 @@ import (
1213 "github.com/charmbracelet/crush/internal/config"
1314 "github.com/charmbracelet/crush/internal/diff"
1415 "github.com/charmbracelet/crush/internal/history"
15− "log/slog"
16+
1617 "github.com/charmbracelet/crush/internal/lsp"
1718 "github.com/charmbracelet/crush/internal/permission"
1819)
internal/lsp/handlers.go+2−1
@@ -2,9 +2,10 @@ package lsp
22
33import (
44 "encoding/json"
5+ "log/slog"
56
67 "github.com/charmbracelet/crush/internal/config"
7− "log/slog"
8+
89 "github.com/charmbracelet/crush/internal/lsp/protocol"
910 "github.com/charmbracelet/crush/internal/lsp/util"
1011)
internal/lsp/transport.go+1−1
@@ -6,10 +6,10 @@ import (
66 "encoding/json"
77 "fmt"
88 "io"
9+ "log/slog"
910 "strings"
1011
1112 "github.com/charmbracelet/crush/internal/config"
12− "log/slog"
1313)
1414
1515// Write writes an LSP message to the given writer
internal/lsp/watcher/watcher.go+2−1
@@ -3,6 +3,7 @@ package watcher
33import (
44 "context"
55 "fmt"
6+ "log/slog"
67 "os"
78 "path/filepath"
89 "strings"
@@ -11,7 +12,7 @@ import (
1112
1213 "github.com/bmatcuk/doublestar/v4"
1314 "github.com/charmbracelet/crush/internal/config"
14− "log/slog"
15+
1516 "github.com/charmbracelet/crush/internal/lsp"
1617 "github.com/charmbracelet/crush/internal/lsp/protocol"
1718 "github.com/fsnotify/fsnotify"
internal/tui/components/chat/sidebar/sidebar.go+1−2
@@ -13,7 +13,7 @@ import (
1313 "github.com/charmbracelet/crush/internal/diff"
1414 "github.com/charmbracelet/crush/internal/fsext"
1515 "github.com/charmbracelet/crush/internal/history"
16− "log/slog"
16+
1717 "github.com/charmbracelet/crush/internal/lsp"
1818 "github.com/charmbracelet/crush/internal/lsp/protocol"
1919 "github.com/charmbracelet/crush/internal/pubsub"
@@ -94,7 +94,6 @@ func (m *sidebarCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
9494 case chat.SessionClearedMsg:
9595 m.session = session.Session{}
9696 case pubsub.Event[history.File]:
97− slog.Info("sidebar", "Received file history event", "file", msg.Payload.Path, "session", msg.Payload.SessionID)
9897 return m, m.handleFileHistoryEvent(msg)
9998 case pubsub.Event[session.Session]:
10099 if msg.Type == pubsub.UpdatedEvent {
internal/tui/components/core/layout/split.go+3−1
@@ -1,9 +1,11 @@
11package layout
22
33import (
4+ "log/slog"
5+
46 "github.com/charmbracelet/bubbles/v2/key"
57 tea "github.com/charmbracelet/bubbletea/v2"
6− "log/slog"
8+
79 "github.com/charmbracelet/crush/internal/tui/styles"
810 "github.com/charmbracelet/crush/internal/tui/util"
911 "github.com/charmbracelet/lipgloss/v2"
internal/tui/components/core/status/status.go−1
@@ -56,7 +56,6 @@ func (m *statusCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
5656 return m, m.clearMessageCmd(ttl)
5757 case util.ClearStatusMsg:
5858 m.info = util.InfoMsg{}
59−
6059 }
6160 return m, nil
6261}
main.go+2−1
@@ -1,6 +1,7 @@
11package main
22
33import (
4+ "fmt"
45 "log/slog"
56 "net/http"
67 "os"
@@ -22,7 +23,7 @@ func main() {
2223 go func() {
2324 slog.Info("Serving pprof at localhost:6060")
2425 if httpErr := http.ListenAndServe("localhost:6060", nil); httpErr != nil {
25− slog.Error("Failed to pprof listen: %v", httpErr)
26+ slog.Error(fmt.Sprintf("Failed to pprof listen: %v", httpErr))
2627 }
2728 }()
2829 }