summaryrefslogtreecommitdiffstatshomepage
path: root/nvim
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2023-01-27 17:19:46 -0600
committerToby Vincent <tobyv13@gmail.com>2023-01-27 17:19:46 -0600
commit7e1582e05559cd46e05a516c4e0779979adc2dd3 (patch)
tree015795b28be518267402698cfaf923c8637f2ef1 /nvim
parent1b70519b9eb875f120ae0fb65190d776c360cf64 (diff)
fix(nvim): improve ftplugin and autocmds
Diffstat (limited to 'nvim')
-rw-r--r--nvim/.config/nvim/after/ftplugin/help.lua8
-rw-r--r--nvim/.config/nvim/lua/tobyvin/autocmds.lua79
-rw-r--r--nvim/.config/nvim/lua/tobyvin/options.lua1
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"