TODO List - fdinoff/neovim-java-client GitHub Wiki

Listed in no particular order.

  • Figure out if methods should take String or byte[]. Currently using a mix of both
  • Implement vim_get_api_info
  • Implement vim_get_color_map
  • Figure out the proper way to serialize and deserialize extended types. Currently using a patched version (https://github.com/fdinoff/msgpack-java/commit/381414d7425e8eb3e5219fcce2cc0015dbc114f0) to do this and merge into the msgpack-java library (and close msgpack/msgpack-java#238)
  • Expose the notification/request handler to the user of the neovim api.
  • Consider wrapping options and internal variables in classes to hide the Class/TypeReferences from the user. Example https://github.com/fdinoff/neovim-java-client/commit/8e8821f7a612a2cd987ccd620112cce42882d977
  • Figure out how to integrate the neovim abstract gui interface (However I think this is mostly undocumented at the moment)
  • Documentation: Most of this could probably be taken from the comments the neovim source
  • Add a remote plugin java provider
  • Add custom annotation for Commands/Autocommands (Like the python client)
  • Error Handling: Since notifications ignore return values, they can fail silently. I guess everything should be changed to requests and propagate the exceptions to caller.

Wish list?

  • Compile time code generation to deserialize msgpack objects (instead of jackson-databind)
    • This would either need to be faster, or easier to debug (cleaner stack trace)
    • Should still be easy to use