Nvim Cartographer Versions Save

Create Neovim `:map`pings in Lua with ease!

releases/1.0.0

2 years ago

This is the first stable release of nvim-cartographer. It features significant performance improvements, thanks to changes in Neovim's vim.api.nvim_set_keymap function which allow a function to be mapped natively. As such, the cartographer.callbacks module has been removed entirely, though this makes it so that users have to update to Neovim 0.7

releases/0.4.0

2 years ago

The time that the plugin takes to initialize has been improved. This comes with a swath of readability enhancements for any maintainers.

As well, if you are on Neovim 0.7 or later, you will be able to use the builtin Lua callback registration from nvim_set_keymap instead of the handbaked one I wrote. It is much more performant!

releases/0.3.0

2 years ago

This release was due in large part to the efforts of @shadmansaleh. I would like to thank him again for noting the absence of these features and working to add them.

Additions

  • Allow specifying multiple modes in one mapping (e.g. map.v.n).
  • Allow specifying buffer for buffer-local mapping (e.g. map.buffer for buffer 0, map.buffer5 for buffer 5)
  • Allow mapping Lua callbacks (e.g. map.n['<Tab>'] = function() end)

Fixes

  • Mapping without options (e.g. map.z = '<Cmd>echo "Hello"<CR>') doing nothing

release/0.2.0

2 years ago

This release features even more simple syntax when compared to the previous. You can now :map without calling a function:

local map = require 'cartographer'

-- This is the old syntax; still valid
map().n.nore.silent['jk'] = '<Esc>'

-- This is the new syntax
map.n.nore.silent['jk'] = '<Esc>'

release/0.1.0

2 years ago

This version includes all initial features, including:

  • Improved mappings syntax a la map().x.expr['<Tab>'] = '<Cmd>Foo<CR>'
  • Support for all modes and options from nvim_set_keymap.