https://github.com/kaiuri/parinfer.nvim
https://github.com/kaiuri/parinfer.nvim
lisp neovim parinfer
Last synced: 30 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/kaiuri/parinfer.nvim
- Owner: kaiuri
- License: other
- Created: 2025-10-21T11:16:50.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2026-04-08T07:31:02.000Z (2 months ago)
- Last Synced: 2026-04-08T08:30:41.491Z (2 months ago)
- Topics: lisp, neovim, parinfer
- Language: Rust
- Homepage:
- Size: 65.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# parinfer.nvim π€Ί
Easy peasy lemon squeezy out those parenthesaches from your nuggin π€
Demo π₯
https://github.com/user-attachments/assets/9e746a26-a869-4fbc-9c37-481f9687731f
## Requirements π§°
- NVIM v0.12.0 with luajit
- Rust toolchain .i.e. `cargo` and friends π€
- `make` on your path - if you're on linux and it's not, you might be doing it wrong π
## Installation π§
```bash
mkdir -p ~/.vim/pack/kaiuri/start
cd ~/.vim/pack/kaiuri/start
git clone https://github.com/kaiuri/parinfer.nvim
make build
```
## Usage π
- Keymaps :keyboard:
- indent the codes π€ `(parinfer-indent)`
- dedent those codes π€ `(parinfer-dedent)`
- Decorations :nail_care:
- π
Toggle with `:ParinferDecorations`
- π¨ Customize with `hl-ParinferParenTrail`
- Events π
```lua
vim.api.nvim_create_autocmd("User", {
pattern = "Parinfer",
callback = function(ctx)
vim.api.nvim_buf_set_keymap(ctx.buf, "i", "", "(parinfer-indent)", { noremap = true })
vim.api.nvim_buf_set_keymap(ctx.buf, "i", "", "(parinfer-dedent)", { noremap = true })
end,
})
```
- Disable π
? Okay π
```vim
" locally, disable parinfer for the current buffer
let b:parinfer_enabled = v:false
" or just be done with it and not even load it
let g:loaded_parinfer = v:true " any value will do
```
## CreditsβΌ
- [Jason Felice](https://github.com/eraserhd/parinfer-rust): The implementation is his. Due credits and license at the head of copypasta code in `src/{parinfer,types,changes}.rs`. π
- The rest was written by yours truly π€¦
## Licence π
> See [LICENSE](./LICENSE)
### Motivation π‘
Well... I just wanted some more candy and speed for parensurfing... π