aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorToby Vincent <tobyv@tobyvin.dev>2023-11-10 16:40:40 -0600
committerToby Vincent <tobyv@tobyvin.dev>2023-11-10 16:42:41 -0600
commit34a4cc6ec00a1a7aed58ff600ddf2ffbc2157a3c (patch)
tree8d426df55f9ab15db1d19d524a7625837248e26b
parentdcbd68b9fae50c8c6abdb0e7a8aef7daad90df32 (diff)
fix(nvim): clean up utils and use global variable
-rw-r--r--nvim/.config/nvim/after/ftplugin/dashboard.lua9
-rw-r--r--nvim/.config/nvim/lua/plugins/conform.lua1
-rw-r--r--nvim/.config/nvim/lua/plugins/ferris.lua4
-rw-r--r--nvim/.config/nvim/lua/plugins/nvim-lint.lua40
-rw-r--r--nvim/.config/nvim/lua/plugins/peek.lua13
-rw-r--r--nvim/.config/nvim/lua/plugins/presence.lua2
-rw-r--r--nvim/.config/nvim/lua/tobyvin/autocmds.lua8
-rw-r--r--nvim/.config/nvim/lua/tobyvin/commands.lua6
-rw-r--r--nvim/.config/nvim/lua/tobyvin/dap/adapters.lua4
-rw-r--r--nvim/.config/nvim/lua/tobyvin/utils.lua16
-rw-r--r--nvim/.config/nvim/lua/tobyvin/utils/dashboard.lua18
11 files changed, 69 insertions, 52 deletions
diff --git a/nvim/.config/nvim/after/ftplugin/dashboard.lua b/nvim/.config/nvim/after/ftplugin/dashboard.lua
new file mode 100644
index 0000000..019d8ef
--- /dev/null
+++ b/nvim/.config/nvim/after/ftplugin/dashboard.lua
@@ -0,0 +1,9 @@
+vim.keymap.set("n", "<leader>sr", U.session.read, {
+ buffer = 0,
+ desc = "read session",
+})
+
+vim.keymap.set("n", "<C-n>", U.dashboard.next_fortune, {
+ buffer = 0,
+ desc = "next fortune",
+})
diff --git a/nvim/.config/nvim/lua/plugins/conform.lua b/nvim/.config/nvim/lua/plugins/conform.lua
index 7e65c73..fc7eaf4 100644
--- a/nvim/.config/nvim/lua/plugins/conform.lua
+++ b/nvim/.config/nvim/lua/plugins/conform.lua
@@ -18,6 +18,7 @@ local M = {
sass = { "prettier" },
scss = { "prettier" },
sh = { "shfmt" },
+ PKGBUILD = { "shfmt" },
["*"] = { "injected" },
},
formatters = {
diff --git a/nvim/.config/nvim/lua/plugins/ferris.lua b/nvim/.config/nvim/lua/plugins/ferris.lua
index 0d4b881..d4ee82d 100644
--- a/nvim/.config/nvim/lua/plugins/ferris.lua
+++ b/nvim/.config/nvim/lua/plugins/ferris.lua
@@ -1,5 +1,3 @@
-local utils = require("tobyvin.utils")
-
---@type LazyPluginSpec
local M = {
"vxpm/ferris.nvim",
@@ -7,7 +5,7 @@ local M = {
}
function M:init()
- utils.on_attach(function()
+ U.on_attach(function()
require("ferris")
end, { name = "rust_analyzer" })
end
diff --git a/nvim/.config/nvim/lua/plugins/nvim-lint.lua b/nvim/.config/nvim/lua/plugins/nvim-lint.lua
index a6ceaa7..6e2a64c 100644
--- a/nvim/.config/nvim/lua/plugins/nvim-lint.lua
+++ b/nvim/.config/nvim/lua/plugins/nvim-lint.lua
@@ -1,5 +1,3 @@
-local utils = require("tobyvin.utils")
-
local function find_config(filename)
local config = unpack(vim.fs.find(filename, {
path = vim.api.nvim_buf_get_name(0),
@@ -20,13 +18,16 @@ local function try_lint()
vim.list_extend(names, lint.linters_by_ft["*"] or {})
- names = vim.tbl_filter(function(name)
- local linter = lint.linters[name]
- if not linter then
- vim.notify("Linter not found: " .. name, vim.log.levels.WARN, { title = "nvim-lint" })
- end
- return linter and not (type(linter) == "table" and linter.condition and not linter.condition())
- end, names)
+ names = vim.iter(names)
+ :filter(function(name)
+ local linter = lint.linters[name]
+ if not linter then
+ vim.notify("Linter not found: " .. name, vim.log.levels.WARN, { title = "nvim-lint" })
+ end
+ ---@diagnostic disable-next-line: undefined-field
+ return (type(linter) == "table" and linter.condition and linter.condition()) or linter
+ end)
+ :totable()
if #names > 0 then
lint.try_lint(names)
@@ -74,25 +75,20 @@ local M = {
function M:init()
vim.api.nvim_create_autocmd({ "BufWritePost", "BufReadPost", "InsertLeave" }, {
group = vim.api.nvim_create_augroup("nvim-lint", { clear = true }),
- callback = utils.debounce(100, try_lint),
+ callback = U.debounce(100, try_lint),
})
end
function M:config(opts)
local lint = require("lint")
-
- for name, linter in pairs(opts.linters) do
- if type(linter) == "table" and type(lint.linters[name]) == "table" then
- lint.linters[name] = vim.tbl_deep_extend("force", lint.linters[name], linter)
- for _, arg in pairs(lint.linters[name].prepend_args) do
- lint.linters[name].args = lint.linters[name].args or {}
- table.insert(lint.linters[name].args, arg)
- end
- else
- lint.linters[name] = linter
- end
- end
lint.linters_by_ft = opts.linters_by_ft
+ vim.iter(opts.linters):each(function(name, linter)
+ linter = vim.tbl_deep_extend("keep", linter, require("lint").linters[name] or {}, { args = {} })
+ vim.iter(linter.prepend_args):rev():each(function(arg)
+ table.insert(linter.args, 1, arg)
+ end)
+ lint.linters[name] = linter
+ end)
end
return M
diff --git a/nvim/.config/nvim/lua/plugins/peek.lua b/nvim/.config/nvim/lua/plugins/peek.lua
index 34facaf..4fdb963 100644
--- a/nvim/.config/nvim/lua/plugins/peek.lua
+++ b/nvim/.config/nvim/lua/plugins/peek.lua
@@ -17,13 +17,12 @@ function M:init()
return
end
- vim.api.nvim_create_user_command("PeekOpen", function()
- require("peek").open()
- end, { desc = "open peek.nvim markdown preview" })
-
- vim.api.nvim_create_user_command("PeekClose", function()
- require("peek").close()
- end, { desc = "close peek.nvim markdown preview" })
+ vim.api.nvim_create_user_command("PeekOpen", U.lazy_require("peek").open, {
+ desc = "open peek.nvim markdown preview",
+ })
+ vim.api.nvim_create_user_command("PeekClose", U.lazy_require("peek").close, {
+ desc = "close peek.nvim markdown preview",
+ })
end
return M
diff --git a/nvim/.config/nvim/lua/plugins/presence.lua b/nvim/.config/nvim/lua/plugins/presence.lua
index e4b8f6b..a005df9 100644
--- a/nvim/.config/nvim/lua/plugins/presence.lua
+++ b/nvim/.config/nvim/lua/plugins/presence.lua
@@ -22,6 +22,7 @@ function M:config(opts)
plugin_managers["lazy"] = "lazy"
-- HACK: Overwrite functions to remove WSL related stuff
+ ---@diagnostic disable-next-line: duplicate-set-field
function Presence:get_discord_socket_path()
local sock_name = "discord-ipc-0"
local sock_path = nil
@@ -60,6 +61,7 @@ function M:config(opts)
end
-- HACK: Fix grep command for neovim socket
+ ---@diagnostic disable-next-line: duplicate-set-field
function Presence:get_nvim_socket_paths(on_done)
self.log:debug("Getting nvim socket paths...")
local sockets = {}
diff --git a/nvim/.config/nvim/lua/tobyvin/autocmds.lua b/nvim/.config/nvim/lua/tobyvin/autocmds.lua
index d304cbf..eee8923 100644
--- a/nvim/.config/nvim/lua/tobyvin/autocmds.lua
+++ b/nvim/.config/nvim/lua/tobyvin/autocmds.lua
@@ -19,7 +19,7 @@ vim.api.nvim_create_autocmd("VimLeavePre", {
end
if vim.fn.argc() == 0 and #vim.fn.getbufinfo({ buflisted = 1, bufloaded = 1 }) > 0 then
- pcall(require("tobyvin.utils.session").write)
+ pcall(U.session.write)
end
end,
desc = "write session on vim exit",
@@ -30,11 +30,7 @@ vim.api.nvim_create_autocmd("VimEnter", {
callback = function()
if vim.fn.argc() == 0 then
local curr_buf = vim.api.nvim_get_current_buf()
- local bufnr = require("tobyvin.utils.dashboard").setup()
- vim.keymap.set("n", "<leader>sr", require("tobyvin.utils.session").read, {
- buffer = bufnr,
- desc = "read session",
- })
+ U.dashboard.setup()
vim.api.nvim_buf_delete(curr_buf, {})
end
end,
diff --git a/nvim/.config/nvim/lua/tobyvin/commands.lua b/nvim/.config/nvim/lua/tobyvin/commands.lua
index cc3ab51..f043e75 100644
--- a/nvim/.config/nvim/lua/tobyvin/commands.lua
+++ b/nvim/.config/nvim/lua/tobyvin/commands.lua
@@ -1,10 +1,8 @@
-local session = require("tobyvin.utils.session")
-
vim.api.nvim_create_user_command("W", "w", { desc = "write" })
vim.api.nvim_create_user_command("Q", "q", { desc = "quit" })
vim.api.nvim_create_user_command("Wq", "wq", { desc = "write quit" })
-vim.api.nvim_create_user_command("SessionRead", session.read, { desc = "read session" })
-vim.api.nvim_create_user_command("SessionWrite", session.write, { desc = "write session" })
+vim.api.nvim_create_user_command("SessionRead", U.session.read, { desc = "read session" })
+vim.api.nvim_create_user_command("SessionWrite", U.session.write, { desc = "write session" })
vim.api.nvim_create_user_command("Scratch", function(cmdln)
local bufnr = vim.api.nvim_create_buf(true, true)
vim.bo[bufnr].filetype = cmdln.args[1]
diff --git a/nvim/.config/nvim/lua/tobyvin/dap/adapters.lua b/nvim/.config/nvim/lua/tobyvin/dap/adapters.lua
index 6c97b66..7e2d5fc 100644
--- a/nvim/.config/nvim/lua/tobyvin/dap/adapters.lua
+++ b/nvim/.config/nvim/lua/tobyvin/dap/adapters.lua
@@ -1,5 +1,3 @@
-local dap_utils = require("tobyvin.utils.dap")
-
local M = {
nlua = function(callback, config)
callback({ type = "server", host = config.host, port = config.port })
@@ -29,7 +27,7 @@ local M = {
},
enrich_config = function(config, on_config)
if config["cargo"] ~= nil then
- on_config(dap_utils.cargo_inspector(config))
+ on_config(U.dap.cargo_inspector(config))
end
end,
},
diff --git a/nvim/.config/nvim/lua/tobyvin/utils.lua b/nvim/.config/nvim/lua/tobyvin/utils.lua
index 61410ce..3d672f9 100644
--- a/nvim/.config/nvim/lua/tobyvin/utils.lua
+++ b/nvim/.config/nvim/lua/tobyvin/utils.lua
@@ -1,10 +1,24 @@
-local M = {}
+local M = {
+ dashboard = require("tobyvin.utils.dashboard"),
+ session = require("tobyvin.utils.session"),
+ dap = require("tobyvin.utils.dap"),
+}
function M.inspect(v)
print(vim.inspect(v))
return v
end
+function M.lazy_require(modname)
+ return setmetatable({}, {
+ __index = function(_, k)
+ return function(...)
+ return require(modname)[k](...)
+ end
+ end,
+ })
+end
+
---@param ms integer
---@param fn function
function M.debounce(ms, fn)
diff --git a/nvim/.config/nvim/lua/tobyvin/utils/dashboard.lua b/nvim/.config/nvim/lua/tobyvin/utils/dashboard.lua
index e794b95..b978122 100644
--- a/nvim/.config/nvim/lua/tobyvin/utils/dashboard.lua
+++ b/nvim/.config/nvim/lua/tobyvin/utils/dashboard.lua
@@ -87,6 +87,8 @@ local M = {
}
function M.render(bufnr, index)
+ bufnr = bufnr or 0
+
local width = vim.api.nvim_win_get_width(0)
local height = vim.api.nvim_win_get_height(0)
@@ -158,20 +160,24 @@ function M.initialize()
return bufnr
end
+function M.next_fortune(bufnr)
+ M.render(bufnr, 1)
+end
+
+function M.refresh_stats(bufnr)
+ M.render(bufnr, 3)
+end
+
function M.setup()
local augroup = vim.api.nvim_create_augroup("dashboard", { clear = true })
local bufnr = M.initialize()
- vim.keymap.set("n", "<C-n>", function()
- M.render(bufnr, 1)
- end, { desc = "next cowsay", buffer = bufnr })
-
vim.api.nvim_create_autocmd("User", {
group = augroup,
pattern = { "LazyVimStarted", "LazyLoad", "LazyCheck" },
callback = function()
- M.render(bufnr, 3)
- end,
+ M.refresh_stats(bufnr)
+ end,
desc = "dashboard lazy stats",
})