[[plugins]]
repo = 'hrsh7th/nvim-pasta'
lazy = true
on_lua = 'pasta'
lua_add = '''
vim.keymap.set({ "n", "x" }, "p", function() require("pasta.mappings").p() end)
vim.keymap.set({ "n", "x" }, "P", function() require("pasta.mappings").P() end)
'''
lua_source = '''
require("pasta").setup {
  converters = {
    require("pasta.converters").indentation,
  },
  paste_mode = true,
  next_key = vim.api.nvim_replace_termcodes("<C-p>", true, true, true),
  prev_key = vim.api.nvim_replace_termcodes("<C-n>", true, true, true),
}
require("pasta").setup.filetype({ "markdown", "python", "yaml" }, {
  converters = {},
})
'''

[[plugins]]
repo = 'ii14/emmylua-nvim'

[[plugins]]
repo = 'kevinhwang91/nvim-hlslens'
lazy = true
on_lua = 'hlslens'
on_event = 'CmdlineEnter'
hook_add = '''
autocmd vimrc User SearchxEnter,SearchxInputChanged,VimrcSearchPost lua require("hlslens").start()
autocmd vimrc User SearchxCancel lua require("hlslens").stop()
'''
lua_source = '''
require("hlslens").setup {}
'''

[[plugins]]
repo = 'nvim-lua/plenary.nvim'
lazy = true
on_lua = 'plenary'

[[plugins]]
repo = 'nvim-treesitter/nvim-treesitter'
lazy = true
on_event = ['BufRead']
hook_post_update = 'TSUpdate'
lua_source = '''
require("nvim-treesitter.configs").setup {
  ensure_installed = {
    "bash",
    "go",
    "html",
    "lua",
    "markdown",
    "markdown_inline",
    "python",
    "query",
    "rust",
    "toml",
    "typescript",
    "vim",
  },
  highlight = {
    enable = true,
    disable = { "bash", "vimdoc" },
    additionnal_vim_regex_highlighting = false,
  },
  playground = {
    enable = true,
    keybindings = {
      update = "<C-r>",
    },
  },
  query_linter = {
    enable = true,
  },
}
'''

[[plugins]]
repo = 'nvim-treesitter/playground'
lazy = true
on_source = ['nvim-treesitter']
[plugins.ftplugin]
tsplayground = '''
nnoremap <buffer> q <C-w>q
'''

[[plugins]]
repo = 'nvim-zh/colorful-winsep.nvim'
lazy = true
on_event = 'WinNew'
lua_source = '''
require("colorful-winsep").setup {
  highlight = {
    -- NvimSeparator
    link = "Identifier",
    default = true,
  },
  interval = 30,
  no_exec_files = { "ddu-ff", "ddu-ff-filter" },
  symbols = { "─", "│", "┌", "┐", "└", "┘" },
  create_event = function()
    if vim.fn.winnr "$" == 3 then
      require("colorful-winsep").NvimSeparatorDel()
    end
  end,
}
'''

[[plugins]]
repo = 'rcarriga/nvim-notify'
lazy = true
on_lua = ['notify']
lua_add = '''
vim.notify = function(...) require "notify" (...) end
'''
lua_source = '''
require("notify").setup {
  stages = "slide",
  background_color = "NormalFloat",
  minimum_width = 30,
  icons = {
    ERROR = "✗",
    WARN = "‼",
    INFO = "i",
    DEBUG = "D",
    TRACE = "T",
  },
}
'''