{"id":16370909,"url":"https://github.com/liquidz/vim-iced-multi-session","last_synced_at":"2026-05-05T23:31:11.761Z","repository":{"id":51135289,"uuid":"302160344","full_name":"liquidz/vim-iced-multi-session","owner":"liquidz","description":"vim-iced plugin to add support for multi session","archived":false,"fork":false,"pushed_at":"2021-05-21T22:27:19.000Z","size":13,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-01T04:23:56.277Z","etag":null,"topics":["clojure","neovim","vim","vim-iced","vim-plugin"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liquidz.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"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":"2020-10-07T21:06:37.000Z","updated_at":"2021-05-24T19:49:54.000Z","dependencies_parsed_at":"2022-08-26T05:02:05.608Z","dependency_job_id":null,"html_url":"https://github.com/liquidz/vim-iced-multi-session","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/liquidz/vim-iced-multi-session","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidz%2Fvim-iced-multi-session","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidz%2Fvim-iced-multi-session/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidz%2Fvim-iced-multi-session/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidz%2Fvim-iced-multi-session/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liquidz","download_url":"https://codeload.github.com/liquidz/vim-iced-multi-session/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidz%2Fvim-iced-multi-session/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32672502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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","neovim","vim","vim-iced","vim-plugin"],"created_at":"2024-10-11T03:06:25.169Z","updated_at":"2026-05-05T23:31:11.741Z","avatar_url":"https://github.com/liquidz.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"= vim-iced-multi-session\n\nimage:https://img.shields.io/badge/iced-plugin-blue.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICAgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiCiAgICAgdmlld0JveD0iMTAsMTAsODAsODAiPgogIDxwb2x5Z29uIGZpbGw9IiNCM0U1RkMiIHBvaW50cz0iNTAsMTAgMTAsNTAgMzAsNzAgMjAsNTAiLz4KICA8cG9seWdvbiBmaWxsPSIjOTBDQUY5IiBwb2ludHM9IjUwLDEwIDMwLDUwIDMwLDcwIDU1LDUwIi8+CiAgPHBvbHlnb24gZmlsbD0iIzgxRDRGQSIgcG9pbnRzPSI1MCwxMCA3MCw3MCA5MCw1MCIvPgogIDxwb2x5Z29uIGZpbGw9IiM2NEI1RjYiIHBvaW50cz0iNjAsNjAgMzAsNzAgNTAsOTAgNzAsNzAiLz4KPC9zdmc+Cg==[\"vim-iced plugin\", link=\"https://github.com/liquidz/vim-iced\"]\n\nhttps://github.com/liquidz/vim-iced[vim-iced] plugin to add support for multi session.\n\nvim-iced basically only supports connections to a single nREPL server.\nBut if you use shadow-cljs, for example, to run backend and frontend nREPL server separately in the same project, you'll need to launch 2 vim/nvim to connect them. It's pain.\n\nThis plugin supports multiple nREPL connections from a single vim/nvim by allowing you to store and switch between multiple nREPL sessions.\n\n== Usage\n\nBasically, only you should do is executing `IcedConnect` command as before.\n\nvim-iced can select a REPL port to connect when Clojure project and ClojureScript project(e.g. shadow-cljs) REPLs are up.\nThis plugin hooks the connection process, and manages multiple REPL connections.\n\n\nThis plugin primarily targets connecting to 2 REPLs: Clojure and ClojureScript projects.\nWith `g:iced_multi_session#does_switch_session` option, this plugin automatically switches the connecting REPL when the connecting REPL is not matched to the file extension on current buffer.\n\nIf you'd like to connect to 3 or more REPLs or switch the REPL more strictly, `g:iced_multi_session#definitions` option is recommended.\n\n=== Commands\n\nThis plugin provides following commands, and these are added to the https://liquidz.github.io/vim-iced/#command_palette[command palette] automatically.\n\n[cols=\"1,3\"]\n|===\n|Command | Note\n\n| `:IcedMultiSessionNew`\n| Create a new session.\n\n| `:IcedMultiSessionNext`\n| Switch to the next session.\nIf the current session is the last, switch to first one.\n\n| `:IcedMultiSessionList`\n| Display all session names.\n\n| `:IcedMultiSessionSwitch`\n| Swith to the selected session.\n\n| `:IcedMultiSessionRename`\n| Rename the current session name.\n\n|===\n\n=== Options\n\n[cols=\"2,1,4a\"]\n|===\n| Option | Default | Note\n\n| `g:iced_multi_session#does_switch_session`\n| `v:false`\n| If `v:true`, execute `:IcedMultiSessionNext` when expected session is different from the current file extension.\n\n| `g:iced_multi_session#name_prefix`\n| `'new'`\n| The prefix string for new session name.\n\n| `g:iced_multi_session#definitions`\n| `[]`\n| Session definitions in current project. +\nThis option should be defined with https://github.com/thinca/vim-localrc[vim-localrc].\n\n./path/to/your/project/root/.local.vimrc\n[source,vim]\n----\nlet g:iced_multi_session#definitions = [\n    \\ {'port_file': printf('%s/.nrepl-port', expand('\u003csfile\u003e:p:h')),\n    \\  'path': 'src/',\n    \\  'name': 'web'},\n    \\ {'port_file': printf('%s/.shadow-cljs/nrepl.port', expand('\u003csfile\u003e:p:h')),\n    \\  'path': 'src-cljs/',\n    \\  'name': 'cljs'},\n    \\ ]\n----\n\n|===\n\n=== Functions\n\n[cols=\"2,5a\"]\n|===\n| Function | Note\n\n| `iced_multi_session#current`\n| Returns a string which describe current session status.\ne.g. `'NREPL(shadow-cljs)'`\n\nThis function can be used for showing session status on statusline.\nThe following is a example configuration for https://github.com/itchyny/lightline.vim[lightline.vim].\n[source,vim]\n----\nlet g:lightline = {\n    \\   'active': {\n    \\     'left': [ ... ],\n    \\     'right': [ ... ['iced_multi_session'], ... ]\n    \\   },\n    \\   'component_function': {\n    \\     'iced_multi_session': 'iced_multi_session#current',\n    \\   },\n    \\ }\n----\n\n|===\n\n== Requirements\n\n* https://github.com/liquidz/vim-iced[vim-iced] (`3.4.0` or later)\n\n== Installation\n\n=== vim-plug\n\n[source,vim]\n----\nPlug 'liquidz/vim-iced', {'for': 'clojure'}\nPlug 'liquidz/vim-iced-multi-session', {'for': 'clojure'}\n----\n\nExecute `:PlugInstall` to install above plugins.\n\n== License\n\nCopyright (c) 2020-2021 http://twitter.com/uochan[Masashi Iizuka]\n\nDistributed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidz%2Fvim-iced-multi-session","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliquidz%2Fvim-iced-multi-session","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidz%2Fvim-iced-multi-session/lists"}