70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
return {
 | 
						|
  "folke/snacks.nvim",
 | 
						|
  priority = 1000,
 | 
						|
  lazy = false,
 | 
						|
  ---@type snacks.Config
 | 
						|
  opts = {
 | 
						|
    -- your configuration comes here
 | 
						|
    -- or leave it empty to use the default settings
 | 
						|
    -- refer to the configuration section below
 | 
						|
    animate = { enabled = true, easing = "cubic" },
 | 
						|
    bigfile = { enabled = true },
 | 
						|
    explorer = { enabled = true },
 | 
						|
    indent = { enabled = true, animate = { enabled = false }, scope = { enabled = true }, chunk = { enabled = true } },
 | 
						|
    input = { enabled = true },
 | 
						|
    picker = { enabled = true },
 | 
						|
    notifier = { enabled = true },
 | 
						|
    quickfile = { enabled = true },
 | 
						|
    scope = { enabled = true },
 | 
						|
    scroll = { enabled = true },
 | 
						|
    statuscolumn = { enabled = true },
 | 
						|
    words = { enabled = true },
 | 
						|
  },
 | 
						|
  keys = {
 | 
						|
    {
 | 
						|
      "<leader>gl",
 | 
						|
      function()
 | 
						|
        Snacks.git.blame_line()
 | 
						|
      end,
 | 
						|
      desc = "Snacks blame line",
 | 
						|
    },
 | 
						|
    {
 | 
						|
      "<leader>gg",
 | 
						|
      function()
 | 
						|
        Snacks.lazygit()
 | 
						|
      end,
 | 
						|
      desc = "Lazygit",
 | 
						|
    },
 | 
						|
  },
 | 
						|
  init = function()
 | 
						|
    vim.api.nvim_create_autocmd("User", {
 | 
						|
      pattern = "VeryLazy",
 | 
						|
      callback = function()
 | 
						|
        -- Setup some globals for debugging (lazy-loaded)
 | 
						|
        _G.dd = function(...)
 | 
						|
          Snacks.debug.inspect(...)
 | 
						|
        end
 | 
						|
        _G.bt = function()
 | 
						|
          Snacks.debug.backtrace()
 | 
						|
        end
 | 
						|
        vim.print = _G.dd -- Override print to use snacks for `:=` command
 | 
						|
 | 
						|
        -- Create some toggle mappings
 | 
						|
        Snacks.toggle.option("spell", { name = "Spelling" }):map("<leader>us")
 | 
						|
        Snacks.toggle.option("wrap", { name = "Wrap" }):map("<leader>uw")
 | 
						|
        Snacks.toggle.option("relativenumber", { name = "Relative Number" }):map("<leader>uL")
 | 
						|
        Snacks.toggle.diagnostics():map("<leader>ud")
 | 
						|
        Snacks.toggle.line_number():map("<leader>ul")
 | 
						|
        Snacks.toggle
 | 
						|
            .option("conceallevel", { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 })
 | 
						|
            :map("<leader>uc")
 | 
						|
        Snacks.toggle.treesitter():map("<leader>uT")
 | 
						|
        Snacks.toggle.option("background", { off = "light", on = "dark", name = "Dark Background" }):map("<leader>ub")
 | 
						|
        Snacks.toggle.inlay_hints():map("<leader>uh")
 | 
						|
        Snacks.toggle.indent():map("<leader>ug")
 | 
						|
        Snacks.toggle.dim():map("<leader>uD")
 | 
						|
      end,
 | 
						|
    })
 | 
						|
  end,
 | 
						|
}
 |