fix(cmd): handle errors and improve output formatting
* update error handling in various commands to use blank identifier * enhance output formatting for better readability * add golangci-lint to Makefile for linting checks
This commit is contained in:
+10
-10
@@ -37,7 +37,7 @@ func cmdLint(args []string, stdin io.Reader, stdout, stderr io.Writer) int {
|
||||
}
|
||||
}
|
||||
case len(a) > 1 && a[0] == '-':
|
||||
fmt.Fprintf(stderr, "pgtidy lint: unknown flag %q\n", a)
|
||||
_, _ = fmt.Fprintf(stderr, "pgtidy lint: unknown flag %q\n", a)
|
||||
return 2
|
||||
default:
|
||||
files = append(files, a)
|
||||
@@ -75,7 +75,7 @@ func cmdLint(args []string, stdin io.Reader, stdout, stderr io.Writer) int {
|
||||
if loc == "" {
|
||||
loc = "stdin"
|
||||
}
|
||||
fmt.Fprintf(stdout, "%s: [%s] %s: %s\n", loc, d.RuleID, d.Severity, d.Message)
|
||||
_, _ = fmt.Fprintf(stdout, "%s: [%s] %s: %s\n", loc, d.RuleID, d.Severity, d.Message)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,18 +84,18 @@ func cmdLint(args []string, stdin io.Reader, stdout, stderr io.Writer) int {
|
||||
if len(files) == 0 {
|
||||
src, err := io.ReadAll(stdin)
|
||||
if err != nil {
|
||||
fmt.Fprintf(stderr, "pgtidy: reading stdin: %v\n", err)
|
||||
_, _ = fmt.Fprintf(stderr, "pgtidy: reading stdin: %v\n", err)
|
||||
return 2
|
||||
}
|
||||
diags, err := check(string(src), "")
|
||||
if err != nil {
|
||||
fmt.Fprintf(stderr, "pgtidy: %v\n", err)
|
||||
_, _ = fmt.Fprintf(stderr, "pgtidy: %v\n", err)
|
||||
return 2
|
||||
}
|
||||
if fix {
|
||||
fixed := lint.ApplyFixes(string(src), diags)
|
||||
if fixed != string(src) {
|
||||
io.WriteString(stdout, fixed)
|
||||
_, _ = io.WriteString(stdout, fixed)
|
||||
return 0
|
||||
}
|
||||
}
|
||||
@@ -107,25 +107,25 @@ func cmdLint(args []string, stdin io.Reader, stdout, stderr io.Writer) int {
|
||||
for _, path := range files {
|
||||
src, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
fmt.Fprintf(stderr, "pgtidy: %v\n", err)
|
||||
_, _ = fmt.Fprintf(stderr, "pgtidy: %v\n", err)
|
||||
return 2
|
||||
}
|
||||
diags, err := check(string(src), path)
|
||||
if err != nil {
|
||||
fmt.Fprintf(stderr, "pgtidy: %v\n", err)
|
||||
_, _ = fmt.Fprintf(stderr, "pgtidy: %v\n", err)
|
||||
return 2
|
||||
}
|
||||
if fix {
|
||||
fixed := lint.ApplyFixes(string(src), diags)
|
||||
if fixed != string(src) {
|
||||
if err := os.WriteFile(path, []byte(fixed), 0o644); err != nil {
|
||||
fmt.Fprintf(stderr, "pgtidy: writing %s: %v\n", path, err)
|
||||
_, _ = fmt.Fprintf(stderr, "pgtidy: writing %s: %v\n", path, err)
|
||||
return 2
|
||||
}
|
||||
// Re-check to report any remaining unfixed diagnostics.
|
||||
diags, err = check(fixed, path)
|
||||
if err != nil {
|
||||
fmt.Fprintf(stderr, "pgtidy: %v\n", err)
|
||||
_, _ = fmt.Fprintf(stderr, "pgtidy: %v\n", err)
|
||||
return 2
|
||||
}
|
||||
}
|
||||
@@ -144,7 +144,7 @@ func cmdLint(args []string, stdin io.Reader, stdout, stderr io.Writer) int {
|
||||
}
|
||||
|
||||
func lintUsage(w io.Writer) {
|
||||
fmt.Fprint(w, `Usage: pgtidy lint [flags] [file ...]
|
||||
_, _ = fmt.Fprint(w, `Usage: pgtidy lint [flags] [file ...]
|
||||
|
||||
Read SQL from files (or stdin) and report lint findings.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user