@@ -41,6 +41,7 @@ func main() {
4141
4242 maxItems := flag .Uint64 ("max-items" , 750 , "maximum number of items to store" )
4343 maxDedupeSearch := flag .Uint64 ("max-dedupe-search" , 100 , "maximum number of last items to look through when finding duplicates" )
44+ previewWidth := flag .Uint ("preview-width" , 100 , "maximum number of characters to preview" )
4445 flag .Parse ()
4546
4647 var err error
@@ -54,7 +55,7 @@ func main() {
5455 err = store (os .Stdin , * maxDedupeSearch , * maxItems )
5556 }
5657 case "list" :
57- err = list (os .Stdout )
58+ err = list (os .Stdout , * previewWidth )
5859 case "decode" :
5960 err = decode (os .Stdin , os .Stdout , flag .Arg (1 ))
6061 case "delete-query" :
@@ -159,7 +160,7 @@ func deduplicate(b *bolt.Bucket, input []byte, maxDedupeSearch uint64) error {
159160 return nil
160161}
161162
162- func list (out io.Writer ) error {
163+ func list (out io.Writer , previewWidth uint ) error {
163164 db , err := initDBReadOnly ()
164165 if err != nil {
165166 return fmt .Errorf ("opening db: %w" , err )
@@ -175,7 +176,7 @@ func list(out io.Writer) error {
175176 b := tx .Bucket ([]byte (bucketKey ))
176177 c := b .Cursor ()
177178 for k , v := c .Last (); k != nil ; k , v = c .Prev () {
178- fmt .Fprintln (out , preview (btoi (k ), v ))
179+ fmt .Fprintln (out , preview (btoi (k ), v , previewWidth ))
179180 }
180181 return nil
181182}
@@ -384,15 +385,15 @@ func initDBOption(ro bool) (*bolt.DB, error) {
384385 return db , nil
385386}
386387
387- func preview (index uint64 , data []byte ) string {
388+ func preview (index uint64 , data []byte , width uint ) string {
388389 if config , format , err := image .DecodeConfig (bytes .NewReader (data )); err == nil {
389390 return fmt .Sprintf ("%d%s[[ binary data %s %s %dx%d ]]" ,
390391 index , fieldSep , sizeStr (len (data )), format , config .Width , config .Height )
391392 }
392393 prev := string (data )
393394 prev = strings .TrimSpace (prev )
394395 prev = strings .Join (strings .Fields (prev ), " " )
395- prev = trunc (prev , 100 , "…" )
396+ prev = trunc (prev , int ( width ) , "…" )
396397 return fmt .Sprintf ("%d%s%s" , index , fieldSep , prev )
397398}
398399
0 commit comments