// AddCommand adds a Note func AddCommand(c *cli.Context, i storage.Impl) (n storage.Note, err error) { nName, err := NoteName(c) if err != nil { return n, err } if exists := i.NoteExists(nName); exists == true { return n, fmt.Errorf("Note already exists") } n.Name = nName n.Temporary = c.Bool("t") // Only open editor if -p (read from clipboard) isnt set if c.IsSet("p") { nText, err := clipboard.ReadAll() if err != nil { return n, err } n.Text = nText } else { if err := writer.WriteNote(&n); err != nil { return n, err } } if err := i.SaveNote(&n); err != nil { return n, err } return n, nil }
// RenameCommand renames a Note func RenameCommand(c *cli.Context, i storage.Impl) (nName string, newName string, err error) { nName, err = NoteName(c) if err != nil { return nName, newName, err } n, err := i.LoadNote(nName) if err != nil { return nName, newName, err } reader := bufio.NewReader(os.Stdin) fmt.Print(fmt.Sprintf("Rename note '%s' to: ", n.Name)) newName, err = reader.ReadString('\n') if err != nil { return nName, newName, err } newName = strings.Trim(newName, "\n") if newName == "" { return nName, newName, errors.New("Note name can't be blank") } if i.NoteExists(newName) == true { return nName, newName, fmt.Errorf("Note '%s' already exists", newName) } if err = i.RenameNote(n.ID, newName); err != nil { return nName, newName, fmt.Errorf("Failed to rename note '%s' to '%s'.", nName, newName) } return nName, newName, nil }