Add flag to only print the index of bookmark

This commit is contained in:
Radhi Fadlillah 2018-01-30 11:14:34 +07:00
parent fa6f0eebc3
commit 877a9f116c
2 changed files with 16 additions and 1 deletions

View file

@ -19,6 +19,7 @@ var (
Run: func(cmd *cobra.Command, args []string) {
// Read flags
useJSON, _ := cmd.Flags().GetBool("json")
indexOnly, _ := cmd.Flags().GetBool("index-only")
// Read bookmarks from database
bookmarks, err := DB.GetBookmarks(args...)
@ -45,6 +46,8 @@ var (
os.Exit(1)
}
fmt.Println(string(bt))
} else if indexOnly {
printBookmarkIndex(bookmarks...)
} else {
printBookmark(bookmarks...)
}
@ -54,9 +57,17 @@ var (
func init() {
printCmd.Flags().BoolP("json", "j", false, "Output data in JSON format")
printCmd.Flags().BoolP("index-only", "i", false, "Only print the index of bookmarks")
rootCmd.AddCommand(printCmd)
}
func printBookmarkIndex(bookmarks ...model.Bookmark) {
for _, bookmark := range bookmarks {
fmt.Printf("%d ", bookmark.ID)
}
fmt.Println()
}
func printBookmark(bookmarks ...model.Bookmark) {
for _, bookmark := range bookmarks {
// Create bookmark index

View file

@ -19,8 +19,9 @@ var (
Args: cobra.MaximumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
// Read flags
useJSON, _ := cmd.Flags().GetBool("json")
tags, _ := cmd.Flags().GetStringSlice("tags")
useJSON, _ := cmd.Flags().GetBool("json")
indexOnly, _ := cmd.Flags().GetBool("index-only")
// Fetch keyword
keyword := ""
@ -48,6 +49,8 @@ var (
os.Exit(1)
}
fmt.Println(string(bt))
} else if indexOnly {
printBookmarkIndex(bookmarks...)
} else {
printBookmark(bookmarks...)
}
@ -57,6 +60,7 @@ var (
func init() {
searchCmd.Flags().BoolP("json", "j", false, "Output data in JSON format")
searchCmd.Flags().BoolP("index-only", "i", false, "Only print the index of bookmarks")
searchCmd.Flags().StringSliceP("tags", "t", []string{}, "Search bookmarks with specified tag(s)")
rootCmd.AddCommand(searchCmd)
}