All Versions
Latest Version
Avg Release Cycle
64 days
Latest Release
478 days ago

Changelog History
Page 1

  • v2.1.0.4

    July 07, 2020
  • v2.1.0.2 Changes

    • Exported functions and commands now can have the same name.
  • v2.1.0.1

    June 04, 2019
  • v2.1.0.0 Changes

    April 18, 2019
    • ๐Ÿ”€ Autocommands now take an additional parameter of type Synchronous, allowing them to execute synchronous (previously hardcoded as Async). In order to adapt to this, change $(autocmd 'handler) opts to $(autocmd 'handler) Async opts.
  • v2.0.0.0 Changes

    March 10, 2019
    • ๐Ÿ”ง Your configuration is now just a Haskell project. The dependency to Dyre has been removed and you are now forced to write a line of vimL and add a normal nvim-plugin to your setup. The template still does set everything up for you. The distinction between a plugin and a personal nvim-hs configuration is now gone and apart from settings things up, nothing has changed in this regard. The nvim-plugin contains the necessary documentation on what to do and should be available with :help nvim-hs when installed correctly.

    • Since basically all generated functions were throwing exceptions anyway, the primed functions have become the default and if you want to explicitly handle error cases, you have to surround your code with catch or something more appropriate from UnliftIO.Exception. You have to remove ' from your API calls or you have to adjust your error handling.

    • There are now three flavors of APIs and you have to import one additionally to importing the Neovim module:

      • Neovim.API.Text: This uses strict Text for strings and Vector as lists. This is the recommended API to use.
      • Neovim.API.String: This is the same as before. Strings are String and lists are []. This is for the lazy and backwards-ish compatiblity.
      • Neovim.API.ByteString: This can be useful for really performance critical stuff or if you`re writing a plugin for binary files.
  • v1.0.1.0 Changes

    • The Neovim.Debug module is now more pleasant to use.
  • v1.0.0.3

    October 01, 2018
  • v1.0.0.2 Changes

    June 24, 2018
    • With the api of neovim 0.3.0, a function was exposed that had a reserved haskell keyword as a parameter name. The code generation did not sanitize this. This bugfix releases resolves this.
  • v1.0.0.1

    March 27, 2018
  • v1.0.0.0 Changes

    March 25, 2018
    • ๐Ÿ”Œ Each plugin (type) now defines an environment which is similar to how stateful plugins have been declared in previous versions. If you need multiple different environments for different functions, you can make them fields of a bigger environment or define multiple plugin values.

    The type Neovim r st a has become Neovim env a where env is technically equivalent to the previous r. I was mainly motivated by this blog post:

    • ๐Ÿšš Only works with ghc >= 8. I removed some backwards compatibility. If you need older ghc versions, just use the previous version (0.2.5) as the feature set hasn't really changed.

    • ๐Ÿ–จ A different pretty printer library is now used and may surface at some places.

    • Functions do now time out after some time, 10 seconds for those that block neovim and 10 minutes for background functions.

    • A few types have been adjusted.

    • Some improvement in error reporting.