{"id":23642433,"url":"https://github.com/sogaiu/jdoc","last_synced_at":"2026-02-26T05:23:06.383Z","repository":{"id":118761828,"uuid":"445157092","full_name":"sogaiu/jdoc","owner":"sogaiu","description":"Use janet's `doc` from the command line","archived":false,"fork":false,"pushed_at":"2025-09-21T06:05:35.000Z","size":56,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-21T07:19:47.917Z","etag":null,"topics":["command-line","documentation","janet"],"latest_commit_sha":null,"homepage":"","language":"Janet","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sogaiu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-01-06T12:10:21.000Z","updated_at":"2025-09-21T06:05:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"39160ef5-2a6f-4826-af0a-e7496db5a2ac","html_url":"https://github.com/sogaiu/jdoc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sogaiu/jdoc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjdoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjdoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjdoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjdoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sogaiu","download_url":"https://codeload.github.com/sogaiu/jdoc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjdoc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279313805,"owners_count":26146080,"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","status":"online","status_checked_at":"2025-10-17T02:00:07.504Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["command-line","documentation","janet"],"created_at":"2024-12-28T10:50:58.386Z","updated_at":"2025-10-17T08:59:22.464Z","avatar_url":"https://github.com/sogaiu.png","language":"Janet","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jdoc\n\nUse janet's `doc` macro from the command line to see Janet\ndocstrings...with convenient completion for supported shells.\n\n![jdoc terminal demo](jdoc-terminal-demo.png?raw=true \"jdoc terminal demo\")\n\n## Installation\n\nThere are a few ways installation can be performed.  Choose one, but\nnote that the uninstallation process is likely to end up being\ndifferent.  See the [Uninstallation section](#uninstallation) later in\nthis document for details.\n\n### Via `jeep`\n\n```\njeep install https://github.com/sogaiu/jdoc\n```\n\n### Via `jpm`\n\n```\njpm install https://github.com/sogaiu/jdoc\n```\n\n### Via `janet`'s `bundle/*` functionality\n\n```\ngit clone https://github.com/sogaiu/jdoc\ncd jdoc\njanet --install .\n```\n\n### Via the `install` script\n\n```\ngit clone https://github.com/sogaiu/jdoc\ncd jdoc\njanet install\n```\n\nNote that if you haven't already modified your `PATH` to account for\nwhere `janet`'s `bundle/*` functionality stores scripts, you may need\nto do so.  The output of the relevant commands above should indicate\nwhere the script ended up.\n\n## Usages\n\n### See Docstring for Specific Identifier\n\n```\n$ jdoc ev/sleep\n\n\n    cfunction\n    src/core/ev.c on line 2891, column 1\n\n    (ev/sleep sec)\n\n    Suspend the current fiber for sec seconds without blocking the\n    event loop.\n```\n\n### See Candidates that have Docstrings\n\n```\n$ jdoc \"ev\"\n\n\n    Bindings:\n\n    ev/call ev/cancel ev/capacity ev/chan ev/chan-close ev/chunk\n    ev/close ev/count ev/deadline ev/do-thread ev/full ev/gather\n    ev/give ev/give-supervisor ev/go ev/read ev/rselect ev/select\n    ev/sleep ev/spawn ev/spawn-thread ev/take ev/thread ev/thread-chan\n    ev/with-deadline ev/write eval eval-string even? every? forever\n    reverse reverse! string/reverse tracev\n\n\n\n    Dynamics:\n\n\n    Use (doc sym) for more information on a binding.\n```\n\n### See Some Docstring\n\n```\n$ jdoc\n\n...insert some docstring here...\n```\n\n### See Some Help Text\n\n```\n$ jdoc -h\nUsage: jdoc [option] | jdoc [identifier]\n\nView Janet docstrings from the command line.\n\n  -h, --help                   show this output\n\n  --bash-completion            output bash-completion bits\n  --fish-completion            output fish-completion bits\n  --zsh-completion             output zsh-completion bits\n  --raw-all                    show all names for completion\n\nWith a full identifier, but no options, show docstring for\nidentifier.\n\nWith a partial identifier, but no options, show candidates\nwith docstrings.\n\nWithout an identifier, show docstring for some identifier.\n```\n\n## Shell Completion Use and Setup\n\nThe identifier argument to `jdoc` can be completed if using the bash /\nfish / zsh shells with appropriate configuration.\n\nSo for example, pressing `TAB` after entering `jdoc j` might yield the\noutput:\n\n```\njanet/build        janet/version      juxt*\njanet/config-bits  juxt\n```\n\nTo set this up, invoke `jdoc` with one of the following for the\nrelevant shell:\n\n* `--bash-completion`\n* `--fish-completion`\n* `--zsh-completion`\n\nPut the resulting output in a location appropriate for the shell in\nuse.\n\nBelow are some hints about where such locations might be:\n\n* [bash](https://github.com/scop/bash-completion/blob/master/README.md#faq) --\n  look for `Where should I install my own local completions?`\n* [fish](https://fishshell.com/docs/current/completions.html#where-to-put-completions)\n* [zsh](https://zsh.sourceforge.io/Doc/Release/Completion-System.html) -- good luck :P\n\n## Uninstallation\n\nDepending on how installation was performed, the procedure to follow\nmay differ.\n\nI don't usually remember what method was used so I first do:\n\n```\njpm list-installed\n```\n\nand check the resulting list for `jdoc`.  If `jdoc` appears there, then\nuninstallation should be:\n\n```\njpm uninstall jdoc\n```\n\nIf `jdoc` wasn't in the output of `jpm list-installed`, then I typically\ndo:\n\n```\njanet --list\n```\n\nIf `jdoc` appears in that list, then uninstallation should be done by:\n\n```\njanet --uninstall jdoc\n```\n\nor if using `jeep`:\n\n```\njeep uninstall\n```\n\nNote that with a proper installation, I don't think `jdoc` should\nappear in the output of both `jpm list-installed` and `janet --list`,\nbut if you want to be on the careful side, you might consider running\nboth commands and examining their respective output before attempting\nuninstallation commands.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsogaiu%2Fjdoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsogaiu%2Fjdoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsogaiu%2Fjdoc/lists"}