diff options
| author | JP Appel <jeanpierre.appel01@gmail.com> | 2025-07-22 15:41:03 -0400 |
|---|---|---|
| committer | JP Appel <jeanpierre.appel01@gmail.com> | 2025-07-22 15:41:03 -0400 |
| commit | 344c6526a8d6f490fc7628ddc7d2dd06ed1a07c1 (patch) | |
| tree | 342878ff5d77b557533d6e5473e1d8f6e79ac6e9 /cmd/index.go | |
| parent | faf35ef54885bc48b897508ce3cb40b868ff505b (diff) | |
Separate program entry point from commands
Diffstat (limited to 'cmd/index.go')
| -rw-r--r-- | cmd/index.go | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/cmd/index.go b/cmd/index.go index dde9550..5454a8a 100644 --- a/cmd/index.go +++ b/cmd/index.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "context" @@ -18,7 +18,7 @@ type IndexFlags struct { index.ParseOpts } -func setupIndexFlags(args []string, fs *flag.FlagSet, flags *IndexFlags) { +func SetupIndexFlags(args []string, fs *flag.FlagSet, flags *IndexFlags) { flags.ParseLinks = true flags.ParseMeta = true fs.BoolVar(&flags.IgnoreDateError, "ignoreBadDates", false, "ignore malformed dates while indexing") @@ -77,7 +77,7 @@ func setupIndexFlags(args []string, fs *flag.FlagSet, flags *IndexFlags) { } } -func runIndex(gFlags GlobalFlags, iFlags IndexFlags, db *data.Query) byte { +func RunIndex(gFlags GlobalFlags, iFlags IndexFlags, db *data.Query) byte { switch iFlags.Subcommand { case "build", "update": @@ -99,19 +99,27 @@ func runIndex(gFlags GlobalFlags, iFlags IndexFlags, db *data.Query) byte { filteredFiles := idx.Filter(traversedFiles, gFlags.NumWorkers) fmt.Print(", Filtered ", len(filteredFiles)) - idx.Documents = index.ParseDocs(filteredFiles, gFlags.NumWorkers, iFlags.ParseOpts) + var errCnt uint64 + idx.Documents, errCnt = index.ParseDocs(filteredFiles, gFlags.NumWorkers, iFlags.ParseOpts) fmt.Print(", Parsed ", len(idx.Documents), "\n") + if errCnt > 0 { + fmt.Printf("Encountered %d document parse errors", errCnt) + if !slog.Default().Enabled(context.Background(), slog.LevelWarn) { + fmt.Print(" (set log level to warn for more info)") + } + fmt.Println() + } var err error // switch in order to appease gopls... switch iFlags.Subcommand { - case "index": + case "build": err = db.Put(idx) case "update": err = db.Update(idx) } if err != nil { - fmt.Fprintln(os.Stderr, err) + fmt.Fprintln(os.Stderr, "Error modifying index:", err) return 1 } case "tidy": @@ -120,9 +128,12 @@ func runIndex(gFlags GlobalFlags, iFlags IndexFlags, db *data.Query) byte { return 1 } default: - fmt.Fprintln(os.Stderr, "Unrecognised index subcommands: ", iFlags.Subcommand) + fmt.Fprintln(os.Stderr, "Unrecognized index subcommands: ", iFlags.Subcommand) return 2 } return 0 } + +func init() { +} |
