{"id":13768370,"url":"https://github.com/meck/alfred-hoogle","last_synced_at":"2025-05-10T23:31:11.816Z","repository":{"id":215984655,"uuid":"155111699","full_name":"meck/alfred-hoogle","owner":"meck","description":"Search Hoogle with Alfred","archived":false,"fork":false,"pushed_at":"2019-11-20T10:49:10.000Z","size":1072,"stargazers_count":20,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-17T03:31:29.951Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meck.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-28T20:18:31.000Z","updated_at":"2022-11-20T09:26:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"2feeb6b4-e2b3-4931-bd35-d8b8fa8caca3","html_url":"https://github.com/meck/alfred-hoogle","commit_stats":null,"previous_names":["meck/alfred-hoogle"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meck%2Falfred-hoogle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meck%2Falfred-hoogle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meck%2Falfred-hoogle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meck%2Falfred-hoogle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meck","download_url":"https://codeload.github.com/meck/alfred-hoogle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253497296,"owners_count":21917683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T16:01:20.511Z","updated_at":"2025-05-10T23:31:10.752Z","avatar_url":"https://github.com/meck.png","language":"Haskell","funding_links":[],"categories":["Developer"],"sub_categories":[],"readme":"# Alfred-Hoogle\n\n### A [Alfred](https://www.alfredapp.com) workflow for searching [Hoogle](https://hoogle.haskell.org)\n\nThis was made for my own use and to test my library for writing Alfred workflows in Haskell [alfred-footman](https://github.com/meck/alfred-footman). It can search locally and online simultaneously while filtering the results for duplicates. The default keyword is `ho`\n\n![Demo](/docs/Screenshot.png)\n\n### Possible actions on results\n* \u003ckbd\u003eEnter\u003c/kbd\u003e on a result opens the item docs in a browser.\n* \u003ckbd\u003eEnter\u003c/kbd\u003e+\u003ckbd\u003eShift\u003c/kbd\u003e opens the package docs of the item on Hackage or locally.\n* \u003ckbd\u003eEnter\u003c/kbd\u003e+\u003ckbd\u003eCtrl\u003c/kbd\u003e opens the module docs of the item if any on Hackage or locally.\n* \u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003eEnter\u003c/kbd\u003e opens the package docs of the item on Stackage.\n* \u003ckbd\u003eCmd\u003c/kbd\u003e show the docs if any below the item. \n* \u003ckbd\u003eCmd\u003c/kbd\u003e+\u003ckbd\u003eY\u003c/kbd\u003e or a tap on \u003ckbd\u003eShift\u003c/kbd\u003e opens a quicklook window.\n* \u003ckbd\u003eCmd\u003c/kbd\u003e+\u003ckbd\u003eC\u003c/kbd\u003e copies the function name.\n\n## Installation\nDownload binary from releases or check build section\n\n## Settings\nSettings are available via the `hoset` keyword\n\n### Use a alternative server\nEnabling this changes the server address from `hoogle.haskell.org` to `localhost:8080`,\nfor use with commands like `stack hoogle --server`.\n\n### Use a local database\nLocal search is disabled by default, enable it from the settings. \nWhen searching next you will be prompted to build a database.\nThe indexing takes a while but reports back when its done.\n\nThe default source for the database is stackage.\nIt can be set to a local folder with a Alfred file action,\nany packages in this folder will be indexed then.\n\nIt's possible to trigger a rebuild of the database anytime if needed.\n\nIf both online and local search is enabled results will be merged and filtered for duplicates,\nby default the results from the local search take precedence, this changeable in the settings.\n\n### Workflow variables\nSome settings are available as workflow variables in Alfred:\n- The alternate address, default `http://localhost:8080`\n- The number of local search results, default `15`\n- The number of web search results, default `15`\n\n### External trigger\nFor triggering via applescript, as an example use it with Vim to lookup the word under the cursor:\n``` vimscript\nnnoremap \u003csilent\u003e\u003cLeader\u003eho :silent execute \n    \\ ':!/usr/bin/osascript -e '\n    \\ . shellescape(\n    \\ 'tell application id \"com.runningwithcrayons.Alfred\"\n    \\ to run trigger \"ext_trig\"\n    \\ in workflow \"se.meck.alfred-hoogle\"\n    \\ with argument \"' . expand('\u003ccword\u003e') . '\"'\n    \\ )\u003cCR\u003e\n``` \n### Building\n1. Ensure `stack` is installed\n2. Run `./build.hs` script, this makes `Hoggle.alfredworkflow`\n3. Open it with Alfred\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeck%2Falfred-hoogle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeck%2Falfred-hoogle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeck%2Falfred-hoogle/lists"}