Initial release: Tolo v1.0.0
- Add core CLI functionality (save, run, update, delete, list, show, search)
- Implement JSON-based storage in ~/.tolo/tolo.db.json
- Add beautiful terminal UI with colors and icons
- Support command shortcuts (s, r, u, d, ls, l, sh, se, h, v)
- Add Bash and Zsh shell completion
- Include comprehensive documentation (README, CONTRIBUTING, SECURITY)
- Set up CI/CD workflows with GitHub Actions
- Add installation script and Makefile for build automation
- MIT License
Made with ❤️ at Zemenawi Lab
2026-03-27 06:44:03 +03:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"os"
|
|
|
|
|
"strings"
|
|
|
|
|
"tolo/cmd"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var version = "dev"
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
if len(os.Args) < 2 {
|
|
|
|
|
fmt.Println(cmd.Help())
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
command := os.Args[1]
|
|
|
|
|
args := strings.Join(os.Args[2:], " ")
|
|
|
|
|
|
|
|
|
|
switch command {
|
|
|
|
|
case "save", "s":
|
|
|
|
|
if err := cmd.Save(args); err != nil {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
case "run", "r":
|
|
|
|
|
if err := cmd.Run(args); err != nil {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
case "update", "u":
|
|
|
|
|
if err := cmd.Update(args); err != nil {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
case "delete", "del", "rm", "d":
|
|
|
|
|
if err := cmd.Delete(args); err != nil {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
case "list", "ls", "l":
|
|
|
|
|
if err := cmd.List(args); err != nil {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
case "show", "sh", "info":
|
|
|
|
|
if err := cmd.Show(args); err != nil {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
case "search", "se", "find":
|
|
|
|
|
if err := cmd.Search(args); err != nil {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
2026-04-30 03:07:04 +03:00
|
|
|
case "script", "sc":
|
|
|
|
|
if err := cmd.HandleScript(os.Args[2:]); err != nil {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
Initial release: Tolo v1.0.0
- Add core CLI functionality (save, run, update, delete, list, show, search)
- Implement JSON-based storage in ~/.tolo/tolo.db.json
- Add beautiful terminal UI with colors and icons
- Support command shortcuts (s, r, u, d, ls, l, sh, se, h, v)
- Add Bash and Zsh shell completion
- Include comprehensive documentation (README, CONTRIBUTING, SECURITY)
- Set up CI/CD workflows with GitHub Actions
- Add installation script and Makefile for build automation
- MIT License
Made with ❤️ at Zemenawi Lab
2026-03-27 06:44:03 +03:00
|
|
|
case "help", "h":
|
|
|
|
|
fmt.Println(cmd.Help())
|
|
|
|
|
case "version", "v":
|
|
|
|
|
fmt.Println(cmd.Version(version))
|
|
|
|
|
case "--bash-completion":
|
|
|
|
|
fmt.Println(cmd.GenerateBashCompletion())
|
|
|
|
|
case "--zsh-completion":
|
|
|
|
|
fmt.Println(cmd.GenerateZshCompletion())
|
|
|
|
|
case "--completion":
|
|
|
|
|
if err := cmd.Completion(args); err != nil {
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
default:
|
|
|
|
|
fmt.Fprintf(os.Stderr, "Unknown command: %s\n\n", command)
|
|
|
|
|
fmt.Println(cmd.Help())
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
}
|