diff options
author | Toby Vincent <tobyv13@gmail.com> | 2023-01-27 17:19:46 -0600 |
---|---|---|
committer | Toby Vincent <tobyv13@gmail.com> | 2023-01-27 17:19:46 -0600 |
commit | 7e1582e05559cd46e05a516c4e0779979adc2dd3 (patch) | |
tree | 015795b28be518267402698cfaf923c8637f2ef1 /nvim/.config | |
parent | 1b70519b9eb875f120ae0fb65190d776c360cf64 (diff) |
fix(nvim): improve ftplugin and autocmds
Diffstat (limited to 'nvim/.config')
-rw-r--r-- | nvim/.config/nvim/after/ftplugin/help.lua | 8 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/autocmds.lua | 79 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/options.lua | 1 |
3 files changed, 37 insertions, 51 deletions
diff --git a/nvim/.config/nvim/after/ftplugin/help.lua b/nvim/.config/nvim/after/ftplugin/help.lua new file mode 100644 index 0000000..315a837 --- /dev/null +++ b/nvim/.config/nvim/after/ftplugin/help.lua @@ -0,0 +1,8 @@ +local win = vim.fn.win_getid(vim.fn.winnr("#")) +local buf = vim.api.nvim_win_get_buf(win) + +if vim.api.nvim_win_get_width(win) >= vim.bo[buf].textwidth + 80 then + vim.cmd.wincmd("L") +end + +vim.opt_local.colorcolumn = nil diff --git a/nvim/.config/nvim/lua/tobyvin/autocmds.lua b/nvim/.config/nvim/lua/tobyvin/autocmds.lua index 03f18ac..e59c22c 100644 --- a/nvim/.config/nvim/lua/tobyvin/autocmds.lua +++ b/nvim/.config/nvim/lua/tobyvin/autocmds.lua @@ -4,7 +4,7 @@ vim.api.nvim_create_autocmd("TextYankPost", { group = augroup, pattern = "*", callback = function() - vim.highlight.on_yank() + vim.highlight.on_yank({ macro = true }) end, desc = "Highlight yank", }) @@ -16,19 +16,14 @@ vim.api.nvim_create_autocmd("BufWritePre", { local parent = vim.fn.fnamemodify(file, ":h") local stat = vim.loop.fs_stat(parent) - if stat then - if stat.type ~= "directory" then - vim.notify( - string.format("cannot create directory ā%sā: Not a directory", parent), - vim.log.levels.ERROR - ) + if not stat then + local prompt = string.format("'%s' does not exist. Create it?", parent) + if vim.fn.confirm(prompt, "&Yes\n&No") == 1 then + vim.fn.mkdir(vim.fn.fnamemodify(parent, ":p"), "p") end - return - end - - local prompt = string.format("'%s' does not exist. Create it?", parent) - if vim.fn.confirm(prompt, "&Yes\n&No") == 1 then - vim.fn.mkdir(vim.fn.fnamemodify(parent, ":p"), "p") + elseif stat.type ~= "directory" then + local msg = string.format("cannot create directory ā%sā: Not a directory", parent) + vim.notify(msg, vim.log.levels.ERROR) end end, desc = "Check for missing directory on write", @@ -47,7 +42,19 @@ vim.api.nvim_create_autocmd("BufWritePre", { vim.api.nvim_create_autocmd("FileType", { group = augroup, - pattern = { "c", "sh", "zsh", "xml", "html", "xhtml", "css", "scss", "javascript", "lua", "dart", "markdown" }, + pattern = { + "c", + "sh", + "zsh", + "xml", + "html", + "xhtml", + "css", + "scss", + "javascript", + "lua", + "markdown", + }, callback = function(args) vim.bo[args.buf].tabstop = 2 end, @@ -56,45 +63,15 @@ vim.api.nvim_create_autocmd("FileType", { vim.api.nvim_create_autocmd("FileType", { group = augroup, - pattern = { "qf", "help", "gitcommit", "gitrebase", "Neogit*" }, + pattern = { + "qf", + "help", + "gitcommit", + "gitrebase", + "Neogit*", + }, callback = function(args) vim.bo[args.buf].buflisted = false end, desc = "Set buffer as unlisted", }) - --- FIX: fix `help` command causes `Vim:E565: Not allowed to change text or change window` -vim.api.nvim_create_autocmd("FileType", { - group = augroup, - pattern = { "vim", "lua" }, - callback = function(args) - require("tobyvin.utils.documentation").register(function() - local word = vim.fn.expand("<cword>") - if word then - vim.cmd.help(word) - end - end, { desc = "help", priority = 5, buffer = args.buf }) - end, - desc = "Register help documentation provider", -}) - -vim.api.nvim_create_autocmd("FileType", { - group = augroup, - pattern = "help", - callback = function() - vim.opt_local.colorcolumn = nil - vim.cmd.wincmd("L") - end, - desc = "Vertical help window", -}) - -vim.api.nvim_create_autocmd("BufRead", { - group = augroup, - pattern = "*.tex", - callback = function(args) - vim.opt_local.filetype = "tex" - vim.opt_local.spell = true - vim.b[args.buf].tex_flavor = "latex" - end, - desc = "Vertical help window", -}) diff --git a/nvim/.config/nvim/lua/tobyvin/options.lua b/nvim/.config/nvim/lua/tobyvin/options.lua index 71bcad2..9c15de2 100644 --- a/nvim/.config/nvim/lua/tobyvin/options.lua +++ b/nvim/.config/nvim/lua/tobyvin/options.lua @@ -1,5 +1,6 @@ vim.g.mapleader = " " vim.g.maplocalleader = vim.g.mapleader +vim.g.tex_flavor = "latex" vim.opt.autoindent = true vim.opt.background = "dark" |