return {
  {
    "OXY2DEV/markview.nvim",
    lazy = false,
    ft = "markdown",
    dependencies = {
      "nvim-treesitter/nvim-treesitter",
      "nvim-tree/nvim-web-devicons",
    },
    config = function()
      local presets = require("markview.presets")

      require("markview").setup({
        modes = { "n", "no", "c" },
        hybrid_modes = { "n" },

        callbacks = {
          on_enable = function(_, win)
            vim.wo[win].conceallevel = 2
            vim.wo[win].concealcursor = ""
          end,
        },

        markdown = {
          headings = presets.headings.glow,

          code_blocks = {
            enable = true,
            style = "language",
            position = "overlay",
            min_width = 60,
            pad_amount = 2,
            hl = "MarkviewCode",
          },

          block_quotes = {
            enable = true,
            default = {
              border = "▋",
              border_hl = "MarkviewBlockQuoteBorder",
            },
          },

          tables = {
            enable = true,
            parts = {
              top = { "╭", "─", "┬", "─", "╮" },
              header = { "├", "─", "┼", "─", "┤" },
              separator = { "├", "─", "┼", "─", "┤" },
              row = { "│", " ", "│", " ", "│" },
              bottom = { "╰", "─", "┴", "─", "╯" },
            },
            use_virt_lines = true,
          },

          list_items = {
            enable = true,
            indent_size = 2,
            shift_width = 2,
          },
        },

        markdown_inline = {
          enable = true,

          checkboxes = {
            enable = true,
            checked = {
              text = "✓",
              hl = "MarkviewCheckboxChecked",
            },
            unchecked = {
              text = "☐",
              hl = "MarkviewCheckboxUnchecked",
            },
            custom = {
              {
                match_string = "!",
                text = "!",
                hl = "MarkviewCheckboxImportant",
              },
              {
                match_string = "-",
                text = "◐",
                hl = "MarkviewCheckboxPending",
              },
              {
                match_string = "~",
                text = "≈",
                hl = "MarkviewCheckboxProgress",
              },
            },
          },
        },
      })

      -- Force override colors AFTER markview sets them up
      vim.api.nvim_create_autocmd("FileType", {
        pattern = "markdown",
        callback = function()
          vim.schedule(function()
            vim.api.nvim_set_hl(0, "MarkviewCheckboxChecked", { fg = "#f9e2af", force = true })
            vim.api.nvim_set_hl(0, "MarkviewCheckboxUnchecked", { fg = "#f9e2af", force = true })
            vim.api.nvim_set_hl(0, "MarkviewCheckboxImportant", { fg = "#f9e2af", bold = true, force = true })
            vim.api.nvim_set_hl(0, "MarkviewCheckboxPending", { fg = "#f9e2af", force = true })
            vim.api.nvim_set_hl(0, "MarkviewCheckboxProgress", { fg = "#f9e2af", force = true })
          end)
        end,
      })

      -- Checkbox extras
      require("markview.extras.checkboxes").setup({
        default = "X",
        remove_markers = false,
        exit = true,
      })

      -- Keymaps
      vim.keymap.set("n", "<leader>mt", "<cmd>Markview toggle<cr>", { desc = "Toggle Markview" })
      vim.keymap.set("n", "<leader>ch", "<cmd>Checkboxes toggle<cr>", { desc = "Toggle checkbox" })
    end,
  },
}
