Skip to content

I have a bunch of contributions to make #20

@benlubas

Description

@benlubas

@AbaoFromCUG I'm writing this issue to let you know that I have a few features that I'd like to contribute. I've already implemented everything I'm about to describe.

I'll do my best to split these features into different PRs, but inevitably some changes are going to stack on top of each other. Here's a list of what to expect in the next few days/weeks:

  1. I switched the logger to a better one (Neorg, Plennary, and many other plugins use a similar single file logger and I quite like it)
  2. Supporting any language in percent style notebooks by using 'commentstring' instead of hard coded #
  3. Modular parsing system, configurable parser based on file globs
  4. Support for markdown and spin style plaintext notebooks (enabled by the modular parsing system)
  5. what I'll call "temp file mode", instead of having to keep a plaintext and ipynb file around, you can choose to have neopyter create and delete temporary ipynb files when you create and delete a buffer in neovim. This is the largest change in this list, and it changes the way that you use this plugin a lot. The way that I've implemented it, you can still use the plugin in the old way, you can choose one or the other, but honestly I stopped testing things in the normal mode, I only use temp file mode. So this change will require some testing probably
  6. :Neopyter console command that opens a split console to the same kernel that's running in Jupyter Lab. This uses jupyter-kernel under the hood, tmux and nvim terminal are supported. In the case that tmux is used, setup the appropriate buffer local variables to allow vim-slime to just work
  7. removes the requirement to open nvim and JL with the same base directory by converting everything to absolute file paths
  8. Parse metadata from plaintext files so that new files are created with the kernel given in the metadata

Along with these changes comes a large documentation overhaul, and I've touched nearly every file in the codebase. Sorry I'm dumping all of this on you at once, if I could have, I would have contributed as this stuff was implemented.

Is there anything in this list you don't want me to contribute?

I will probably wait to split things up until you've commented. I will put up a branch shortly that has all of these changes rolled together if you're curious.

Also as you might imagine, this stuff breaks a lot of tests. I didn't write any tests myself. But I can add them before opening PRs, it will just slow down the rate of PRs a good bit

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions