From b422f498bf3053bdc69c62a9946f047dfb09e125 Mon Sep 17 00:00:00 2001 From: Stefan Majewsky Date: Tue, 4 Apr 2017 20:11:19 +0200 Subject: prepare subcommand structure --- main.go | 55 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 10 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 153fdb9..012667e 100644 --- a/main.go +++ b/main.go @@ -1,28 +1,63 @@ /******************************************************************************* * -* Copyright 2015 Stefan Majewsky +* Copyright 2017 Stefan Majewsky * -* This file is part of Holo. -* -* Holo is free software: you can redistribute it and/or modify it under the -* terms of the GNU General Public License as published by the Free Software +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * -* Holo is distributed in the hope that it will be useful, but WITHOUT ANY +* This program is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with -* Holo. If not, see . +* this program. If not, see . * *******************************************************************************/ package main -import "fmt" +import ( + "fmt" + "os" +) func main() { - fmt.Println("WARNING: unfinished") - ReadIndex().Write() + if len(os.Args) == 1 { + usageAndExit() + } + switch os.Args[1] { + case "get": + panic("unimplemented") + case "drop": + panic("unimplemented") + case "index": + if len(os.Args) != 2 { + usageAndExit() + } + commandIndex() + case "repos": + panic("unimplemented") + case "remotes": + panic("unimplemented") + case "import": + panic("unimplemented") + case "each": + panic("unimplemented") + default: + usageAndExit() + } +} + +func usageAndExit() { + fmt.Fprintln(os.Stderr, "Usage:") + fmt.Fprintln(os.Stderr, " rtree [get|drop] ") + fmt.Fprintln(os.Stderr, " rtree [index|repos|remotes]") + fmt.Fprintln(os.Stderr, " rtree import ") + fmt.Fprintln(os.Stderr, " rtree each ") + os.Exit(1) +} + +func commandIndex() { } -- cgit v1.3.1