return {
  {
    "OXY2DEV/markview.nvim",
    ft = "markdown",
    dependencies = {
      "nvim-treesitter/nvim-treesitter",
      "nvim-tree/nvim-web-devicons",
    },
    config = function()
      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,
        },

        checkboxes = {
          enable = true,
          checked = {
            text = "✓",
            hl = "MarkviewCheckboxChecked",
          },
          unchecked = {
            text = "☐",
            hl = "MarkviewCheckboxUnchecked",
          },
          custom = {
            {
              match_string = "!",
              text = "!",
              hl = "MarkviewCheckboxUrgent",
            },
          },
        },

        headings = {
          enable = true,
          shift_width = 0,
          heading_1 = {
            style = "icon",
            icon = "# ",
            hl = "MarkviewHeading1",
          },
          heading_2 = {
            style = "icon",
            icon = "## ",
            hl = "MarkviewHeading2",
          },
          heading_3 = {
            style = "icon",
            icon = "### ",
            hl = "MarkviewHeading3",
          },
          heading_4 = {
            style = "icon",
            icon = "#### ",
            hl = "MarkviewHeading4",
          },
          heading_5 = {
            style = "icon",
            icon = "##### ",
            hl = "MarkviewHeading5",
          },
          heading_6 = {
            style = "icon",
            icon = "###### ",
            hl = "MarkviewHeading6",
          },
        },

        code_blocks = {
          enable = true,
          style = "language",
          hl = "MarkviewCode",
          min_width = 60,
          pad_amount = 1,
        },

        list_items = {
          enable = true,
          indent_size = 2,
          marker_minus = {
            text = "•",
            hl = "MarkviewListItemMinus",
          },
          marker_plus = {
            text = "•",
            hl = "MarkviewListItemPlus",
          },
          marker_star = {
            text = "•",
            hl = "MarkviewListItemStar",
          },
        },

        links = {
          enable = true,
          hyperlinks = {
            icon = "",
            hl = "MarkviewHyperlink",
          },
          images = {
            icon = "",
            hl = "MarkviewImageLink",
          },
        },
      })

      -- Catppuccin Mocha colors
      vim.cmd([[
        " Checkboxes - Catppuccin Mocha palette
        highlight MarkviewCheckboxChecked guifg=#a6e3a1     " Green
        highlight MarkviewCheckboxUnchecked guifg=#6c7086   " Surface2 (gray)
        highlight MarkviewCheckboxUrgent guifg=#f38ba8 gui=bold  " Red

        " Headings - Catppuccin Mocha subtle
        highlight MarkviewHeading1 guifg=#f38ba8 gui=bold   " Red
        highlight MarkviewHeading2 guifg=#fab387 gui=bold   " Peach
        highlight MarkviewHeading3 guifg=#f9e2af            " Yellow
        highlight MarkviewHeading4 guifg=#a6e3a1            " Green
        highlight MarkviewHeading5 guifg=#89b4fa            " Blue
        highlight MarkviewHeading6 guifg=#cba6f7            " Mauve

        " Code blocks - Catppuccin Mocha mantle
        highlight MarkviewCode guibg=#181825

        " Lists - Catppuccin Mocha blue
        highlight MarkviewListItemMinus guifg=#89b4fa
        highlight MarkviewListItemPlus guifg=#89b4fa
        highlight MarkviewListItemStar guifg=#89b4fa

        " Links - Catppuccin Mocha sapphire
        highlight MarkviewHyperlink guifg=#74c7ec gui=underline
        highlight MarkviewImageLink guifg=#74c7ec
      ]])
    end,
  },

  {
    "dhruvasagar/vim-table-mode",
    ft = { "markdown" },
    cmd = { "TableModeToggle" },
    keys = {
      { "<leader>tm", "<cmd>TableModeToggle<cr>", desc = "Toggle Table Mode" },
    },
    config = function()
      vim.g.table_mode_corner = "|"
      vim.g.table_mode_corner_corner = "|"
      vim.g.table_mode_header_fillchar = "-"
    end,
  },

  {
    "bullets-vim/bullets.vim",
    ft = { "markdown", "text" },
    config = function()
      vim.g.bullets_enabled_file_types = { "markdown", "text" }
      vim.g.bullets_enable_in_empty_buffers = 0
      vim.g.bullets_checkbox_markers = " x!"
    end,
  },
}
