summaryrefslogtreecommitdiff
path: root/lua/lvim/core
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lvim/core')
-rw-r--r--lua/lvim/core/commands.lua6
-rw-r--r--lua/lvim/core/comment.lua7
-rw-r--r--lua/lvim/core/log.lua28
-rw-r--r--lua/lvim/core/telescope/custom-finders.lua50
-rw-r--r--lua/lvim/core/terminal.lua21
5 files changed, 59 insertions, 53 deletions
diff --git a/lua/lvim/core/commands.lua b/lua/lvim/core/commands.lua
index 80c5bb03..65f01355 100644
--- a/lua/lvim/core/commands.lua
+++ b/lua/lvim/core/commands.lua
@@ -65,6 +65,12 @@ M.defaults = {
print(require("lvim.utils.git").get_lvim_version())
end,
},
+ {
+ name = "LvimOpenlog",
+ fn = function()
+ vim.fn.execute("edit " .. require("lvim.core.log").get_path())
+ end,
+ },
}
function M.load(collection)
diff --git a/lua/lvim/core/comment.lua b/lua/lvim/core/comment.lua
index 0b454074..86a2091a 100644
--- a/lua/lvim/core/comment.lua
+++ b/lua/lvim/core/comment.lua
@@ -26,9 +26,12 @@ function M.config()
---operator-pending mapping
---Includes `gcc`, `gcb`, `gc[count]{motion}` and `gb[count]{motion}`
basic = true,
- ---extended mapping
+ ---Extra mapping
+ ---Includes `gco`, `gcO`, `gcA`
+ extra = true,
+ ---Extended mapping
---Includes `g>`, `g<`, `g>[count]{motion}` and `g<[count]{motion}`
- extra = false,
+ extended = false,
},
---LHS of line and block comment toggle mapping in NORMAL/VISUAL mode
diff --git a/lua/lvim/core/log.lua b/lua/lvim/core/log.lua
index 49c70f83..48891139 100644
--- a/lua/lvim/core/log.lua
+++ b/lua/lvim/core/log.lua
@@ -12,17 +12,27 @@ vim.tbl_add_reverse_lookup(Log.levels)
local notify_opts = {}
function Log:set_level(level)
- -- package.loaded["lvim.core.log"] = nil
- local log_level = Log.levels[level:upper()]
- local status_ok, logger = pcall(require("structlog").get_logger, "lvim")
- if status_ok then
- for _, s in ipairs(logger.sinks) do
- s.level = log_level
+ local logger_ok, _ = xpcall(function()
+ local log_level = Log.levels[level:upper()]
+ local structlog = require "structlog"
+ if structlog then
+ local logger = structlog.get_logger "lvim"
+ for _, s in ipairs(logger.sinks) do
+ s.level = log_level
+ end
end
+ end, debug.traceback)
+ if not logger_ok then
+ Log:debug("Unable to set logger's level: " .. debug.traceback())
end
- package.loaded["packer.log"] = nil
- require("packer.log").new { level = lvim.log.level }
+ local packer_ok, _ = xpcall(function()
+ package.loaded["packer.log"] = nil
+ require("packer.log").new { level = lvim.log.level }
+ end, debug.traceback)
+ if not packer_ok then
+ Log:debug("Unable to set packer's log level: " .. debug.traceback())
+ end
end
function Log:init()
@@ -36,7 +46,7 @@ function Log:init()
lvim = {
sinks = {
structlog.sinks.Console(log_level, {
- async = false,
+ async = true,
processors = {
structlog.processors.Namer(),
structlog.processors.StackWriter({ "line", "file" }, { max_parents = 0, stack_level = 2 }),
diff --git a/lua/lvim/core/telescope/custom-finders.lua b/lua/lvim/core/telescope/custom-finders.lua
index b0ee1c07..69428a44 100644
--- a/lua/lvim/core/telescope/custom-finders.lua
+++ b/lua/lvim/core/telescope/custom-finders.lua
@@ -55,33 +55,35 @@ function M.view_lunarvim_changelog()
}
opts.entry_maker = make_entry.gen_from_git_commits(opts)
- pickers.new(opts, {
- prompt_title = "~ LunarVim Changelog ~",
+ pickers
+ .new(opts, {
+ prompt_title = "~ LunarVim Changelog ~",
- finder = finders.new_oneshot_job(
- vim.tbl_flatten {
- "git",
- "log",
- "--pretty=oneline",
- "--abbrev-commit",
+ finder = finders.new_oneshot_job(
+ vim.tbl_flatten {
+ "git",
+ "log",
+ "--pretty=oneline",
+ "--abbrev-commit",
+ },
+ opts
+ ),
+ previewer = {
+ previewers.git_commit_diff_as_was.new(opts),
},
- opts
- ),
- previewer = {
- previewers.git_commit_diff_as_was.new(opts),
- },
- --TODO: consider opening a diff view when pressing enter
- attach_mappings = function(_, map)
- map("i", "<enter>", copy_to_clipboard_action)
- map("n", "<enter>", copy_to_clipboard_action)
- map("i", "<esc>", actions._close)
- map("n", "<esc>", actions._close)
- map("n", "q", actions._close)
- return true
- end,
- sorter = sorters.generic_sorter,
- }):find()
+ --TODO: consider opening a diff view when pressing enter
+ attach_mappings = function(_, map)
+ map("i", "<enter>", copy_to_clipboard_action)
+ map("n", "<enter>", copy_to_clipboard_action)
+ map("i", "<esc>", actions._close)
+ map("n", "<esc>", actions._close)
+ map("n", "q", actions._close)
+ return true
+ end,
+ sorter = sorters.generic_sorter,
+ })
+ :find()
end
-- Smartly opens either git_files or find_files, depending on whether the working directory is
diff --git a/lua/lvim/core/terminal.lua b/lua/lvim/core/terminal.lua
index 6c190dd5..6f543d06 100644
--- a/lua/lvim/core/terminal.lua
+++ b/lua/lvim/core/terminal.lua
@@ -41,7 +41,6 @@ M.config = function()
-- lvim.builtin.terminal.execs[#lvim.builtin.terminal.execs+1] = {"gdb", "tg", "GNU Debugger"}
execs = {
{ "lazygit", "<leader>gg", "LazyGit", "float" },
- { "lazygit", "<c-\\><c-g>", "LazyGit", "float" },
},
}
end
@@ -76,23 +75,9 @@ M.add_exec = function(opts)
return
end
- local exec_func = string.format(
- "<cmd>lua require('lvim.core.terminal')._exec_toggle({ cmd = '%s', count = %d, direction = '%s'})<CR>",
- opts.cmd,
- opts.count,
- opts.direction
- )
-
- require("lvim.keymappings").load {
- normal_mode = { [opts.keymap] = exec_func },
- term_mode = { [opts.keymap] = exec_func },
- }
-
- local wk_status_ok, wk = pcall(require, "which-key")
- if not wk_status_ok then
- return
- end
- wk.register({ [opts.keymap] = { opts.label } }, { mode = "n" })
+ vim.keymap.set({ "n", "t" }, opts.keymap, function()
+ M._exec_toggle { cmd = opts.cmd, count = opts.count, direction = opts.direction }
+ end, { desc = opts.label, noremap = true, silent = true })
end
M._exec_toggle = function(opts)