Support list single service by service name (#12)

diff --git a/commands/service/list.go b/commands/service/list.go
index 81b5de7..feacb89 100644
--- a/commands/service/list.go
+++ b/commands/service/list.go
@@ -29,10 +29,12 @@
 )
 
 var ListCommand = cli.Command{
-	Name:      "list",
-	ShortName: "ls",
-	Usage:     "List all available services",
-	Flags:     flags.DurationFlags,
+	Name:        "list",
+	ShortName:   "ls",
+	Usage:       "List services",
+	ArgsUsage:   "<service name>",
+	Description: "list all services if no <service name> is given, otherwise, only list the given service",
+	Flags:       flags.DurationFlags,
 	Before: interceptor.BeforeChain([]cli.BeforeFunc{
 		interceptor.DurationInterceptor,
 	}),
@@ -40,11 +42,19 @@
 		end := ctx.String("end")
 		start := ctx.String("start")
 		step := ctx.Generic("step")
-		services := client.Services(ctx, schema.Duration{
-			Start: start,
-			End:   end,
-			Step:  step.(*model.StepEnumValue).Selected,
-		})
+
+		var services []schema.Service
+
+		if args := ctx.Args(); len(args) == 0 {
+			services = client.Services(ctx, schema.Duration{
+				Start: start,
+				End:   end,
+				Step:  step.(*model.StepEnumValue).Selected,
+			})
+		} else {
+			service, _ := client.SearchService(ctx, args.First())
+			services = []schema.Service{service}
+		}
 
 		return display.Display(ctx, services)
 	},
diff --git a/graphql/client/client.go b/graphql/client/client.go
index 70f8081..fb870a0 100644
--- a/graphql/client/client.go
+++ b/graphql/client/client.go
@@ -86,8 +86,8 @@
 	var response map[string]schema.Service
 	request := graphql.NewRequest(`
 		query searchService($serviceCode: String!) {
-    		service: searchService(serviceCode: $serviceCode) {
-      				id name
+			service: searchService(serviceCode: $serviceCode) {
+				id name
 			}
 		}
 	`)