{"id":13760373,"url":"https://github.com/trptcolin/reply","last_synced_at":"2025-04-08T09:08:38.276Z","repository":{"id":1840166,"uuid":"2764630","full_name":"trptcolin/reply","owner":"trptcolin","description":"REPL-y: A fitter, happier, more productive REPL for Clojure.","archived":false,"fork":false,"pushed_at":"2021-09-02T13:19:39.000Z","size":484,"stargazers_count":339,"open_issues_count":22,"forks_count":43,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-04-01T07:52:00.492Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Black09/Xperience1080","license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trptcolin.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}},"created_at":"2011-11-13T02:09:21.000Z","updated_at":"2024-10-31T19:20:06.000Z","dependencies_parsed_at":"2022-08-20T11:00:58.357Z","dependency_job_id":null,"html_url":"https://github.com/trptcolin/reply","commit_stats":null,"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trptcolin%2Freply","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trptcolin%2Freply/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trptcolin%2Freply/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trptcolin%2Freply/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trptcolin","download_url":"https://codeload.github.com/trptcolin/reply/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247809962,"owners_count":20999816,"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-03T13:01:08.899Z","updated_at":"2025-04-08T09:08:38.206Z","avatar_url":"https://github.com/trptcolin.png","language":"Clojure","funding_links":[],"categories":["Clojure","Lein"],"sub_categories":[],"readme":"[![CircleCI](https://circleci.com/gh/trptcolin/reply/tree/main.svg?style=svg)](https://circleci.com/gh/trptcolin/reply/tree/main)\n[![Clojars Project](https://img.shields.io/clojars/v/reply/reply.svg)](https://clojars.org/reply/reply)\n[![cljdoc badge](https://cljdoc.org/badge/reply/reply)](https://cljdoc.org/d/reply/reply/CURRENT)\n[![downloads badge](https://versions.deps.co/reply/reply/downloads.svg)](https://clojars.org/reply/reply)\n\n# REPL-y\n\nA fitter, happier, more productive REPL for Clojure.\n\n## Improvements over the existing REPL that comes in clojure.jar\n\n- A number of readline commands, some not available in earlier JLine versions:\n  - navigation to the start/end of lines, and forward/back by word\n  - history navigation and search\n  - and much much more\n- CTRL-C:\n  - kills the currently running command, breaks out of infinite loops, etc.\n  - doesn't bail out of the process - stops interruption-friendly operations\n- Code completion for:\n  - Clojure vars and namespaces\n  - Clojure namespace-qualified vars\n  - Java classes, packages\n  - Java package-qualified classes, static methods\n- Optional nREPL integration\n\n## Installation\n\nREPLy is bundled with [Leiningen][] and [Boot][]. If you're using one of the two then you're covered.\n\nHere's how to get a standalone version up and running (assuming you have\nLeiningen installed):\n\n    git clone https://github.com/trptcolin/reply.git\n    cd reply\n    lein do deps, compile\n\n## Usage\n\n### Leiningen\n\nThe easiest way to use REPLy is simply to run `lein repl`. That's it!\n\nIf you want to check out the latest stuff on REPLy master, you can run `lein\ntrampoline run` in this project.\n\n### Boot\n\n[Boot][] bundles REPLy, so all you have to do is:\n\n    boot repl\n\n### Clojure CLI (tools.deps)\n\nStarting REPLy using the `clojure` command is as easy as:\n\n    # Assuming Clojure 1.9, and Clojure CLI 1.10.1.727 or later\n    clojure -Sdeps '{:deps {reply/reply {:mvn/version \"0.5.0\"}}}' -M -m reply.main\n\n    # Assuming Clojure 1.9 and later, and Clojure CLI before 1.10.1.727\n    clojure -Sdeps '{:deps {reply {:mvn/version \"0.5.0\"}}}' -m reply.main\n\n**Note:** Use `clojure -Sdescribe` to see your Clojure CLI version. On the other\nhand, the Clojure version, being Clojure just a library, depends on the deps.\nTo see what you could consider the default Clojure, you could use\n`clojure -e '(clojure-version)'`.\n[More information about the distinction between Clojure CLI and Clojure](https://clojureverse.org/t/how-to-declare-a-super-specific-version-of-clojure-in-the-deps-edn/6751/2?u=jgomo3).\n\n### Other\n\nIf for some reason your use case requires avoiding the tools listed so\nfar, you can use the bin scripts as a guide (you're probably used to\nshell scripting anyway, in that case). If you want to add additional\ndependencies to the classpath, setting `$USER_CP` will. For example:\n`USER_CP=$(lein classpath) reply`.\n\nIf you want to use REPLy from another piece of software, your entry point\nshould be `reply.main/launch-nrepl`. There are lots of options, which you can\nlearn more about by running `(println (last (reply.main/parse-args [\"-h\"])))`.\n\n## Debugging\n\nIf you're having problems, feel free to [open an\nissue](https://github.com/trptcolin/reply/issues), but the following may help.\n\nFor keybinding issues, check out `~/.inputrc` - you can mostly use the same\nspecifications there as you can with normal readline applications like bash,\nbut from time to time we do come across missing features that we then add to\n[jline](https://github.com/jline/jline2).\n\nTo get a very detailed look at what jline is doing under the hood, you can\n`export JLINE_LOGGING=trace` (or `debug`) before starting REPLy. There may be\nmore output than you'd like, but this kind of output is especially helpful when\ndebugging keybinding issues.\n\nYou can use the `--standalone` flag to rule out any nREPL-related questions,\nbut I'm not aware of anyone using `--standalone` for other purposes. Please let\nme know if you are!\n\n## Thanks\n\nThanks to the developers of [Clojure](https://github.com/clojure/clojure),\n[JLine](https://github.com/jline/jline2), [nREPL](https://github.com/nrepl/nrepl),\n[incomplete](https://github.com/nrepl/incomplete),\nfor their work on the excellent projects that this project depends upon.\n\nSpecial thanks to [8th Light](http://8thlight.com) for allowing me to work on\nthis during our open-source Friday afternoons.\n\n## License\n\nCopyright (C) 2011-2021 Colin Jones\n\nDistributed under the Eclipse Public License, the same as Clojure. See the\nLICENSE file for details.\n\n[Leiningen]: https://leiningen.org\n[Boot]: https://boot-clj.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrptcolin%2Freply","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrptcolin%2Freply","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrptcolin%2Freply/lists"}