return {
  'todo-comments.nvim',
  event = { 'BufReadPost', 'BufWritePost', 'BufNewFile' },
  cmd = { 'TodoTrouble', 'TodoTelescope' },
  keys = {
    {
      '<LEADER>st',
      function()
        require('todo-comments.fzf').todo()
      end,
      desc = 'todo search',
    },
    {
      '<LEADER>sT',
      function()
        require('todo-comments.fzf').todo({
          keywords = { 'TODO', 'FIX', 'FIXME' },
        })
      end,
      desc = 'todo/fix/fixme search',
    },
    { '<LEADER>xt', '<CMD>Trouble todo toggle<CR>', desc = 'todo' },
    {
      '<LEADER>xT',
      '<CMD>Trouble todo toggle filter = {tag = {TODO,FIX,FIXME}}<CR>',
      desc = 'todo/fix/fixme',
    },
    {
      ']t',
      function()
        require('todo-comments').jump_prev()
      end,
      desc = 'previous todo',
    },
    {
      ']t',
      function()
        require('todo-comments').jump_next()
      end,
      desc = 'next todo',
    },
  },
  before = function()
    require('lz.n').trigger_load({ 'trouble.nvim', 'fzf-lua' })
  end,
  after = function()
    require('todo-comments').setup({})
  end,
}