Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:

jobs:
Expand Down
12 changes: 11 additions & 1 deletion sloglint.go
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,17 @@ func visit(pass *analysis.Pass, opts *Options, node ast.Node, stack []ast.Node)
if sel, ok := call.Args[0].(*ast.SelectorExpr); ok {
if obj := pass.TypesInfo.ObjectOf(sel.Sel); obj != nil {
if obj.Pkg().Name() == "io" && obj.Name() == "Discard" {
pass.Reportf(call.Pos(), "use slog.DiscardHandler instead")
pass.Report(analysis.Diagnostic{
Pos: call.Pos(),
Message: "use slog.DiscardHandler instead",
SuggestedFixes: []analysis.SuggestedFix{{
TextEdits: []analysis.TextEdit{{
Pos: call.Pos(),
End: call.End(),
NewText: []byte("slog.DiscardHandler()"),
}},
}},
})
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion sloglint_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ func TestAnalyzer(t *testing.T) {
t.Run(name, func(t *testing.T) {
analyzer := New(&tt.opts)
testdata := analysistest.TestData()
analysistest.Run(t, testdata, analyzer, tt.dir)
analysistest.RunWithSuggestedFixes(t, testdata, analyzer, tt.dir)
})
}
}
Expand Down
6 changes: 3 additions & 3 deletions testdata/src/discard_handler/discard_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"log/slog"
)

func tests() {
slog.NewTextHandler(io.Discard, nil) // want `use slog.DiscardHandler instead`
slog.NewJSONHandler(io.Discard, nil) // want `use slog.DiscardHandler instead`
func _() {
_ = slog.NewTextHandler(io.Discard, nil) // want `use slog.DiscardHandler instead`
_ = slog.NewJSONHandler(io.Discard, nil) // want `use slog.DiscardHandler instead`
}
11 changes: 11 additions & 0 deletions testdata/src/discard_handler/discard_handler.go.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package discard_handler

import (
"io"
"log/slog"
)

func _() {
_ = slog.DiscardHandler() // want `use slog.DiscardHandler instead`
_ = slog.DiscardHandler() // want `use slog.DiscardHandler instead`
}
Loading