33
33
get string = "get"
34
34
keys string = "keys"
35
35
save string = "save"
36
- update string = "update"
37
36
del string = "delete"
38
37
export string = "export"
39
38
list string = "list"
43
42
)
44
43
45
44
var helpText map [string ]string = map [string ]string {
46
- save : "save\t Save a command as a speed dial key" ,
47
- update : "update\t Update a saved speed dial key" ,
45
+ save : "save\t Save/update a command as a speed dial key" ,
48
46
del : "delete\t Delete a saved speed dial key" ,
49
47
get : "get\t Get speed dial entities (keys, values) as a whitespace separated list. Useful for the creation of helper functions (bash completion for ex)." ,
50
48
export : "export\t Export your .dial_key file to another remote location" ,
@@ -113,7 +111,6 @@ func printMainHelp() {
113
111
fmt .Println ("Speed dial: a CLI intended to help you remember and faster execute commands you typically write, over and over again." )
114
112
fmt .Println ("\n Commands:\n " )
115
113
fmt .Println (helpText [save ])
116
- fmt .Println (helpText [update ])
117
114
fmt .Println (helpText [del ])
118
115
fmt .Println (helpText [get ])
119
116
fmt .Println (helpText [export ])
@@ -295,30 +292,24 @@ func main() {
295
292
}
296
293
297
294
saveCommand := flag .NewFlagSet (save , flag .ExitOnError )
298
- updateCommand := flag .NewFlagSet (update , flag .ExitOnError )
299
295
deleteCommand := flag .NewFlagSet (del , flag .ExitOnError )
300
296
exportCommand := flag .NewFlagSet (export , flag .ExitOnError )
301
297
302
298
getCommand := flag .NewFlagSet (get , flag .ExitOnError )
303
299
getKeyPtr := getCommand .Bool ("key" , false , "Get keys as a whitespace separated list" )
304
- getValuePtr := getCommand .Bool ("value " , false , "Get values as whitespace separated list" )
300
+ getValuePtr := getCommand .Bool ("val " , false , "Get values as whitespace separated list" )
305
301
306
302
listCommand := flag .NewFlagSet (list , flag .ExitOnError )
307
303
listLongPtr := listCommand .Bool ("l" , false , "List saved commands in a non-truncated format independent of screen size" )
308
304
309
305
saveKeyPtr := saveCommand .String ("key" , "" , "Key to save. (Required)" )
310
306
saveValPtr := saveCommand .String ("val" , "" , "Val to map key to. (Required)\n \n " +
311
307
"Note:\n " +
312
- "The key naming: \" keys \" is reserved and white space characters are not allowed in the key naming. \n " +
308
+ "White space characters are not allowed in the key naming. \n " +
313
309
"Special characters such as: $ - for variable reference or ' - single quoutes need to be escaped using the \\ character\n \t " +
314
- "Ex: speedial save -key ex -val \" for i in {1,2,3}; do echo $\\ i; done\" \n \t " +
315
- "or: speedial save -key ex2 -val \" echo I\\ 'm home\" \n \n " +
316
- "Save is implemented to save non-existing keys. To update a key use command: update\n " )
317
-
318
- updateKeyPtr := updateCommand .String ("key" , "" , "Key to update. (Required)" )
319
- updateValPtr := updateCommand .String ("val" , "" , "Value to update key with. (Required)\n \n " +
320
- "Note:\n " +
321
- "Update is implemented to update existing keys. To save a new use command: save" )
310
+ "Ex: sd save -key ex -val \" for i in {1,2,3}; do echo $\\ i; done\" \n \t " +
311
+ "or: sd save -key ex2 -val \" echo I\\ 'm home\" \n \t " +
312
+ "or: sd save -key ex3 -val \" echo {1} {2}\" , which can be expanded as: sd ex3 hello world -> hello world" )
322
313
323
314
deleteKeyPtr := deleteCommand .String ("key" , "" , "Key to delete. (Required)" )
324
315
@@ -341,11 +332,6 @@ func main() {
341
332
if isHelpRequested (saveCommand , os .Args ) {
342
333
os .Exit (0 )
343
334
}
344
- case update :
345
- updateCommand .Parse (os .Args [2 :])
346
- if isHelpRequested (updateCommand , os .Args ) {
347
- os .Exit (0 )
348
- }
349
335
case del :
350
336
deleteCommand .Parse (os .Args [2 :])
351
337
if isHelpRequested (deleteCommand , os .Args ) {
@@ -371,49 +357,27 @@ func main() {
371
357
os .Exit (0 )
372
358
default :
373
359
sdMap := readFile (true )
374
- val ,_ := verifyKey (sdMap , os .Args [1 ])
360
+ val ,exists := verifyKey (sdMap , os .Args [1 ])
361
+ if ! exists {
362
+ fmt .Printf ("Cannot execute command: unknown key %s\n " , os .Args [1 ])
363
+ os .Exit (1 )
364
+ }
375
365
val = parseCmd (val )
376
366
execCmd (val )
377
367
}
378
368
379
369
380
370
if saveCommand .Parsed () {
381
371
382
- if * saveKeyPtr == "" || * saveValPtr == "" || * saveKeyPtr == "keys" || strings .Contains (* saveKeyPtr , " " ) {
372
+ if * saveKeyPtr == "" || * saveValPtr == "" || strings .Contains (* saveKeyPtr , " " ) {
383
373
saveCommand .PrintDefaults ()
384
374
os .Exit (1 )
385
375
}
386
376
sdMap := readFile (false )
387
- _ , exists := verifyKey (sdMap , * saveKeyPtr )
388
- if ! exists {
389
- sdMap [* saveKeyPtr ] = * saveValPtr
390
- writeFile (sdMap )
391
-
392
- fmt .Printf ("Saved key %s as value: %s\n " , * saveKeyPtr , * saveValPtr )
393
- os .Exit (0 )
394
- }
395
- fmt .Printf ("Cannot execute command %s, key: %s exists. Use update instead.\n " , save , * saveKeyPtr )
396
- os .Exit (1 )
397
- }
398
-
399
- if updateCommand .Parsed () {
400
-
401
- if * updateKeyPtr == "" || * updateValPtr == "" {
402
- updateCommand .PrintDefaults ()
403
- os .Exit (1 )
404
- }
405
-
406
- sdMap := readFile (true )
407
- _ , exists := verifyKey (sdMap , * updateKeyPtr )
408
- if exists {
409
- sdMap [* updateKeyPtr ] = * updateValPtr
410
- writeFile (sdMap )
411
-
412
- fmt .Printf ("Updated key %s as value: %s\n " , * updateKeyPtr , * updateValPtr )
413
- os .Exit (0 )
414
- }
415
- fmt .Printf ("Cannot execute command: %s, unknown key %s\n " , update , * updateKeyPtr )
416
- os .Exit (1 )
377
+ sdMap [* saveKeyPtr ] = * saveValPtr
378
+ writeFile (sdMap )
379
+ fmt .Printf ("Saved key %s as value: %s\n " , * saveKeyPtr , * saveValPtr )
380
+ os .Exit (0 )
417
381
}
418
382
419
383
if deleteCommand .Parsed () {
0 commit comments