diff options
Diffstat (limited to 'lua/lvim/core')
| -rw-r--r-- | lua/lvim/core/commands.lua | 6 | ||||
| -rw-r--r-- | lua/lvim/core/comment.lua | 7 | ||||
| -rw-r--r-- | lua/lvim/core/log.lua | 28 | ||||
| -rw-r--r-- | lua/lvim/core/telescope/custom-finders.lua | 50 | ||||
| -rw-r--r-- | lua/lvim/core/terminal.lua | 21 | 
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) | 
