Utility library for creating lightning fast Alfred 2 workflows
Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
example
.gitignore
README.md
alfred.go
cache.go

README.md

go-alfred

Go-alfred is a utility library for quickly writing lightning fast Alfred 2 workflows using Golang.

Example usage

package main

import (
	"os"
	"github.com/pascalw/go-alfred"
	"net/http"
	"io/ioutil"
	"encoding/json"
)

func main() {
	queryTerms := os.Args[1:]

	// optimize query terms for fuzzy matching
	alfred.InitTerms(queryTerms)

	// create a new alfred workflow response
	response := alfred.NewResponse()
	repos := getRepos()

	for _, repo := range repos {
		// check if the repo name fuzzy matches the query terms
		if ! alfred.MatchesTerms(queryTerms, repo.Name) { continue }

		// it matched so add a new response item
		response.AddItem(&alfred.AlfredResponseItem{
			Valid: true,
			Uid: repo.URL,
			Title: repo.Name,
			Arg: repo.URL,
		})
	}

	// finally print the resulting Alfred Workflow XML
	response.Print()
}	

See Example/ for details.