From 1996ef15613f2d4773017128bba1a719a1b63a19 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Sat, 20 Feb 2021 21:27:26 +0100 Subject: Move to lua based vimrc --- .vim/lua/utils.lua | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .vim/lua/utils.lua (limited to '.vim/lua/utils.lua') diff --git a/.vim/lua/utils.lua b/.vim/lua/utils.lua new file mode 100644 index 0000000..ab7793f --- /dev/null +++ b/.vim/lua/utils.lua @@ -0,0 +1,35 @@ +-- utils.lua + +local M = {} + +-- crutch until https://github.com/neovim/neovim/pull/13479 +M.opt = function(scope, key, val) + local scopes = {o = vim.o, b = vim.bo, w = vim.wo} + if not ( scope and key and val ) then return end + scopes[scope][key] = val + if scope ~= 'o' then scopes['o'][key] = val end +end + +M.map = function(mode, lhs, rhs, opts) + if not ( mode and lhs and rhs ) then return end + local o = {noremap = true, silent = true} + if opts then o = vim.tbl_extend('force', o, opts) end + vim.api.nvim_set_keymap(mode, lhs, rhs, o) +end + +M.augroup = function(name, autocmds) + if not ( name and autocmds ) then return end + vim.cmd('augroup ' .. name) + vim.cmd('autocmd!') + for _, au in ipairs(autocmds) do + vim.cmd('autocmd ' .. table.concat(au, ' ')) + end + vim.cmd('augroup END') +end + +M.def = function(name, cmd, ...) + local opts = table.concat((... or {}), ' ') + vim.cmd('command! ' .. opts .. ' ' .. name .. ' ' .. cmd) +end + +return M -- cgit 1.4.1