diff --git a/nature/init.lua b/nature/init.lua index f1f7dbb..7dd8953 100644 --- a/nature/init.lua +++ b/nature/init.lua @@ -7,6 +7,7 @@ package.path = package.path .. ';' .. hilbish.dataDir .. '/?/init.lua' require 'nature.commands' require 'nature.completions' require 'nature.opts' +require 'nature.vim' local shlvl = tonumber(os.getenv 'SHLVL') if shlvl ~= nil then diff --git a/nature/vim.lua b/nature/vim.lua new file mode 100644 index 0000000..0d10f94 --- /dev/null +++ b/nature/vim.lua @@ -0,0 +1,19 @@ +local vim = {} +hilbish.vim = { + registers = {} +} + +setmetatable(hilbish.vim.registers, { + __newindex = function(_, k, v) + hilbish.editor.setVimRegister(k, v) + end, + __index = function(_, k) + return hilbish.editor.getVimRegister(k) + end +}) + +setmetatable(hilbish.vim, { + __index = function(_, k) + if k == 'mode' then return hilbish.vimMode end + end +})