summaryrefslogtreecommitdiff
path: root/lua/bee/init.lua
blob: 23991eff93fddfd7b59dbd9cf0116c86ffa2bf84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
local MP = ...
do
    local ok
    ok, _G.nixInfo = pcall(require, vim.g.nix_info_plugin_name)
    if not ok then
        package.loaded[vim.g.nix_info_plugin_name] = setmetatable({}, {
            __call = function(_, default)
                return default
            end,
        })
        _G.nixInfo = require(vim.g.nix_info_plugin_name)
    end
    nixInfo.isNix = vim.g.nix_info_plugin_name ~= nil
    nixInfo.utils = require(MP:relpath("utils"))
    nixInfo.lze = setmetatable(require("lze"), getmetatable(require("lzextras")))
    function nixInfo.get_nix_plugin_path(name)
        return nixInfo(nil, "plugins", "lazy", name) or nixInfo(nil, "plugins", "start", name)
    end
end

nixInfo.lze.register_handlers({
    nixInfo.utils.auto_enable_handler,
    nixInfo.utils.for_cat_handler,
    nixInfo.lze.lsp,
})
nixInfo.lze.h.lsp.set_ft_fallback(nixInfo.utils.lsp_ft_fallback)
nixInfo.lze.load({
    { import = MP:relpath("plugins") },
    { import = MP:relpath("format") },
    { import = MP:relpath("lint") },
    { import = MP:relpath("LSPs") },
    {
        "base46",
        lazy = false,
        auto_enable = true,
        event = "VimEnter",
        after = function(_)
            require("base46").setup()
        end,
    },
    {
        "vim-startuptime",
        auto_enable = true,
        cmd = { "StartupTime" },
        before = function(_)
            vim.g.startuptime_event_width = 0
            vim.g.startuptime_tries = 10
            vim.g.startuptime_exe_path = nixInfo(vim.v.progpath, "progpath")
        end,
    },
    {
        "mini.surround",
        auto_enable = true,
        event = "DeferredUIEnter",
        after = function(_)
            require("mini.surround").setup()
        end,
    },
    {
        "mini.pick",
        lazy = true,
        auto_enable = true,
        keys = {
            { "<leader>ff", desc = "File finder" },
            { "<leader>bb", desc = "List open buffers" },
            { "<leader>sg", desc = "Live grep" },
            { "<leader>/", desc = "Grep" },
        },
        after = function(_)
            require("mini.pick").setup({
                vim.keymap.set("n", "<leader>ff", "<cmd>Pick files<cr>", { desc = "File finder" }),
                vim.keymap.set("n", "<leader>bb", "<cmd>Pick buffers<cr>", { desc = "List open buffers" }),
                vim.keymap.set("n", "<leader>sg", "<cmd>Pick grep_live<cr>", { desc = "live grep" }),
                vim.keymap.set("n", "<leader>/", "<cmd>Pick grep<cr>", { desc = "Grep" }),
            })
        end,
    },
})

vim.cmd.colorscheme("matugen")