mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-06 05:25:41 -05:00
106 lines
3.3 KiB
YAML
106 lines
3.3 KiB
YAML
version: "2"
|
|
|
|
linters:
|
|
enable:
|
|
- revive
|
|
|
|
settings:
|
|
revive:
|
|
rules:
|
|
- name: use-any
|
|
severity: error
|
|
errcheck:
|
|
check-type-assertions: false
|
|
check-blank: false
|
|
exclude-functions:
|
|
# Cleanup/destroy operations
|
|
- (io.Closer).Close
|
|
- (*os.File).Close
|
|
- (net.Conn).Close
|
|
- (*net.Conn).Close
|
|
# Signal handling
|
|
- (*os.Process).Signal
|
|
- (*os.Process).Kill
|
|
# DBus cleanup
|
|
- (*github.com/godbus/dbus/v5.Conn).RemoveMatchSignal
|
|
- (*github.com/godbus/dbus/v5.Conn).RemoveSignal
|
|
# Encoding to network connections (if conn is bad, nothing we can do)
|
|
- (*encoding/json.Encoder).Encode
|
|
- (net.Conn).Write
|
|
# Command execution where failure is expected/ignored
|
|
- (*os/exec.Cmd).Run
|
|
- (*os/exec.Cmd).Start
|
|
# Flush operations
|
|
- (*bufio.Writer).Flush
|
|
# Scanning user input
|
|
- fmt.Scanln
|
|
- fmt.Scanf
|
|
# Parse operations where default value is acceptable
|
|
- fmt.Sscanf
|
|
# Flag operations
|
|
- (*github.com/spf13/pflag.FlagSet).MarkHidden
|
|
# Binary encoding to buffer (can't fail for basic types)
|
|
- binary.Write
|
|
# File operations in cleanup paths
|
|
- os.Rename
|
|
- os.Remove
|
|
- os.RemoveAll
|
|
- (*os.File).WriteString
|
|
# Stdout/stderr writes (can't meaningfully handle failure)
|
|
- fmt.Fprintln
|
|
- fmt.Fprintf
|
|
- fmt.Fprint
|
|
# Writing to pipes (if pipe is bad, nothing we can do)
|
|
- (*io.PipeWriter).Write
|
|
- (*os.File).Write
|
|
|
|
exclusions:
|
|
rules:
|
|
# Exclude generated mocks from all linters
|
|
- path: internal/mocks/
|
|
linters:
|
|
- errcheck
|
|
- govet
|
|
- unused
|
|
- ineffassign
|
|
- staticcheck
|
|
- gosimple
|
|
- revive
|
|
- path: _test\.go
|
|
linters:
|
|
- errcheck
|
|
- govet
|
|
- unused
|
|
- ineffassign
|
|
- staticcheck
|
|
- gosimple
|
|
# Exclude cleanup/teardown method calls from errcheck
|
|
- linters:
|
|
- errcheck
|
|
text: "Error return value of `.+\\.(Destroy|Release|Stop|Close|Roundtrip|Store)` is not checked"
|
|
# Exclude internal state update methods that are best-effort
|
|
- linters:
|
|
- errcheck
|
|
text: "Error return value of `[mb]\\.\\w*(update|initialize|recreate|acquire|enumerate|list|List|Ensure|refresh|Lock)\\w*` is not checked"
|
|
# Exclude SetMode on wayland power controls (best-effort)
|
|
- linters:
|
|
- errcheck
|
|
text: "Error return value of `.+\\.SetMode` is not checked"
|
|
# Exclude AddMatchSignal which is best-effort monitoring setup
|
|
- linters:
|
|
- errcheck
|
|
text: "Error return value of `.+\\.AddMatchSignal` is not checked"
|
|
# Exclude wayland pkg from errcheck and ineffassign (generated code patterns)
|
|
- linters:
|
|
- errcheck
|
|
- ineffassign
|
|
path: pkg/go-wayland/
|
|
# Exclude proto pkg from ineffassign (generated protocol code)
|
|
- linters:
|
|
- ineffassign
|
|
path: internal/proto/
|
|
# binary.Write to bytes.Buffer can't fail
|
|
- linters:
|
|
- errcheck
|
|
text: "Error return value of `binary\\.Write` is not checked"
|