chore: lint

Kujtim Hoxha created

Change summary

cmd/root.go                                     | 8 ++++----
internal/app/app.go                             | 5 +++--
internal/config/init.go                         | 3 +--
internal/config/load_test.go                    | 2 +-
internal/config/resolve.go                      | 2 +-
internal/db/connect.go                          | 2 +-
internal/fsext/fileutil.go                      | 3 ++-
internal/llm/agent/mcp-tools.go                 | 3 ++-
internal/llm/prompt/coder.go                    | 2 +-
internal/llm/provider/vertexai.go               | 2 +-
internal/llm/tools/edit.go                      | 3 ++-
internal/llm/tools/glob.go                      | 2 +-
internal/llm/tools/write.go                     | 3 ++-
internal/lsp/handlers.go                        | 3 ++-
internal/lsp/transport.go                       | 2 +-
internal/lsp/watcher/watcher.go                 | 3 ++-
internal/tui/components/chat/sidebar/sidebar.go | 3 +--
internal/tui/components/core/layout/split.go    | 4 +++-
internal/tui/components/core/status/status.go   | 1 -
main.go                                         | 3 ++-
20 files changed, 33 insertions(+), 26 deletions(-)

Detailed changes

cmd/root.go 🔗

@@ -93,7 +93,7 @@ to assist developers in writing, debugging, and understanding code directly from
 
 		app, err := app.New(ctx, conn)
 		if err != nil {
-			slog.Error("Failed to create app: %v", err)
+			slog.Error(fmt.Sprintf("Failed to create app instance: %v", err))
 			return err
 		}
 		// 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
 
 		prompt, err = maybePrependStdin(prompt)
 		if err != nil {
-			slog.Error("Failed to read stdin: %v", err)
+			slog.Error(fmt.Sprintf("Failed to read from stdin: %v", err))
 			return err
 		}
 
@@ -174,11 +174,11 @@ to assist developers in writing, debugging, and understanding code directly from
 		cleanup()
 
 		if err != nil {
-			slog.Error("TUI error: %v", err)
+			slog.Error(fmt.Sprintf("TUI run error: %v", err))
 			return fmt.Errorf("TUI error: %v", err)
 		}
 
-		slog.Info("TUI exited with result: %v", result)
+		slog.Info(fmt.Sprintf("TUI exited with result: %v", result))
 		return nil
 	},
 }

internal/app/app.go 🔗

@@ -5,6 +5,7 @@ import (
 	"database/sql"
 	"errors"
 	"fmt"
+	"log/slog"
 	"maps"
 	"sync"
 	"time"
@@ -14,7 +15,7 @@ import (
 	"github.com/charmbracelet/crush/internal/format"
 	"github.com/charmbracelet/crush/internal/history"
 	"github.com/charmbracelet/crush/internal/llm/agent"
-	"log/slog"
+
 	"github.com/charmbracelet/crush/internal/lsp"
 	"github.com/charmbracelet/crush/internal/message"
 	"github.com/charmbracelet/crush/internal/permission"
@@ -73,7 +74,7 @@ func New(ctx context.Context, conn *sql.DB) (*App, error) {
 		app.LSPClients,
 	)
 	if err != nil {
-		slog.Error("Failed to create coder agent", err)
+		slog.Error("Failed to create coder agent", "err", err)
 		return nil, err
 	}
 

internal/config/init.go 🔗

@@ -2,13 +2,12 @@ package config
 
 import (
 	"fmt"
+	"log/slog"
 	"os"
 	"path/filepath"
 	"strings"
 	"sync"
 	"sync/atomic"
-
-	"log/slog"
 )
 
 const (

internal/config/load_test.go 🔗

@@ -7,8 +7,8 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/charmbracelet/crush/internal/fur/provider"
 	"github.com/charmbracelet/crush/internal/env"
+	"github.com/charmbracelet/crush/internal/fur/provider"
 	"github.com/stretchr/testify/assert"
 )
 

internal/config/resolve.go 🔗

@@ -6,8 +6,8 @@ import (
 	"strings"
 	"time"
 
-	"github.com/charmbracelet/crush/internal/shell"
 	"github.com/charmbracelet/crush/internal/env"
+	"github.com/charmbracelet/crush/internal/shell"
 )
 
 type VariableResolver interface {

internal/db/connect.go 🔗

@@ -4,6 +4,7 @@ import (
 	"context"
 	"database/sql"
 	"fmt"
+	"log/slog"
 	"os"
 	"path/filepath"
 
@@ -11,7 +12,6 @@ import (
 	_ "github.com/ncruces/go-sqlite3/embed"
 
 	"github.com/charmbracelet/crush/internal/config"
-	"log/slog"
 
 	"github.com/pressly/goose/v3"
 )

internal/fsext/fileutil.go 🔗

@@ -2,6 +2,7 @@ package fsext
 
 import (
 	"fmt"
+	"log/slog"
 	"os"
 	"os/exec"
 	"path/filepath"
@@ -11,7 +12,7 @@ import (
 
 	"github.com/bmatcuk/doublestar/v4"
 	"github.com/charlievieth/fastwalk"
-	"log/slog"
+
 	ignore "github.com/sabhiram/go-gitignore"
 )
 

internal/llm/agent/mcp-tools.go 🔗

@@ -4,10 +4,11 @@ import (
 	"context"
 	"encoding/json"
 	"fmt"
+	"log/slog"
 
 	"github.com/charmbracelet/crush/internal/config"
 	"github.com/charmbracelet/crush/internal/llm/tools"
-	"log/slog"
+
 	"github.com/charmbracelet/crush/internal/permission"
 	"github.com/charmbracelet/crush/internal/version"
 

internal/llm/prompt/coder.go 🔗

@@ -3,6 +3,7 @@ package prompt
 import (
 	"context"
 	"fmt"
+	"log/slog"
 	"os"
 	"path/filepath"
 	"runtime"
@@ -11,7 +12,6 @@ import (
 	"github.com/charmbracelet/crush/internal/config"
 	"github.com/charmbracelet/crush/internal/fur/provider"
 	"github.com/charmbracelet/crush/internal/llm/tools"
-	"log/slog"
 )
 
 func CoderPrompt(p string, contextFiles ...string) string {

internal/llm/tools/edit.go 🔗

@@ -4,6 +4,7 @@ import (
 	"context"
 	"encoding/json"
 	"fmt"
+	"log/slog"
 	"os"
 	"path/filepath"
 	"strings"
@@ -12,7 +13,7 @@ import (
 	"github.com/charmbracelet/crush/internal/config"
 	"github.com/charmbracelet/crush/internal/diff"
 	"github.com/charmbracelet/crush/internal/history"
-	"log/slog"
+
 	"github.com/charmbracelet/crush/internal/lsp"
 	"github.com/charmbracelet/crush/internal/permission"
 )

internal/llm/tools/glob.go 🔗

@@ -5,6 +5,7 @@ import (
 	"context"
 	"encoding/json"
 	"fmt"
+	"log/slog"
 	"os/exec"
 	"path/filepath"
 	"sort"
@@ -12,7 +13,6 @@ import (
 
 	"github.com/charmbracelet/crush/internal/config"
 	"github.com/charmbracelet/crush/internal/fsext"
-	"log/slog"
 )
 
 const (

internal/llm/tools/write.go 🔗

@@ -4,6 +4,7 @@ import (
 	"context"
 	"encoding/json"
 	"fmt"
+	"log/slog"
 	"os"
 	"path/filepath"
 	"strings"
@@ -12,7 +13,7 @@ import (
 	"github.com/charmbracelet/crush/internal/config"
 	"github.com/charmbracelet/crush/internal/diff"
 	"github.com/charmbracelet/crush/internal/history"
-	"log/slog"
+
 	"github.com/charmbracelet/crush/internal/lsp"
 	"github.com/charmbracelet/crush/internal/permission"
 )

internal/lsp/handlers.go 🔗

@@ -2,9 +2,10 @@ package lsp
 
 import (
 	"encoding/json"
+	"log/slog"
 
 	"github.com/charmbracelet/crush/internal/config"
-	"log/slog"
+
 	"github.com/charmbracelet/crush/internal/lsp/protocol"
 	"github.com/charmbracelet/crush/internal/lsp/util"
 )

internal/lsp/transport.go 🔗

@@ -6,10 +6,10 @@ import (
 	"encoding/json"
 	"fmt"
 	"io"
+	"log/slog"
 	"strings"
 
 	"github.com/charmbracelet/crush/internal/config"
-	"log/slog"
 )
 
 // Write writes an LSP message to the given writer

internal/lsp/watcher/watcher.go 🔗

@@ -3,6 +3,7 @@ package watcher
 import (
 	"context"
 	"fmt"
+	"log/slog"
 	"os"
 	"path/filepath"
 	"strings"
@@ -11,7 +12,7 @@ import (
 
 	"github.com/bmatcuk/doublestar/v4"
 	"github.com/charmbracelet/crush/internal/config"
-	"log/slog"
+
 	"github.com/charmbracelet/crush/internal/lsp"
 	"github.com/charmbracelet/crush/internal/lsp/protocol"
 	"github.com/fsnotify/fsnotify"

internal/tui/components/chat/sidebar/sidebar.go 🔗

@@ -13,7 +13,7 @@ import (
 	"github.com/charmbracelet/crush/internal/diff"
 	"github.com/charmbracelet/crush/internal/fsext"
 	"github.com/charmbracelet/crush/internal/history"
-	"log/slog"
+
 	"github.com/charmbracelet/crush/internal/lsp"
 	"github.com/charmbracelet/crush/internal/lsp/protocol"
 	"github.com/charmbracelet/crush/internal/pubsub"
@@ -94,7 +94,6 @@ func (m *sidebarCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
 	case chat.SessionClearedMsg:
 		m.session = session.Session{}
 	case pubsub.Event[history.File]:
-		slog.Info("sidebar", "Received file history event", "file", msg.Payload.Path, "session", msg.Payload.SessionID)
 		return m, m.handleFileHistoryEvent(msg)
 	case pubsub.Event[session.Session]:
 		if msg.Type == pubsub.UpdatedEvent {

internal/tui/components/core/layout/split.go 🔗

@@ -1,9 +1,11 @@
 package layout
 
 import (
+	"log/slog"
+
 	"github.com/charmbracelet/bubbles/v2/key"
 	tea "github.com/charmbracelet/bubbletea/v2"
-	"log/slog"
+
 	"github.com/charmbracelet/crush/internal/tui/styles"
 	"github.com/charmbracelet/crush/internal/tui/util"
 	"github.com/charmbracelet/lipgloss/v2"

main.go 🔗

@@ -1,6 +1,7 @@
 package main
 
 import (
+	"fmt"
 	"log/slog"
 	"net/http"
 	"os"
@@ -22,7 +23,7 @@ func main() {
 		go func() {
 			slog.Info("Serving pprof at localhost:6060")
 			if httpErr := http.ListenAndServe("localhost:6060", nil); httpErr != nil {
-				slog.Error("Failed to pprof listen: %v", httpErr)
+				slog.Error(fmt.Sprintf("Failed to pprof listen: %v", httpErr))
 			}
 		}()
 	}