-- vim.api.nvim_create_autocmd({ "User" }, { -- pattern = { "AlphaReady" }, -- callback = function() -- vim.cmd [[ -- set showtabline=0 | autocmd BufUnload set showtabline=2 -- ]] -- end, -- }) vim.api.nvim_create_autocmd({ "User" }, { pattern = { "AlphaReady" }, callback = function() vim.cmd [[ set laststatus=0 | autocmd BufUnload set laststatus=3 ]] end, }) vim.api.nvim_create_autocmd({ "FileType" }, { pattern = { "Jaq", "qf", "help", "man", "lspinfo", "spectre_panel", "lir", "DressingSelect", "tsplayground", "Markdown", }, callback = function() vim.cmd [[ nnoremap q :close nnoremap :close set nobuflisted ]] end, }) vim.api.nvim_create_autocmd({ "FileType" }, { pattern = { "Jaq" }, callback = function() vim.cmd [[ nnoremap :close " nnoremap set nobuflisted ]] end, }) vim.api.nvim_create_autocmd({ "BufEnter" }, { pattern = { "" }, callback = function() local buf_ft = vim.bo.filetype if buf_ft == "" or buf_ft == nil then vim.cmd [[ nnoremap q :close nnoremap j nnoremap k set nobuflisted ]] end end, }) vim.api.nvim_create_autocmd({ "BufEnter" }, { pattern = { "" }, callback = function() local get_project_dir = function() local cwd = vim.fn.getcwd() local project_dir = vim.split(cwd, "/") local project_name = project_dir[#project_dir] return project_name end vim.opt.titlestring = get_project_dir() .. " - nvim" end, }) vim.api.nvim_create_autocmd({ "BufEnter" }, { pattern = { "term://*" }, callback = function() vim.cmd "startinsert!" -- TODO: if java = 2 vim.cmd "set cmdheight=1" end, }) vim.api.nvim_create_autocmd({ "FileType" }, { pattern = { "gitcommit", "markdown" }, callback = function() vim.opt_local.wrap = true vim.opt_local.spell = true end, }) vim.api.nvim_create_autocmd({ "FileType" }, { pattern = { "lir" }, callback = function() vim.opt_local.number = false vim.opt_local.relativenumber = false end, }) vim.cmd "autocmd BufEnter * ++nested if winnr('$') == 1 && bufname() == 'NvimTree_' . tabpagenr() | quit | endif" -- vim.api.nvim_create_autocmd({ "BufEnter" }, { -- callback = function() -- vim.cmd [[ -- if winnr('$') == 1 && bufname() == 'NvimTree_' . tabpagenr() | quit | endif -- ]] -- end, -- }) vim.api.nvim_create_autocmd({ "VimResized" }, { callback = function() vim.cmd "tabdo wincmd =" end, }) vim.api.nvim_create_autocmd({ "CmdWinEnter" }, { callback = function() vim.cmd "quit" end, }) vim.api.nvim_create_autocmd({ "BufWinEnter" }, { callback = function() vim.cmd "set formatoptions-=cro" end, }) vim.api.nvim_create_autocmd({ "TextYankPost" }, { callback = function() vim.highlight.on_yank { higroup = "Visual", timeout = 200 } end, }) vim.api.nvim_create_autocmd({ "BufWritePost" }, { pattern = { "*.java" }, callback = function() vim.lsp.codelens.refresh() end, }) vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = function() vim.cmd "hi link illuminatedWord LspReferenceText" end, }) vim.api.nvim_create_autocmd({ "BufWinEnter" }, { pattern = { "*" }, callback = function() vim.cmd "checktime" end, }) vim.api.nvim_create_autocmd({ "CursorHold" }, { callback = function() local status_ok, luasnip = pcall(require, "luasnip") if not status_ok then return end if luasnip.expand_or_jumpable() then -- ask maintainer for option to make this silent -- luasnip.unlink_current() vim.cmd [[silent! lua require("luasnip").unlink_current()]] end end, }) -- vim.api.nvim_create_autocmd({ "ModeChanged" }, { -- callback = function() -- local luasnip = require "luasnip" -- if luasnip.expand_or_jumpable() then -- -- ask maintainer for option to make this silent -- -- luasnip.unlink_current() -- vim.cmd [[silent! lua require("luasnip").unlink_current()]] -- end -- end, -- }) vim.api.nvim_create_autocmd({ "BufWritePost" }, { pattern = { "*.ts" }, callback = function() vim.lsp.buf.format { async = true } end, }) vim.cmd [[autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o]] vim.cmd [[autocmd BufRead,BufNewFile *.tex set filetype=tex]] vim.cmd [[ autocmd BufWritePre * let currPos = getpos(".") autocmd BufWritePre * %s/\s\+$//e autocmd BufWritePre * %s/\n\+\%$//e autocmd BufWritePre *.[ch] %s/\%$/\r/e autocmd BufWritePre * cal cursor(currPos[1], currPos[2]) ]] vim.cmd [[autocmd BufWritePost ~/.xmonad/xmonad.hs,~/.config/xmobar/xmobar-main.hs,~/.config/xmobar/xmobar-sub.hs,~/.config/xmobar/xmobar-single.hs !xmonad --recompile && xmonad --restart]] vim.cmd [[autocmd VimLeave *.tex !texclear %]]