Skip to content

Commit

Permalink
Add autocomplete for snippet keywords
Browse files Browse the repository at this point in the history
  • Loading branch information
baopham committed Jun 26, 2017
1 parent 615a007 commit c0f49a5
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 13 deletions.
35 changes: 35 additions & 0 deletions cli/autocomplete.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package cli

import (
"encoding/csv"
"fmt"
"github.com/baopham/snip/snippet"
"github.com/urfave/cli"
"os"
)

func Autocomplete(c *cli.Context) {
filePath, err := snippet.SnippetFile()

if err != nil {
return
}

file, err := os.Open(filePath)

if err != nil {
return
}

reader := csv.NewReader(file)

for {
row, err := reader.Read()

if err != nil {
return
}

fmt.Println(row[0])
}
}
30 changes: 17 additions & 13 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,11 @@ func main() {
Action: Action(snippetCli.Add),
},
{
Name: "search",
Aliases: []string{"s"},
Usage: "search for snippets: snip search port",
Action: Action(snippetCli.Search),
Name: "search",
Aliases: []string{"s"},
Usage: "search for snippets: snip search port",
Action: Action(snippetCli.Search),
BashComplete: snippetCli.Autocomplete,
},
{
Name: "execute",
Expand All @@ -64,19 +65,22 @@ func main() {
"Without this option, the snippet will be saved to the clipboard instead",
},
},
Action: Action(snippetCli.Execute),
Action: Action(snippetCli.Execute),
BashComplete: snippetCli.Autocomplete,
},
{
Name: "list",
Aliases: []string{"l"},
Usage: "list all saved snippets: snip list",
Action: Action(snippetCli.List),
Name: "list",
Aliases: []string{"l"},
Usage: "list all saved snippets: snip list",
Action: Action(snippetCli.List),
BashComplete: snippetCli.Autocomplete,
},
{
Name: "remove",
Aliases: []string{"r"},
Usage: "remove a saved snippet: snip remove port",
Action: Action(snippetCli.Remove),
Name: "remove",
Aliases: []string{"r"},
Usage: "remove a saved snippet: snip remove port",
Action: Action(snippetCli.Remove),
BashComplete: snippetCli.Autocomplete,
},
}

Expand Down

0 comments on commit c0f49a5

Please sign in to comment.