nvim/.config/nvim/lua/plugins/ui/noice.lua

-- nvim/.config/nvim/lua/plugins/ui/noice.lua

return {
  "folke/noice.nvim",
  event = "VeryLazy",
  dependencies = {
    "MunifTanjim/nui.nvim",
    "rcarriga/nvim-notify",
  },
  opts = {
    lsp = {
      override = {
        ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
        ["vim.lsp.util.stylize_markdown"] = true,
        ["cmp.entry.get_documentation"] = true,
      },
      progress = { enabled = true },
      hover    = { enabled = true, silent = true },
      signature = { enabled = true },
    },
    presets = {
      bottom_search         = true,
      command_palette       = true,
      long_message_to_split = true,
      inc_rename            = false,
      lsp_doc_border        = true,
    },
    routes = {
      { filter = { event = "msg_show", kind = "search_count" }, opts = { skip = true } },
      { filter = { event = "msg_show", find = "written" },      opts = { skip = true } },
      { filter = { event = "msg_show", find = "E486: Pattern not found" }, opts = { skip = true } },
    },
    views = {
      cmdline_popup = {
        border = { style = "rounded", padding = { 0, 1 } },
        position = { row = "40%", col = "50%" },
      },
    },
  },
  keys = {
    { "<leader>nl", function() require("noice").cmd("last") end, desc = "Noice last" },
    { "<leader>nh", function() require("noice").cmd("history") end, desc = "Noice history" },
    { "<leader>nd", function() require("noice").cmd("dismiss") end, desc = "Noice dismiss" },
  },
}