Skip to content

Utility functions to add/remove/navigate/visual select "cells" of code in Neovim

License

Notifications You must be signed in to change notification settings

cnrrobertson/nvim-repl-cells

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 

Repository files navigation

nvim-repl-cells

Utility functions to add/remove/navigate/visual select "cells" of code in Neovim based on a marker between the cells.

TODO:

  • Add language specific settings capability
    • Different markers
    • %paste -q for ipython (or better yet, output like codi.vim in output pane or virtual text)
      • Also pasting in other terminals, i.e. julia, in specific register
      • Explore other concise paste options for repls via paste_cmd language option (eval(Meta.parse("begin\n"clipboard()"\nend")) wrapped in for julia for example)
    • language specific REPL commands and flags
  • Options flush out
    • Colors for highlighting
    • Default mappings
    • Setup function
  • Additional terminal functionality
    • Show or don't show terminal on send commands
    • Possibly manipulate buffers as objects/classes from toggleterm rather than high-level commands
  • Documentation
  • Fill out this README with overview of workflow that it supports and other alternative plugins
    • jupytext.vim: how it works well with this for jupyter notebooks
    • vim-ipython-cell: this was the inspiration. Doesn't depend on vim-slime and is lua only
    • vim-jukit: also an inspiration. Again, not buffer specific
    • jupyter-vim: complicated setup, not easy for remote work, etc.
    • magma-nvim: amazing plugin, complex, harder to debug because of hidden repl, images don't always work, lots of python
    • nvim-ipy: awesome, again, hard to access repl info, limited cell features, in python
    • jupyter_ascending.vim: separate process issues
    • iron.nvim: could work in combination with this but doesn't have buffer specific repls
    • termwrapper.nvim: same
    • nvim-repl: same
    • nvim-python-repl: same
    • repl.nvim: same
    • neoterm: same
    • vimcmdline: same
    • vim-slime: need to deal with separate process. Could work with the cell convenience commands
    • Example similar: https://www.maxwellrules.com/misc/nvim_jupyter.html
    • vim-textobj-hydrogen: text object for code cells, very similar to this, but not lua, inspiration
    • codi.vim: Nice repl that displays output (could be a nice feature)

About

Utility functions to add/remove/navigate/visual select "cells" of code in Neovim

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages