All Projects → deanishe → Awgo

deanishe / Awgo

Licence: mit
Go library for Alfred 3 + 4 workflows

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Awgo

Alfy
Create Alfred workflows with ease
Stars: ✭ 2,232 (+301.44%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow, workflow
Alfred Fuzzy
Fuzzy search helper for Alfred 3+ workflows
Stars: ✭ 67 (-87.95%)
Mutual labels:  alfred, alfred-workflow, fuzzy-search, fuzzy
Alfred Iconfinder Search
Alfred 3 workflow for Iconfinder instant search
Stars: ✭ 14 (-97.48%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow, workflow
Alfred Workflow
Full-featured library for writing Alfred 3 & 4 workflows
Stars: ✭ 2,622 (+371.58%)
Mutual labels:  alfred, alfred-workflow, fuzzy-search, workflow
alfred-string-operations
Perform string operations to clipboard content
Stars: ✭ 70 (-87.41%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
Alfred Things
Interact with Things 3 using Alfred.
Stars: ✭ 278 (-50%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
Alfred Emoj
Alfred 3 workflow to find relevant emoji from text
Stars: ✭ 325 (-41.55%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
Alfred Slack
The Slack workflow for Alfred app
Stars: ✭ 254 (-54.32%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
Alfred Pinboard Rs
Alfred Workflow for Pinboard (Rust)
Stars: ✭ 223 (-59.89%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
alfred
A fast, simple way to make Alfred workflow script filters in Go
Stars: ✭ 25 (-95.5%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
Alfred Bear
Alfred 3 workflow to create and search notes in Bear.
Stars: ✭ 319 (-42.63%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
bookends-tools
Alfred Workflow to Integrate with Bookends, an academic reference manager/bibliography tool for macOS
Stars: ✭ 78 (-85.97%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
alfred-last2imgur
Alfred workflow to upload the last screenshot taken to Imgur + (delete and minify image)
Stars: ✭ 15 (-97.3%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
Alfred Npms
Alfred 3 workflow to search for npm packages with npms.io
Stars: ✭ 312 (-43.88%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
wipfred
🚧Manage your wip.chat todos with alfred
Stars: ✭ 23 (-95.86%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
alfred-caniuse
Quickly reference caniuse.com support tables using Alfred 3.
Stars: ✭ 16 (-97.12%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
AlfredWorkflows
My workflow creations for Alfred on macOS.
Stars: ✭ 55 (-90.11%)
Mutual labels:  alfred, workflow, alfred-workflow
alfred-microsoft-onenote-navigator
Use Alfred to browse through your Microsoft OneNote notebooks, section groups and sections and then jump to them instantly.
Stars: ✭ 52 (-90.65%)
Mutual labels:  alfred, workflow, alfred-workflow
Alfred Stackexchange
Search StackOverflow.com from Alfred
Stars: ✭ 335 (-39.75%)
Mutual labels:  alfred, alfred-workflow, workflow
Alfred Bear
Streamlined note searching and creation for Bear using Alfred
Stars: ✭ 203 (-63.49%)
Mutual labels:  alfred, alfred-workflow, alfred3-workflow
AwGo Logo

AwGo — A Go library for Alfred workflows

Build Status Go Report Card Coverage Status GoDoc

Full-featured library to build lightning-fast workflows in a jiffy.

Features

Installation & usage

Install AwGo with:

go get -u github.com/deanishe/awgo

Typically, you'd call your program's main entry point via Workflow.Run(). This way, the library will rescue any panic, log the stack trace and show an error message to the user in Alfred.

program.go:

package main

// Package is called aw
import "github.com/deanishe/awgo"

// Workflow is the main API
var wf *aw.Workflow

func init() {
    // Create a new Workflow using default settings.
    // Critical settings are provided by Alfred via environment variables,
    // so this *will* die in flames if not run in an Alfred-like environment.
    wf = aw.New()
}

// Your workflow starts here
func run() {
    // Add a "Script Filter" result
    wf.NewItem("First result!")
    // Send results to Alfred
    wf.SendFeedback()
}

func main() {
    // Wrap your entry point with Run() to catch and log panics and
    // show an error in Alfred instead of silently dying
    wf.Run(run)
}

In the Script Filter's Script box (Language = /bin/bash with input as argv):

./program "$1"

Documentation

Read the docs on GoDoc.

Check out the example workflows (docs), which show how to use AwGo. Use one as a template to get your own workflow up and running quickly.

Requirements

The library (and therefore the unit tests) rely on being run in a minimally Alfred-like environment, as they pull configuration options from the environment variables set by Alfred.

This means that if you want to run AwGo-based code outside Alfred, e.g. in your shell, you must set at least the following environment variables to meaningful values, or the library will panic:

  • alfred_workflow_bundleid
  • alfred_workflow_cache
  • alfred_workflow_data

And if you're using the update API, also:

  • alfred_workflow_version
  • alfred_version (not needed for Alfred 4+)

Development

To create a sufficiently Alfred-like environment, you can source the env.sh script in the project root or run unit tests via the run-tests.sh script (which also sets up an appropriate environment before calling go test).

Licensing & thanks

This library is released under the MIT licence. It was built with neovim and GoLand by JetBrains.

The icon is based on the Go Gopher by Renee French.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].