diff options
author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-01-13 19:12:32 +0100 |
---|---|---|
committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-01-13 19:12:32 +0100 |
commit | 73a60f5ee71bb60265ec0c97be7531a5e7605d8c (patch) | |
tree | d46283a3d04285c5a5ead92d5bbb3b1fe424b736 /.config/nvim/lua/utils | |
parent | 19c1942757f07387b95db3ddbc39d9b561d5b51d (diff) |
Remove bloat nvim config
Diffstat (limited to '.config/nvim/lua/utils')
-rw-r--r-- | .config/nvim/lua/utils/hooks.lua | 33 | ||||
-rw-r--r-- | .config/nvim/lua/utils/init.lua | 179 | ||||
-rw-r--r-- | .config/nvim/lua/utils/table.lua | 24 |
3 files changed, 0 insertions, 236 deletions
diff --git a/.config/nvim/lua/utils/hooks.lua b/.config/nvim/lua/utils/hooks.lua deleted file mode 100644 index fa667cf..0000000 --- a/.config/nvim/lua/utils/hooks.lua +++ /dev/null @@ -1,33 +0,0 @@ -local M = {} - -local Log = require "core.log" -local in_headless = #vim.api.nvim_list_uis() == 0 - -function M.run_pre_update() - Log:debug "Starting pre-update hook" -end - ----Reset any startup cache files used by Packer and Impatient ----Tip: Useful for clearing any outdated settings -function M.reset_cache() - _G.__luacache.clear_cache() - require("plugin-loader"):cache_reset() -end - -function M.run_post_update() - M.reset_cache() - Log:debug "Starting post-update hook" - package.loaded["lsp.templates"] = nil - require("lsp.templates").generate_templates() - - if not in_headless then - vim.schedule(function() - require("packer").install() - -- TODO: add a changelog - vim.notify("Update complete", vim.log.levels.INFO) - vim.cmd "LspStart" - end) - end -end - -return M diff --git a/.config/nvim/lua/utils/init.lua b/.config/nvim/lua/utils/init.lua deleted file mode 100644 index 0d06b1f..0000000 --- a/.config/nvim/lua/utils/init.lua +++ /dev/null @@ -1,179 +0,0 @@ -local utils = {} -local uv = vim.loop - --- recursive Print (structure, limit, separator) -local function r_inspect_settings(structure, limit, separator) - limit = limit or 100 -- default item limit - separator = separator or "." -- indent string - if limit < 1 then - print "ERROR: Item limit reached." - return limit - 1 - end - if structure == nil then - io.write("-- O", separator:sub(2), " = nil\n") - return limit - 1 - end - local ts = type(structure) - - if ts == "table" then - for k, v in pairs(structure) do - -- replace non alpha keys with ["key"] - if tostring(k):match "[^%a_]" then - k = '["' .. tostring(k) .. '"]' - end - limit = r_inspect_settings(v, limit, separator .. "." .. tostring(k)) - if limit < 0 then - break - end - end - return limit - end - - if ts == "string" then - -- escape sequences - structure = string.format("%q", structure) - end - separator = separator:gsub("%.%[", "%[") - if type(structure) == "function" then - -- don't print functions - io.write("-- options", separator:sub(2), " = function ()\n") - else - io.write("options", separator:sub(2), " = ", tostring(structure), "\n") - end - return limit - 1 -end - -function utils.generate_settings() - -- Opens a file in append mode - local file = io.open("lv-settings.lua", "w") - - -- sets the default output file as test.lua - io.output(file) - - -- write all `options` related settings to `lv-settings.lua` file - r_inspect_settings(options, 10000, ".") - - -- closes the open file - io.close(file) -end - -function utils.unrequire(m) - package.loaded[m] = nil - _G[m] = nil -end - -function utils.gsub_args(args) - if args == nil or type(args) ~= "table" then - return args - end - local buffer_filepath = vim.fn.fnameescape(vim.api.nvim_buf_get_name(0)) - for i = 1, #args do - args[i] = string.gsub(args[i], "${FILEPATH}", buffer_filepath) - end - return args -end - ---- Returns a table with the default values that are missing. ---- either paramter can be empty. ---@param config (table) table containing entries that take priority over defaults ---@param default_config (table) table contatining default values if found -function utils.apply_defaults(config, default_config) - config = config or {} - default_config = default_config or {} - local new_config = vim.tbl_deep_extend("keep", vim.empty_dict(), config) - new_config = vim.tbl_deep_extend("keep", new_config, default_config) - return new_config -end - ---- Checks whether a given path exists and is a file. ---@param path (string) path to check ---@returns (bool) -function utils.is_file(path) - local stat = uv.fs_stat(path) - return stat and stat.type == "file" or false -end - ---- Checks whether a given path exists and is a directory ---@param path (string) path to check ---@returns (bool) -function utils.is_directory(path) - local stat = uv.fs_stat(path) - return stat and stat.type == "directory" or false -end - -utils.join_paths = _G.join_paths - -function utils.write_file(path, txt, flag) - uv.fs_open(path, flag, 438, function(open_err, fd) - assert(not open_err, open_err) - uv.fs_write(fd, txt, -1, function(write_err) - assert(not write_err, write_err) - uv.fs_close(fd, function(close_err) - assert(not close_err, close_err) - end) - end) - end) -end - -function utils.debounce(ms, fn) - local timer = vim.loop.new_timer() - return function(...) - local argv = { ... } - timer:start(ms, 0, function() - timer:stop() - vim.schedule_wrap(fn)(unpack(argv)) - end) - end -end - -function utils.search_file(file, args) - local Job = require "plenary.job" - local stderr = {} - local stdout, ret = Job - :new({ - command = "grep", - args = { args, file }, - cwd = get_cache_dir(), - on_stderr = function(_, data) - table.insert(stderr, data) - end, - }) - :sync() - return stdout, ret, stderr -end - -function utils.file_contains(file, query) - local stdout, ret, stderr = utils.search_file(file, query) - if ret == 0 then - return true - end - if not vim.tbl_isempty(stderr) then - error(vim.inspect(stderr)) - end - if not vim.tbl_isempty(stdout) then - error(vim.inspect(stdout)) - end - return false -end - -function utils.log_contains(query) - local logfile = require("core.log"):get_path() - local stdout, ret, stderr = utils.search_file(logfile, query) - if ret == 0 then - return true - end - if not vim.tbl_isempty(stderr) then - error(vim.inspect(stderr)) - end - if not vim.tbl_isempty(stdout) then - error(vim.inspect(stdout)) - end - if not vim.tbl_isempty(stderr) then - error(vim.inspect(stderr)) - end - return false -end - -return utils - --- TODO: find a new home for these autocommands diff --git a/.config/nvim/lua/utils/table.lua b/.config/nvim/lua/utils/table.lua deleted file mode 100644 index 1ac5949..0000000 --- a/.config/nvim/lua/utils/table.lua +++ /dev/null @@ -1,24 +0,0 @@ -local Table = {} - ---- Find the first entry for which the predicate returns true. --- @param t The table --- @param predicate The function called for each entry of t --- @return The entry for which the predicate returned True or nil -function Table.find_first(t, predicate) - for _, entry in pairs(t) do - if predicate(entry) then - return entry - end - end - return nil -end - ---- Check if the predicate returns True for at least one entry of the table. --- @param t The table --- @param predicate The function called for each entry of t --- @return True if predicate returned True at least once, false otherwise -function Table.contains(t, predicate) - return Table.find_first(t, predicate) ~= nil -end - -return Table |