diff --git a/ftplugin/markdown.lua b/ftplugin/markdown.lua index b0bc62d..9ad73f9 100644 --- a/ftplugin/markdown.lua +++ b/ftplugin/markdown.lua @@ -1,3 +1,2 @@ vim.wo.spell = true vim.bo.textwidth = 75 -vim.wo.colorcolumn = "75,80" diff --git a/ftplugin/tex.lua b/ftplugin/tex.lua new file mode 100644 index 0000000..880f3fe --- /dev/null +++ b/ftplugin/tex.lua @@ -0,0 +1,2 @@ +vim.wo.spell = true +vim.bo.textwidth = 80 diff --git a/ftplugin/typst.lua b/ftplugin/typst.lua index 1ee7e1a..1730de4 100644 --- a/ftplugin/typst.lua +++ b/ftplugin/typst.lua @@ -1,6 +1,5 @@ vim.wo.spell = true vim.bo.textwidth = 75 -vim.wo.colorcolumn = "75,80" vim.api.nvim_buf_create_user_command(0, "OpenPdf", function() local filepath = vim.api.nvim_buf_get_name(0) diff --git a/lua/core/autocommands.lua b/lua/core/autocommands.lua index 8eb56e1..a035dba 100644 --- a/lua/core/autocommands.lua +++ b/lua/core/autocommands.lua @@ -1,7 +1,8 @@ -- Control cursorline option -- This function allows the easy creation of autocommands that configure cursorline for one buffer -- either based on events or filetypes -local auGroupCursorLine = vim.api.nvim_create_augroup("CursorLine", { clear = true }) +local auGroupCursorLine = vim.api.nvim_create_augroup("CursorLine", + { clear = true }) local set_cursorline = function(event, value, pattern) vim.api.nvim_create_autocmd(event, { group = auGroupCursorLine, @@ -18,7 +19,8 @@ set_cursorline("FileType", false, "TelescopePrompt") -- Wrangle formatoptions -- Format options is local to the buffer -- This autocommand fixes formatoptions for all buffers at load -local auGroupFormatOptions = vim.api.nvim_create_augroup("FormatOptions", { clear = true }) +local auGroupFormatOptions = vim.api.nvim_create_augroup("FormatOptions", + { clear = true }) vim.api.nvim_create_autocmd("FileType", { group = auGroupFormatOptions, pattern = "*", @@ -28,3 +30,30 @@ vim.api.nvim_create_autocmd("FileType", { - "o" -- and for newlines end, }) + +-- Do some magic for colorcolumn +-- if set as a window option for a file, anything that uses that window +-- at a later date will inherit that even if it doesn't make sense. +local auGroupColorColumn = vim.api.nvim_create_augroup("ColorColumn", + {clear=true}) +vim.api.nvim_create_autocmd( 'BufEnter', { + group = auGroupColorColumn, + pattern = "*", + callback = function (_) + -- if we set textwidth we show a colorcolumn + if vim.bo.textwidth > 0 then + local warn=vim.bo.textwidth - 5 + vim.wo.colorcolumn=string.format("%d,%d", warn, vim.bo.textwidth) + else + vim.wo.colorcolumn="" + end + end, + } +) +vim.api.nvim_create_autocmd('BufLeave',{ + group=auGroupColorColumn, + pattern = '*', + callback = function () + vim.wo.colorcolumn="" + end +})