Skip to content

Utility library for creating lightning fast Alfred 2 workflows

Notifications You must be signed in to change notification settings

pascalw/go-alfred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Utility library for creating lightning fast Alfred 2 workflows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages