# LSP plugins
# Core plugins {{{
[[plugins]] # nvim-lspconfig
repo = 'github.com/neovim/nvim-lspconfig'
lua_source = '''
--[[$BASE_DIR/lua/user/lsp/init.lua]]
require("user.lsp")
'''
depends = ['ddc.vim', 'nvim-navic']
on_ft = [
  'awk',
  'bash',
  'css',
  'html',
  'javascript',
  'json',
  'json5',
  'jsonc',
  'kotlin',
  'lua',
  'make',
  'markdown',
  'nix',
  'php',
  'python',
  'query',
  'sh',
  'sql',
  'terraform',
  'toml',
  'typescript',
  'typescriptreact',
  'zsh',
]
# }}}

# Support plugins {{{
[[plugins]] # denops-popup-preview.vim
repo = 'github.com/matsui54/denops-popup-preview.vim'
on_source = 'ddc.vim'
lua_source = '''
vim.fn['popup_preview#enable']()
'''

[[plugins]] # denops-signature_help
repo = 'github.com/matsui54/denops-signature_help'
on_event = 'LspAttach'
lua_source = '''
vim.fn['signature_help#enable']()
'''

[[plugins]] # fidget.nvim
repo = 'github.com/j-hui/fidget.nvim'
on_lua = 'fidget'
on_event = ['LspAttach', 'BufRead']
on_cmd = 'Fidget'
hooks_file = '$HOOKS_DIR/fidget.lua'

[[plugins]]
repo = 'github.com/creativenull/efmls-configs-nvim'
on_source = 'nvim-lspconfig'

[[plugins]]
repo = 'github.com/SmiteshP/nvim-navic'
hooks_file = "$HOOKS_DIR/navic.lua"

[[plugins]]
repo = 'github.com/kosayoda/nvim-lightbulb'
hooks_file = '$HOOKS_DIR/lightbulb.lua'
on_source = ['nvim-lspconfig']

[[plugins]]
repo = 'github.com/stevearc/aerial.nvim'
on_source = ['nvim-lspconfig']
on_cmd = [
  'AerialToggle',
  'AerialOpen',
  'AerialOpenAll',
  'AerialClose',
  'AerialCloseAll',
  'AerialNext',
  'AerialPrev',
  'AerialGo',
  'AerialInfo',
  'AerialNavToggle',
  'AerialNavOpen',
  'AerialNavClose',
]
hooks_file = '$HOOKS_DIR/aerial.lua'
# }}}