return {
    "nvim-lualine/lualine.nvim",
    dependencies = {
        "abeldekat/harpoonline",
    },
    config = function()
        local Harpoonline = require("harpoonline")

        Harpoonline.setup({
            on_update = function() require("lualine").refresh() end,
        })

        require("lualine").setup({
            options = {
                icons_enabled = true,
                theme = "codedark",
                component_separators = { left = "|", right = "|" },
                section_separators = { left = "", right = "" },
                disabled_filetypes = {
                    statusline = {},
                    winbar = {},
                },
                ignore_focus = {},
                always_divide_middle = true,
                globalstatus = false,
                refresh = {
                    statusline = 1000,
                    tabline = 1000,
                    winbar = 1000,
                },
            },
            sections = {
                lualine_a = { "mode" },
                lualine_b = { "branch" },
                lualine_c = { Harpoonline.format, "filename", "diff", "diagnostics" },
                lualine_x = { "filetype" },
                lualine_y = { "progress" },
                lualine_z = { "location" },
            },
            inactive_sections = {
                lualine_a = {},
                lualine_b = {},
                lualine_c = { "filename" },
                lualine_x = { "location" },
                lualine_y = {},
                lualine_z = {},
            },
            tabline = {},
            winbar = {},
            inactive_winbar = {},
            extensions = {},
        })
    end,
}
