-- RinneScript ftplugin — buffer-local LSP keymaps and format-on-save. -- -- Loaded automatically by Neovim when filetype=rinne is detected. local buf = vim.lsp.buf local mapopts = { buffer = true, silent = true, nowait = true } -- K: hover documentation vim.keymap.set('n', 'K', buf.hover, mapopts) -- gd: go to definition vim.keymap.set('n', 'gd', buf.definition, mapopts) -- lf: format buffer vim.keymap.set('n', 'lf', function() buf.format({ async = false }) end, mapopts) -- Format on save (default ON, mirrors g:zig_fmt_autosave semantics). -- Set `vim.g.rinne_fmt_on_save = 0` to disable. if vim.g.rinne_fmt_on_save ~= 0 then vim.api.nvim_create_autocmd('BufWritePre', { buffer = 0, callback = function() buf.format({ async = false }) end, }) end