A Neovim plugin for cider jack-in for REPL driven development with Clojure
neovim clojure lua

nvim-jack-in#


Jack in to CLJ & Leiningen REPLs from Neovim. Inspired by vim-jack-in

Installation#

Lazy#

{'https://tangled.org/treybastian.com/nvim-jack-in', config = true}

Example with options#

{
  'https://tangled.org/treybastian.com/nvim-jack-in',
  opts = {
      location = 'vsplit',
      force_powershell = true,
  },
  config = true,
}

vim.pack#

vim.pack.add{'https://tangled.org/treybastian.com/nvim-jack-in', config = true}
require('nvim-jack-in').setup()

Example with options#

vim.pack.add{'https://tangled.org/treybastian.com/nvim-jack-in', config = true}
require('nvim-jack-in').setup({
    location = 'vsplit',
    force_powershell = true,
})

Options#

clj_dependencies#

Dependencies that should be injected into clj

Default#
clj_dependencies = {
  { name = "nrepl/nrepl",       version = "RELEASE" },
  { name = "cider/cider-nrepl", version = "RELEASE" },
}

clj_middleware#

Middleware that should be injected into clj

Default#
clj_middleware = {
  "cider.nrepl/cider-middleware"
}

lein_plugins#

Plugins that should be injected into leiningen

Default#
lein_plugins = {
  { name = "cider/cider-nrepl", version = "RELEASE" },
}

location#

Location where the REPL should open

Default#
location = 'buffer'
Choices#

buffer - opens REPL in a new buffer with focus background - opens REPL in a new buffer but you stay focused on current buffer split - opens REPL in new split vsplit - opens REPL in new vertical split tab - opens REPL in new tab

force_powershell#

Force the usage of powershell. In windows setting vim.o.shell = powershell might sometimes not be optimal. Clj by default on windows is installed as a powershell module. This forces the plugin to use powershell.

Default#
force_powershell = false

Usage#

This plugin automatically registers 2 commands :Cljand :Lein to start their respective REPLs

You can easily map these commands to a key.

vim.keymap.set("n", "<leader>rc", "<CMD>:Clj<CR>")
vim.keymap.net("n", "<leader>rl", "<CMD>:Lein<CR>")

You can supply additional arguments to the command. For example to use Kit-Clj development mode you can do. :Clj -A:dev

Contributing#

This project is open source, not just public source.

To contribute email a git patch to patches@treybastian.com

I do not accept pull requests on any of my projects.