{"id":19813590,"url":"https://github.com/lazamar/haskell-docs-cli","last_synced_at":"2025-09-05T21:37:21.502Z","repository":{"id":44676502,"uuid":"400643037","full_name":"lazamar/haskell-docs-cli","owner":"lazamar","description":"Browse Hackage from the terminal","archived":false,"fork":false,"pushed_at":"2024-12-07T20:35:43.000Z","size":6853,"stargazers_count":94,"open_issues_count":3,"forks_count":11,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-28T18:13:03.639Z","etag":null,"topics":["cli","command-line","haskell"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lazamar.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":"2021-08-27T21:52:27.000Z","updated_at":"2025-02-19T20:03:39.000Z","dependencies_parsed_at":"2024-10-23T01:07:01.036Z","dependency_job_id":"bb4d1ded-2256-4d77-b504-ac60ba82ebdc","html_url":"https://github.com/lazamar/haskell-docs-cli","commit_stats":{"total_commits":205,"total_committers":6,"mean_commits":"34.166666666666664","dds":0.06829268292682922,"last_synced_commit":"11cbc1cb9505f21ef2f2d2c7276cc423acea67bd"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazamar%2Fhaskell-docs-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazamar%2Fhaskell-docs-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazamar%2Fhaskell-docs-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazamar%2Fhaskell-docs-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lazamar","download_url":"https://codeload.github.com/lazamar/haskell-docs-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234921,"owners_count":20905854,"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":["cli","command-line","haskell"],"created_at":"2024-11-12T09:36:50.752Z","updated_at":"2025-04-04T19:10:45.592Z","avatar_url":"https://github.com/lazamar.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# haskell-docs-cli\n\nThis package allows you to perform [Hoogle](https://hoogle.haskell.org/) searches and to\nnavigate [Hackage](https://hackage.haskell.org/) documentation and source code from the command\nline.\n\nStaying in the command line avoids switching to and from the browser, makes it\neasier to seach a documentation page, jumping through its content, and to view\nthe source code of libraries.\n\nRead more about the rationale in the [blog post](https://lazamar.github.io/haskell-documentation-in-the-command-line/).\n\n## Installation\n\n### Install from Hackage\n\nInstalling the `haskell-docs-cli` package makes the `hdc` binary available.\n```\n$ cabal install haskell-docs-cli\n$ hdc\n---- haskell-docs-cli ----------------------------------------------------------\nSay :help for help and :quit to exit\n--------------------------------------------------------------------------------\n\u003e\n```\n\n### Install from source\n\nDownload the project and run `stack install`.\n\nIt will make the `hdc` executable available in your path.\n\n```\ngit clone https://github.com/lazamar/haskell-docs-cli.git\ncd haskell-docs-cli\nstack install\n```\n\n## Functionalities\n\nDemo of all commands\n\n[![asciicast](https://asciinema.org/a/436972.svg)](https://asciinema.org/a/436972)\n\n### Search using Hoogle\n\nJust like in Hoogle, just type a function name or\nsignature to search for matching entries in all of Hackage.\n\nYou can select an option by typing its number or by searching for its name with\n`/`.\n\nPress `Enter` to view the contents of the current context (search, module or\npackage) again. If in a search context, pressing `Enter` you will see the\nresults again. The current context is displayed in the line above the prompt.\n\n![Search Hoogle](./static/search-hoogle.gif)\n\n### View documentation\n\nUse `:mdocumentation` (or `md` for short) to view documentation about a module.\nIt will show you the documentation for the first module to match a Hoogle search\nfor the term you type. As this is a Hoogle search, you can use `+\u003cpackage name\u003e`\nto specify the package if you want, like in Hoogle itself.\n\nUse `:pdocumentation` (or `pd` for short) to view documentation about a package.\n\n![View Documentation](./static/view-documentation.gif)\n\n### View interfaces\n\nUse `:minterface` (or `:mi`) to view all functions, types, aliases and classes\nexported by a module.\n\nUse `pinterface` (or `:pi`) to view the modules contained in a package.\n\nYou can navigate further into the options by selecting them by number, or by\nname with `/`.\n\n![View Interfaces](./static/view-interfaces.gif)\n\n### Navigate the source code\n\nYou can view the source code of a search result with `:src \u003cselector\u003e` where\nthe selector is either the result number or a filter term prefixed by `/`.\n\nIf you type `:src` and a search term, `haskell-doc-cli` will load the source of\nthe first Hoogle result that is not a module or package.\n\n![Navigate the Source](./static/view-source.gif)\n\n## Contributing\n\nContributions are very welcome. Here are some things that would be nice to have:\n\n- Fix more edge cases\n- Windows compatibility\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazamar%2Fhaskell-docs-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flazamar%2Fhaskell-docs-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazamar%2Fhaskell-docs-cli/lists"}