Home

Awesome

Alfred-Hoogle

A Alfred workflow for searching Hoogle

This was made for my own use and to test my library for writing Alfred workflows in Haskell alfred-footman. It can search locally and online simultaneously while filtering the results for duplicates. The default keyword is ho

Demo

Possible actions on results

Installation

Download binary from releases or check build section

Settings

Settings are available via the hoset keyword

Use a alternative server

Enabling this changes the server address from hoogle.haskell.org to localhost:8080, for use with commands like stack hoogle --server.

Use a local database

Local search is disabled by default, enable it from the settings. When searching next you will be prompted to build a database. The indexing takes a while but reports back when its done.

The default source for the database is stackage. It can be set to a local folder with a Alfred file action, any packages in this folder will be indexed then.

It's possible to trigger a rebuild of the database anytime if needed.

If both online and local search is enabled results will be merged and filtered for duplicates, by default the results from the local search take precedence, this changeable in the settings.

Workflow variables

Some settings are available as workflow variables in Alfred:

External trigger

For triggering via applescript, as an example use it with Vim to lookup the word under the cursor:

nnoremap <silent><Leader>ho :silent execute 
    \ ':!/usr/bin/osascript -e '
    \ . shellescape(
    \ 'tell application id "com.runningwithcrayons.Alfred"
    \ to run trigger "ext_trig"
    \ in workflow "se.meck.alfred-hoogle"
    \ with argument "' . expand('<cword>') . '"'
    \ )<CR>

Building

  1. Ensure stack is installed
  2. Run ./build.hs script, this makes Hoggle.alfredworkflow
  3. Open it with Alfred