{"id":17217839,"url":"https://github.com/fzipp/ivy-prompt","last_synced_at":"2025-04-13T23:35:48.192Z","repository":{"id":39741597,"uuid":"496737586","full_name":"fzipp/ivy-prompt","owner":"fzipp","description":"A line editor wrapper for Ivy (an interpreter for an APL-like language) with tab-completion and input history.","archived":false,"fork":false,"pushed_at":"2025-01-26T10:36:21.000Z","size":48,"stargazers_count":6,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T13:46:11.429Z","etag":null,"topics":["apl","bignum","calculator","go","golang","ivy","line-editing","readline-interface","repl","tab-completion"],"latest_commit_sha":null,"homepage":"","language":"Go","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/fzipp.png","metadata":{"files":{"readme":"README.md","changelog":"history.go","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":"2022-05-26T18:52:08.000Z","updated_at":"2025-02-25T08:51:00.000Z","dependencies_parsed_at":"2024-06-21T08:39:57.927Z","dependency_job_id":"6e856c44-fbb5-4066-885f-4295000c9ff3","html_url":"https://github.com/fzipp/ivy-prompt","commit_stats":{"total_commits":35,"total_committers":2,"mean_commits":17.5,"dds":0.02857142857142858,"last_synced_commit":"3a9fc3398e13d9b713c7128d1cc6b6f325d8c401"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fzipp%2Fivy-prompt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fzipp%2Fivy-prompt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fzipp%2Fivy-prompt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fzipp%2Fivy-prompt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fzipp","download_url":"https://codeload.github.com/fzipp/ivy-prompt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248798928,"owners_count":21163393,"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":["apl","bignum","calculator","go","golang","ivy","line-editing","readline-interface","repl","tab-completion"],"created_at":"2024-10-15T03:44:49.032Z","updated_at":"2025-04-13T23:35:48.158Z","avatar_url":"https://github.com/fzipp.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ivy-prompt\n\nA line editor interface wrapper for Rob Pike's [Ivy](https://robpike.io/ivy),\nan interpreter for an [APL](https://tryapl.org/)-like language.\nIt provides a\n[Readline](https://tiswww.case.edu/php/chet/readline/rltop.html)-style input\nprompt with input history and tab-completion.\n\nThe original `ivy` command interacts with the world via _standard input/output_,\nintegrating well with a Unix or\n[Plan 9](https://p9f.org) environment or a text editor like\n[Acme](https://research.swtch.com/acme).\nHowever, if you prefer or are used to a mode of interaction more akin to Bash,\nHaskell's GHCi, or Python's REPL with an interactive line editor, then this\nproject is for you.\n\nAlthough Ivy is described by its creator as \"a plaything,\" it should not\nbe underestimated.\n[Watch Russ Cox' videos](https://www.youtube.com/playlist?list=PLrwpzH1_9ufMLOB6BAdzO08Qx-9jHGfGg)\nof solutions for [Advent of Code 2021](https://adventofcode.com/2021)\nusing Ivy for a demonstration of its capabilities or take the built-in\ntour with the `)demo` command.\n\n## Installation\n\nFirst install Ivy itself, if you haven't already done so:\n\n```\ngo install robpike.io/ivy@latest    # or @master if you want to use\n                                    # the development version of Ivy.\n```\n\nThe `ivy` binary needs to be in the `PATH` for ivy-prompt to locate it.\n\nThen install this wrapper:\n\n```\ngo install github.com/fzipp/ivy-prompt@latest\n```\n\nRun it:\n\n```\nivy-prompt\n```\n\n## Line Editing\n\nSee the [`liner` documentation](https://github.com/peterh/liner#line-editing) for\na complete table of supported keystrokes / actions. Here's a small selection:\n\n| Keystroke | Action                            |\n|-----------|-----------------------------------|\n| Tab       | Next completion                   |\n| Up        | Previous match from history       |\n| Down      | Next match from history           |\n| Ctrl-L    | Clear screen (line is unmodified) |\n| Ctrl-D    | (if line is empty) quit           |\n\n## Tab-Completion\n\nTab-completion works not only with built-in identifiers\nbut also with user-defined variables and operators.\n\nIt is context-aware to some extent.\nFor example, it will provide different completion options\nafter `)help `, `)get \"`, `)save \"`, or `sys \"`\ncompared to the usual context.\n\n## Input History\n\nThe input history is preserved across sessions\nin a file named `ivy_history`\nwithin the `ivy` subdirectory,\nlocated within the user configuration directory.\nThe specific location of this directory\ndepends on the operating system:\n\n| Operating system | Config directory                         |\n|------------------|------------------------------------------|\n| Linux/Unix       | `$XDG_CONFIG_HOME/ivy/`                  |\n| macOS            | `$HOME/Library/Application Support/ivy/` |\n| Windows          | `%AppData%\\ivy\\`                         |\n\n## License\n\nThis project is free and open source software licensed under the\n[BSD 3-Clause License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffzipp%2Fivy-prompt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffzipp%2Fivy-prompt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffzipp%2Fivy-prompt/lists"}