aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-07-01 23:55:13 -0500
committerToby Vincent <tobyv13@gmail.com>2022-07-01 23:55:13 -0500
commit7025c0d2e0dee08652cb3db7e65691ca3539338f (patch)
treeee6a167190e5b3e6e600c3eb124c45cf9ff65e96
parent40e0fbb6eecf345c8a7128777dee7a5235a6d148 (diff)
feat(nvim): refactor bufferline and remove unused configs
-rw-r--r--nvim/.config/nvim/lua/tobyvin/options.lua6
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins.lua9
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/bufdelete.lua37
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/bufferline.lua70
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/colorbuddy.lua56
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/diffview.lua7
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/gruvbox-baby.lua10
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua8
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/neo-tree.lua73
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/neogit.lua1
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua7
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/nvim-tree.lua111
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua1
-rw-r--r--nvim/.config/nvim/lua/tobyvin/utils.lua39
14 files changed, 113 insertions, 322 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/options.lua b/nvim/.config/nvim/lua/tobyvin/options.lua
index f1bff16..558d61b 100644
--- a/nvim/.config/nvim/lua/tobyvin/options.lua
+++ b/nvim/.config/nvim/lua/tobyvin/options.lua
@@ -1,8 +1,14 @@
+local utils = require("tobyvin.utils")
local M = {}
M.setup = function()
vim.g.mapleader = " "
+ vim.fn.sign_define("DiagnosticSignError", utils.diagnostic_signs.error)
+ vim.fn.sign_define("DiagnosticSignWarn", utils.diagnostic_signs.warn)
+ vim.fn.sign_define("DiagnosticSignInfo", utils.diagnostic_signs.info)
+ vim.fn.sign_define("DiagnosticSignHint", utils.diagnostic_signs.hint)
+
vim.opt.termguicolors = true
vim.opt.laststatus = 3
vim.opt.undofile = true
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins.lua b/nvim/.config/nvim/lua/tobyvin/plugins.lua
index 18b6354..137cb0b 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins.lua
@@ -188,6 +188,7 @@ M.plugins = function(use)
use({
"TimUntersberger/neogit",
+ requires = { "sindrets/diffview.nvim" },
config = [[require("tobyvin.plugins.neogit").setup()]],
})
@@ -209,6 +210,7 @@ M.plugins = function(use)
use({
"sindrets/diffview.nvim",
requires = "nvim-lua/plenary.nvim",
+ config = [[require("tobyvin.plugins.diffview")]],
})
use({
@@ -254,12 +256,7 @@ M.plugins = function(use)
use({
"akinsho/nvim-bufferline.lua",
requires = "kyazdani42/nvim-web-devicons",
- config = [[require("tobyvin.plugins.bufferline")]],
- })
- use({
- "goolord/alpha-nvim",
- requires = { "kyazdani42/nvim-web-devicons" },
- config = [[require("alpha").setup(require("alpha.themes.theta").config)]],
+ config = [[require("tobyvin.plugins.bufferline").setup()]],
})
use("SmiteshP/nvim-gps")
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/bufdelete.lua b/nvim/.config/nvim/lua/tobyvin/plugins/bufdelete.lua
index 1a1fe0a..6e65fcc 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/bufdelete.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/bufdelete.lua
@@ -1,19 +1,6 @@
local utils = require("tobyvin.utils")
local M = {}
-M.get_listed_buffers = function()
- local buffers = {}
- local len = 0
- for buffer = 1, vim.fn.bufnr("$") do
- if vim.fn.buflisted(buffer) == 1 then
- len = len + 1
- buffers[len] = buffer
- end
- end
-
- return buffers
-end
-
M.setup = function()
local status_ok, bufdelete = pcall(require, "bufdelete")
if not status_ok then
@@ -22,28 +9,8 @@ M.setup = function()
end
local nmap = utils.create_map_group("n", "<leader>")
- nmap("c", bufdelete.bufdelete, { desc = "Close buffer" })
-
- local alpha_ok, alpha = pcall(require, "alpha")
- if alpha_ok then
- local augroup = vim.api.nvim_create_augroup("BufDeleteAlpha", { clear = true })
-
- vim.api.nvim_create_autocmd("User", {
- pattern = "BDeletePre",
- group = augroup,
- callback = function(event)
- local buffers = M.get_listed_buffers()
- for _, bufnr in ipairs(buffers) do
- local name = vim.api.nvim_buf_get_name(bufnr)
- local ft = vim.api.nvim_buf_get_option(bufnr, "filetype")
- if bufnr ~= event.buf and name ~= "" and ft ~= "Alpha" then
- return
- end
- alpha.start()
- end
- end,
- })
- end
+ -- nmap("c", bufdelete.bufdelete, { desc = "Close buffer" })
+ nmap("c", function() vim.cmd("Bdelete") end, { desc = "Close buffer" })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/bufferline.lua b/nvim/.config/nvim/lua/tobyvin/plugins/bufferline.lua
index 1ec906b..dac5a2c 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/bufferline.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/bufferline.lua
@@ -1,33 +1,43 @@
-local status_ok, bufferline = pcall(require, "bufferline")
-if not status_ok then
- return
+local utils = require("tobyvin.utils")
+local M = {}
+
+M.diagnostic_signs = function(name)
+ name = name:gsub("warning", "warn")
+ return utils.diagnostic_signs[name]
+end
+
+M.diagnostics_indicator = function(count, level, errors, ctx)
+ local s = " "
+ for e, n in pairs(errors) do
+ local sign = utils.diagnostic_signs[e:gsub("warning", "warn")].text
+ s = s .. (#s > 1 and " " or "") .. sign .. n
+ end
+ return s
end
-local diagnostics_signs = {
- ["error"] = "",
- warning = "",
- default = "",
-}
+M.setup = function()
+ local status_ok, bufferline = pcall(require, "bufferline")
+ if not status_ok then
+ vim.notify("failed to load module 'bufferline'", "error")
+ return
+ end
+
+ bufferline.setup({
+ options = {
+ close_command = utils.close_buffer,
+ right_mouse_command = "buffer %d",
+ always_show_bufferline = false,
+ diagnostics = "nvim_lsp",
+ diagnostics_indicator = M.diagnostics_indicator,
+ -- show_tab_indicators = true,
+ show_close_icon = false,
+ left_trunc_marker = "<",
+ right_trunc_marker = ">",
+ },
+ })
+
+ local nmap = utils.create_map_group("n", "<leader>b", "Buffers")
+ nmap("g", bufferline.pick_buffer, { desc = "Pick Buffer" })
+end
-require("bufferline").setup({
- options = {
- indicator_icon = " ",
- buffer_close_icon = "",
- modified_icon = "●",
- close_icon = "",
- close_command = "Bdelete! %d",
- right_mouse_command = "Bdelete! %d",
- always_show_bufferline = false,
- diagnostics = "nvim_lsp",
- diagnostics_indicator = function(count, level, diagnostics_dict, context)
- local s = " "
- for e, n in pairs(diagnostics_dict) do
- local sym = diagnostics_signs[e] or diagnostics_signs.default
- s = s .. (#s > 1 and " " or "") .. sym .. " " .. n
- end
- return s
- end,
- show_tab_indicators = true,
- show_close_icon = false,
- },
-})
+return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/colorbuddy.lua b/nvim/.config/nvim/lua/tobyvin/plugins/colorbuddy.lua
deleted file mode 100644
index 6cadfb2..0000000
--- a/nvim/.config/nvim/lua/tobyvin/plugins/colorbuddy.lua
+++ /dev/null
@@ -1,56 +0,0 @@
-local M = {}
-
-M.setup = function()
- local status_ok, colorbuddy = pcall(require, "colorbuddy")
- if not status_ok then
- vim.notify("Failed to load module 'colorbuddy'", "error")
- return
- end
-
- vim.opt.termguicolors = true
-
- colorbuddy.colorscheme("gruvbuddy")
-
- local c = require("colorbuddy.color").colors
- local Group = require("colorbuddy.group").Group
- local g = require("colorbuddy.group").groups
- local s = require("colorbuddy.style").styles
-
- Group.new("GoTestSuccess", c.green, nil, s.bold)
- Group.new("GoTestFail", c.red, nil, s.bold)
-
- -- Group.new('Keyword', c.purple, nil, nil)
-
- Group.new("TSPunctBracket", c.orange:light():light())
-
- Group.new("StatuslineError1", c.red:light():light(), g.Statusline)
- Group.new("StatuslineError2", c.red:light(), g.Statusline)
- Group.new("StatuslineError3", c.red, g.Statusline)
- Group.new("StatuslineError3", c.red:dark(), g.Statusline)
- Group.new("StatuslineError3", c.red:dark():dark(), g.Statusline)
-
- Group.new("pythonTSType", c.red)
- Group.new("goTSType", g.Type.fg:dark(), nil, g.Type)
-
- Group.new("typescriptTSConstructor", g.pythonTSType)
- Group.new("typescriptTSProperty", c.blue)
-
- -- vim.cmd [[highlight WinSeparator guifg=#4e545c guibg=None]]
- Group.new("WinSeparator", nil, nil)
-
- -- I don't think I like highlights for text
- -- Group.new("LspReferenceText", nil, c.gray0:light(), s.bold)
- -- Group.new("LspReferenceWrite", nil, c.gray0:light())
-
- -- Group.new("TSKeyword", c.purple, nil, s.underline, c.blue)
- -- Group.new("LuaFunctionCall", c.green, nil, s.underline + s.nocombine, g.TSKeyword.guisp)
-
- -- Hello
- Group.new("TSTitle", c.blue)
-end
-
-M.colors = function()
- return require("colorbuddy.color").colors
-end
-
-return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/diffview.lua b/nvim/.config/nvim/lua/tobyvin/plugins/diffview.lua
new file mode 100644
index 0000000..394d8eb
--- /dev/null
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/diffview.lua
@@ -0,0 +1,7 @@
+local M = {}
+
+M.setup = function ()
+ require("diffview").setup()
+end
+
+return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox-baby.lua b/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox-baby.lua
deleted file mode 100644
index e243e3b..0000000
--- a/nvim/.config/nvim/lua/tobyvin/plugins/gruvbox-baby.lua
+++ /dev/null
@@ -1,10 +0,0 @@
-local M = {}
-
-M.setup = function()
- vim.opt.background = "dark"
- vim.g.gruvbox_baby_telescope_theme = 1
- vim.g.gruvbox_baby_transparent_mode = 1
- vim.cmd([[colorscheme gruvbox-baby]])
-end
-
-return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua b/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
index e6eb5e1..161dc87 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
@@ -30,19 +30,25 @@ M.setup = function()
lspconfig.ltex.setup(lsp.config())
lspconfig.texlab.setup(lsp.config({
+ init_options = { documentFormatting = true },
settings = {
texlab = {
build = {
+ args = {"-pdf", "-interaction=nonstopmode", "-synctex=1", "-auxdir=../aux", "-outdir=../", "-emulate-aux-dir", "%f"},
onSave = true,
},
chktex = {
onEdit = true,
onOpenAndSave = true,
},
+ latexindent = {
+ modifyLineBreaks = true,
+ },
+ auxDirectory = "../aux",
},
},
on_attach = function(client, bufnr)
- vim.b.tex_flavor = "latex"
+ vim.g.tex_flavor = "latex"
lsp.on_attach(client, bufnr)
end,
}))
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/neo-tree.lua b/nvim/.config/nvim/lua/tobyvin/plugins/neo-tree.lua
deleted file mode 100644
index 37512d9..0000000
--- a/nvim/.config/nvim/lua/tobyvin/plugins/neo-tree.lua
+++ /dev/null
@@ -1,73 +0,0 @@
-local status_ok, neo_tree = pcall(require, "neo-tree")
-if not status_ok then
- return
-end
-
-vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
-
-vim.fn.sign_define("DiagnosticSignError", { text = " ", texthl = "DiagnosticSignError" })
-vim.fn.sign_define("DiagnosticSignWarn", { text = " ", texthl = "DiagnosticSignWarn" })
-vim.fn.sign_define("DiagnosticSignInfo", { text = " ", texthl = "DiagnosticSignInfo" })
-vim.fn.sign_define("DiagnosticSignHint", { text = "", texthl = "DiagnosticSignHint" })
-
-neo_tree.setup({
- close_if_last_window = true,
- window = {
- mappings = {
- ["<space>"] = "none",
- ["<2-LeftMouse>"] = "none",
- ["<cr>"] = "none",
- ["S"] = "none",
- ["s"] = "none",
- ["t"] = "none",
- ["C"] = "none",
- ["a"] = "none",
- ["A"] = "none",
- ["d"] = "none",
- ["r"] = "none",
- ["y"] = "none",
- ["x"] = "none",
- ["p"] = "none",
- ["c"] = "none",
- ["m"] = "none",
- ["q"] = "none",
- ["R"] = "none",
- },
- },
- filesystem = {
- filtered_items = {
- hide_dotfiles = false,
- },
- use_libuv_file_watcher = true,
- window = {
- mappings = {
- ["<bs>"] = "none",
- ["."] = "none",
- ["H"] = "none",
- ["/"] = "none",
- ["f"] = "none",
- ["<c-x>"] = "none",
- },
- },
- },
- buffers = {
- mappings = {
- ["bd"] = "none",
- ["<bs>"] = "none",
- ["."] = "none",
- },
- },
- git_status = {
- window = {
- mappings = {
- ["A"] = "none",
- ["gu"] = "none",
- ["ga"] = "none",
- ["gr"] = "none",
- ["gc"] = "none",
- ["gp"] = "none",
- ["gg"] = "none",
- },
- },
- },
-})
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/neogit.lua b/nvim/.config/nvim/lua/tobyvin/plugins/neogit.lua
index 0b5424a..762999e 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/neogit.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/neogit.lua
@@ -14,6 +14,7 @@ M.setup = function()
integrations = {
diffview = true,
},
+ -- kind = "replace",
})
local nmap = utils.create_map_group("n", "<leader>g", "git")
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua b/nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua
index efcd723..b188abf 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua
@@ -1,3 +1,4 @@
+local lsp = require("tobyvin.lsp")
local M = {}
M.setup = function()
@@ -22,6 +23,7 @@ M.setup = function()
diagnostics.markdownlint,
-- diagnostics.luacheck,
diagnostics.shellcheck,
+ diagnostics.checkmake,
-- Formatting
formatting.prettier,
@@ -31,6 +33,11 @@ M.setup = function()
formatting.stylua,
formatting.shfmt,
},
+ on_attach = lsp.on_attach
+ -- on_attach = function(client, bufnr)
+ -- client.server_capabilities.documentFormattingProvider = client.supports_method("textDocument/formatting")
+ -- lsp.on_attach(client, bufnr)
+ -- end,
})
end
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/nvim-tree.lua b/nvim/.config/nvim/lua/tobyvin/plugins/nvim-tree.lua
deleted file mode 100644
index 8b4bf89..0000000
--- a/nvim/.config/nvim/lua/tobyvin/plugins/nvim-tree.lua
+++ /dev/null
@@ -1,111 +0,0 @@
-local status_ok, nvim_tree = pcall(require, "nvim-tree")
-if not status_ok then
- return
-end
-
-local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config")
-if not config_status_ok then
- return
-end
-
-local tree_cb = nvim_tree_config.nvim_tree_callback
-
-vim.g.nvim_tree_respect_buf_cwd = 1
-vim.g.nvim_tree_icons = {
- default = "",
- symlink = "",
- git = {
- unstaged = "",
- staged = "S",
- unmerged = "",
- renamed = "➜",
- deleted = "",
- untracked = "U",
- ignored = "◌",
- },
- folder = {
- default = "",
- open = "",
- empty = "",
- empty_open = "",
- symlink = "",
- },
-}
-
-nvim_tree.setup({
- disable_netrw = true,
- hijack_netrw = true,
- open_on_setup = false,
- ignore_ft_on_setup = {
- "startify",
- "dashboard",
- "alpha",
- },
- auto_close = true,
- open_on_tab = false,
- hijack_cursor = false,
- update_cwd = true,
- update_to_buf_dir = {
- enable = true,
- auto_open = true,
- },
- diagnostics = {
- enable = true,
- icons = {
- hint = "",
- info = "",
- warning = "",
- error = "",
- },
- },
- update_focused_file = {
- enable = true,
- update_cwd = true,
- ignore_list = {},
- },
- system_open = {
- cmd = nil,
- args = {},
- },
- filters = {
- dotfiles = false,
- custom = {},
- },
- git = {
- enable = true,
- ignore = true,
- timeout = 500,
- },
- view = {
- width = 30,
- height = 30,
- hide_root_folder = false,
- side = "left",
- auto_resize = true,
- mappings = {
- custom_only = false,
- list = {
- { key = { "l", "<CR>", "o" }, cb = tree_cb("edit") },
- { key = "h", cb = tree_cb("close_node") },
- { key = "v", cb = tree_cb("vsplit") },
- },
- },
- number = false,
- relativenumber = false,
- },
- trash = {
- cmd = "trash",
- require_confirm = true,
- },
- quit_on_open = 0,
- git_hl = 1,
- disable_window_picker = 0,
- root_folder_modifier = ":t",
- show_icons = {
- git = 1,
- folders = 1,
- files = 1,
- folder_arrows = 1,
- tree_width = 30,
- },
-})
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua b/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua
index c64a6b9..665ecbd 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua
@@ -17,6 +17,7 @@ M.setup = function()
["<C-h>"] = "which_key",
},
},
+ file_ignore_patterns = { "^.git/" },
vimgrep_arguments = {
"rg",
"--color=never",
diff --git a/nvim/.config/nvim/lua/tobyvin/utils.lua b/nvim/.config/nvim/lua/tobyvin/utils.lua
index e171dc1..2cdc1e0 100644
--- a/nvim/.config/nvim/lua/tobyvin/utils.lua
+++ b/nvim/.config/nvim/lua/tobyvin/utils.lua
@@ -1,5 +1,28 @@
local M = {}
+M.diagnostic_signs = {
+ error = { text = " ", texthl = "DiagnosticSignError" },
+ warn = { text = " ", texthl = "DiagnosticSignWarn" },
+ info = { text = " ", texthl = "DiagnosticSignInfo" },
+ hint = { text = "", texthl = "DiagnosticSignHint" },
+}
+
+setmetatable(M.diagnostic_signs, {
+ __index = function()
+ return M.diagnostic_signs.info
+ end,
+})
+
+M.close_buffer = function(bufnr)
+ bufnr = bufnr or 0
+ local status_ok, bufdelete = pcall(require, "bufdelete")
+ if status_ok then
+ bufdelete.bufdelete(bufnr, true)
+ else
+ vim.cmd("bdelete " .. bufnr)
+ end
+end
+
M.create_map_group = function(mode, prefix, name, g_opts)
g_opts = g_opts or {}
@@ -55,6 +78,22 @@ M.popup = function(file_path)
vim.api.nvim_buf_set_option(0, "modifiable", false)
end
+--- count existing buffers
+---@param filter function predicate used to filter counted buffers
+---@return table
+M.count_bufs_by_type = function(filter)
+ local count = { normal = 0, acwrite = 0, help = 0, nofile = 0, nowrite = 0, quickfix = 0, terminal = 0, prompt = 0 }
+ local buftypes = vim.api.nvim_list_bufs()
+ for _, bufname in pairs(buftypes) do
+ if filter == nil or filter(bufname) then
+ local buftype = vim.api.nvim_buf_get_option(bufname, "buftype")
+ buftype = buftype ~= "" and buftype or "normal"
+ count[buftype] = count[buftype] + 1
+ end
+ end
+ return count
+end
+
M.file_exists = function(file)
local ok, err, code = os.rename(file, file)
if not ok and code == 13 then