{"id":16725831,"url":"https://github.com/severeoverfl0w/vim-replant","last_synced_at":"2026-03-09T04:32:58.497Z","repository":{"id":67552696,"uuid":"109240273","full_name":"SevereOverfl0w/vim-replant","owner":"SevereOverfl0w","description":"A bag of goodies for working with a Clojure REPL","archived":false,"fork":false,"pushed_at":"2023-02-09T13:16:49.000Z","size":185,"stargazers_count":40,"open_issues_count":8,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-02-01T10:39:32.265Z","etag":null,"topics":["clojure","vim"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","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/SevereOverfl0w.png","metadata":{"files":{"readme":"README.adoc","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}},"created_at":"2017-11-02T08:55:36.000Z","updated_at":"2024-05-31T07:55:45.000Z","dependencies_parsed_at":"2024-01-17T16:08:37.541Z","dependency_job_id":"47885d48-b034-4bda-a5af-707be1736913","html_url":"https://github.com/SevereOverfl0w/vim-replant","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SevereOverfl0w/vim-replant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevereOverfl0w%2Fvim-replant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevereOverfl0w%2Fvim-replant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevereOverfl0w%2Fvim-replant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevereOverfl0w%2Fvim-replant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SevereOverfl0w","download_url":"https://codeload.github.com/SevereOverfl0w/vim-replant/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SevereOverfl0w%2Fvim-replant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30283425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["clojure","vim"],"created_at":"2024-10-12T22:51:11.290Z","updated_at":"2026-03-09T04:32:58.473Z","avatar_url":"https://github.com/SevereOverfl0w.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"= replant.vim: Regrowing again\nDominic Monroe \u003cmonroef4@googlemail.com\u003e\n:experimental:\n\n// I'm trying one sentence per-line here.\n\n[quote,,Online Etymology Dictionary and Oxford Dictionary]\n____\nreplant (v.)\n1570s, from re- \"back, again\" + plant (v.).\n\nPlant (a tree or plant that has been dug up) again, especially when transferring it to a larger pot or new site.\n____\n\nThis plugin is an attempt to _extend_ the current Clojure/vim ecosystem.\nIt works with fireplace to add and augment features.\nIn the future it may replace fireplace, or also use other backends.\n\nlink:https://github.com/clojure-emacs[clojure-emacs] have done amazing work to ensure CIDER is usable by other editors.\nI wish to have more features in vim, and I'm willing to accept coupling to more nrepl middleware for it.\nI'm a Neovim user, so would like to take advantage of new APIs to make developing vim plugins easier or with more features.\n\n[IMPORTANT]\n====\nReplant is in pre-pre-alpha stages.\nI am using it, working full-time on Clojure.\nBut there may be bugs from time to time, which I will personally solve with a potentially uncommittable solution.\nThat will leave you with you with a broken plant.\n====\n\n== Contributing\n\nAll input is welcome!\nFeel free to open issues for questions \u0026 feature requests.\nI am available on link:http://clojurians.net/[Clojurians Slack] in either #vim or as dominicm.\n\n== Install\n\nCurrentlyfootnote:[One day I'd like to do this in lua or with a cross-platform Go binary, but not today], this plugin depends on link:https://github.com/neovim/python-client[python-client], so install that first.\n\n.vim-plug\n[source,vim]\n----\nPlug 'SevereOverfl0w/vim-replant', { 'do': ':UpdateRemotePlugins' }\nPlug 'tpope/vim-fireplace'\n----\n\nThen add the following projects as middleware to your project.\n\n* link:https://github.com/clojure-emacs/cider-nrepl[CIDER-nrepl]\n* link:https://github.com/clojure-emacs/refactor-nrepl[refactor-nrepl]\n\n== Features\n\n* [ ] Enhanced Docs\n** [ ] Colourful echo'd output on `K`\n** [ ] Open document with shortcuts to close, works with `keywordprg`\n* [*] Refresh based on cider's built-in refresh\n* [ ] Find symbol\n** [*] Basic quickfix command\n** [ ] Keybinding\n** [ ] fzf integration\n** [ ] Denite integration\n** [ ] Async quickfix\n* [*] Hotload dependencies\n* [*] Auto-insertion of (ns) for new files.\n* [*] List resources (classpath files which aren't source code), and jump to their real location\n* [*] Test runner\n* [*] Realtime apropos\n** [*] for fzf\n** [ ] for Denite\n\n=== Refresh\n\n`\u003clocalleader\u003erf` will perform a tools.namespace refresh, and `\u003clocalleader\u003era` will perform a tools.namespace refresh-all.\nIt searches for your stop/start functions in various namespaces automatically.\nIf your stop/start functions are unique, you may set `g:replant_refresh_before_hook` and `g:replant_refresh_after_hook` to a symbol referring to your start/stop functions.\nLet me know if you have a common stop/start function or namespace which my detection missed.\n\n=== Find symbol\n\nThe command `:ReplantFindSymbol` will find references to the symbol under the cursor.\nThey quickfix window will open automatically after this, if there are any matches found.\n\n=== Dependency hotloading\n\n`:ReplantHotloadDependency aero 1.1.2` will hotload a named dependency into the current JVM.\n\n`\u003crange\u003e:ReplantHotloadDependency` will hotload a dependency in leiningen coordinate style into the current JVM. Intended for use with vim-sexp like `vaf:ReplantHotloadDependency` when on the coordinate.\n\n=== List resources\n\nYou can list resources with `:ReplantListResources`.\nThis will open a quickfix buffer with the real location set, and the relative classpath location as the description.\nResources, as defined by cider-nrepl, are all files on the classpath excluding source files \u0026 META-INF.\n\n=== Test Runner\n\nYou can run project tests with `:ReplantTestProject`, which takes these arguments:\n\n`+selector`:: Include tests with the metadata \"selector\" on them.\n`-selector`:: Exclude tests with the metadata \"selector\" on them.\n`-load`:: Automatically load project namespaces if they are unloaded (default)\n`-no-load`:: Do not automatically load project namespaces\n\nInclusions \u0026 exclusions work exactly as link:https://github.com/cognitect-labs/test-runner[cognitect-labs/test-runner] link:https://github.com/cognitect-labs/test-runner#using-inclusions-and-exclusions[inclusions \u0026 exclusions].\nThey are repeatable a number of times like so: `:ReplantTestProject +integration +unit -member -regression`.\n\nYou can conveniently run tests with `\u003clocalleader\u003ertp` too.\n\nIt is also possible to rerun only previously failed tests using `ReplantRetestProject`, which takes no arguments:\n\nSometimes tests throw an exception, you can use the full power of the tagged stacktrace explorer with tests.\nA command will be conveniently provided to you in the form `:ReplantTestStacktrace ns var nr`.\nYou *must switch to a clojure buffer to run this*.\nIt will fetch the stacktrace information, and load it into the quickfix window.\n\n== Realtime Apropos (Var Search)\n\n`:ReplantApropos` can be used to load up fzf with all vars.\nThe standard, kbd:[Ctrl+X], kbd:[Ctrl+V], and kbd:[Ctrl+T] work in the fzf buffer.\nIn addition, kbd:[Ctrl+I] will bring up a buffer containing doc information about the symbol.\n\nNOTE: Special symbols, recognizable by their lack of namespace, do not have a source to jump to.\n\nWARNING: The doc information is not well tested, and is highly subject to change.\n\n== Developing\n\nI use link:https://squiddev.github.io/urn/[urn] to generate lua files from lisp.\nThis is fun. Don't doubt me.\n\n.Generate lua files for release\n[source]\n----\n$ make URNPATH=/home/dominic/src/gitlab.com/urn/urn\n----\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevereoverfl0w%2Fvim-replant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsevereoverfl0w%2Fvim-replant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevereoverfl0w%2Fvim-replant/lists"}