Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marromlam/kitty-repl.nvim

Lua-written REPL for neovim within kitty terminal emulator
https://github.com/marromlam/kitty-repl.nvim

cling ipython kitty neovim repl vim

Last synced: 3 months ago
JSON representation

Lua-written REPL for neovim within kitty terminal emulator

Awesome Lists containing this project

README

        

# kitty-repl.nvim

kitty-repl is a neovim plugin to evaluate buffer lines in a
interactive interpreter using the niceties of kitty.

![kittyREPLcast_lowres](https://user-images.githubusercontent.com/41004396/130295132-bbffaca8-b9af-4e09-8afe-3e3d7accda03.gif)

> DISCLAIMER This plugin was created very recently and it is not
finished

## Goal
The idea is to create a REPL where the user can run any bunch of lines in a nvim buffer
and send them to a kitty window where a JIT console evaluates them.
Since I mostly write python and `C/C++` code, these languages are
the very first to have support.
In the future it would be very interesting to add more languages.

## Installation

You can use your favourite plugin manager. For example, with packer:

```lua
packer.use {
"marromlam/kitty-repl.nvim",
disable = false,
event = "BufEnter",
config = function()
require('kitty-repl').setup()
nvim_set_keymap('n', ';r', ':KittyREPLRun', {})
nvim_set_keymap('x', ';s', ':KittyREPLSend', {})
nvim_set_keymap('n', ';s', ':KittyREPLSend', {})
nvim_set_keymap('n', ';c', ':KittyREPLClear', {})
nvim_set_keymap('n', ';k', ':KittyREPLKill', {})
nvim_set_keymap('n', ';l', ':KittyREPLRunAgain', {})
nvim_set_keymap('n', ';w', ':KittyREPLStart', {})
end
}
```

## Currently implemented features
- [x] Send buffer lines writen in `python` and `C/C++`.
- [x] Launch `ipython` and `cling` interpreters automatically on file extension.

## Contributing
I really would appreciate help with this plugin since I use only two programming languages.
This module could really benefit from the help and suggestions of other users.