################################################################################
# UI
################################################################################
[[plugins]]
repo = 'nvim-tree/nvim-tree.lua'
depends = ['nvim-web-devicons']
on_cmd = [
  'NvimTreeOpen',
  'NvimTreeClose',
  'NvimTreeToggle',
  'NvimTreeFocus',
  'NvimTreeRefresh',
  'NvimTreeFindFile',
  'NvimTreeFindFileToggle',
  'NvimTreeClipboard',
  'NvimTreeResize',
  'NvimTreeCollapse',
  'NvimTreeCollapseKeepBuffers',
  'NvimTreeGenerateOnAttach'
]
lua_add = '''
require("plugins.ui.nvim-tree").lua_add()
'''
lua_source = '''
require("plugins.ui.nvim-tree").lua_source()
'''

[[plugins]] # nvim-treeのアイコン
repo = 'nvim-tree/nvim-web-devicons'
on_source = ['diffview', 'nvim-tree.lua']

[[plugins]] # カーソル位置の階層を表示するやつ
# NOTE: Neovim Nightly (>= 0.10.0-dev)
repo = 'Bekaboo/dropbar.nvim'
on_event = ['FileType', 'BufRead']
lua_source = '''
require("plugins.ui.dropbar").lua_source()
'''
################################################################################
# coding
################################################################################
[[plugins]] # matchitをもっと強くしたようなやつ(ハイライトとかもされる)
repo = 'andymass/vim-matchup'
on_event = ['BufRead']
lua_source = '''
require("plugins.coding.matchup").lua_source()
'''

[[plugins]] # 行内ジャンプ用にハイライトしてくれるやつ
repo = 'unblevable/quick-scope'
on_event = ['CursorMoved']

[[plugins]] # コメントアウト
repo = 'tpope/vim-commentary'
on_event = ['CursorMoved']
lua_source = '''
require("plugins.coding.commentary").lua_source()
'''

[[plugins]] # 括弧、クォーテーション、タグを自動で閉じてくれるプラグイン(自作)
repo = 'ukiuki-engineer/vim-autoclose'
rev = 'develop'
on_event = ['InsertEnter']
lua_source = '''
require("plugins.coding.autoclose").lua_source()
'''

[[plugins]] # Markdownでtable作成
repo = 'mattn/vim-maketable'
on_cmd = ['MakeTable', 'UnmakeTable']

[[plugins]] # 補完エンジン
repo = 'hrsh7th/nvim-cmp'
depends = ['cmp-cmdline', 'cmp-buffer', 'cmp-path', 'cmp-skkeleton']
on_event = ['CmdlineEnter', 'InsertEnter']
lua_source = '''
require("plugins.coding.nvim-cmp").lua_source()
'''

[[plugins]] # コマンドライン補完用nvim-cmpのソース
repo = 'hrsh7th/cmp-cmdline'
on_source = 'nvim-cmp'

[[plugins]]
repo = 'hrsh7th/cmp-buffer'
on_source = 'nvim-cmp'

[[plugins]]
repo = 'hrsh7th/cmp-path'
on_source = 'nvim-cmp'

[[plugins]]
repo = 'rinx/cmp-skkeleton'
on_source = 'nvim-cmp'

[[plugins]] # shfmtをvimから実行するやつ
repo = 'z0mbix/vim-shfmt'
on_ft = ['bash', 'sh', 'zsh']
lua_source = '''
require("plugins.coding.shfmt").lua_source()
'''

[[plugins]] # デフォルトより見やすいsyntax highlight
repo = 'nvim-treesitter/nvim-treesitter'
depends = ['nvim-ts-context-commentstring']
on_event = ['FileType']
lua_source = '''
require("plugins.coding.treesitter").lua_source()
'''

[[plugins]]
repo = 'nvim-treesitter/playground'
depends = ['nvim-treesitter']
on_cmd = ['TSPlaygroundToggle']

[[plugins]]
repo = 'JoosepAlviste/nvim-ts-context-commentstring'
on_event = ['FileType']

[[plugins]] # インデント可視化
repo = 'lukas-reineke/indent-blankline.nvim'
on_event = ['CursorMoved']
lua_source = '''
require("plugins.coding.indent_blankline").lua_source()
'''

[[plugins]] # editorconfig
repo = 'editorconfig/editorconfig-vim'
on_event = ['BufRead']

[[plugins]] # カラーコード可視化
repo = 'norcalli/nvim-colorizer.lua'
on_ft = [
  'blade',
  'css',
  'eruby',
  'html',
  'less',
  'lua',
  'sass',
  'scss',
  'stylus',
  'toml',
  'vim',
  'vue'
]
on_cmd = [
  'ColorizerAttachToBuffer',
  'ColorizerDetachFromBuffer',
  'ColorizerReloadAllBuffers'
]
lua_source = '''
require("plugins.coding.colorizer").lua_source()
'''

[[plugins]] # ヤンク範囲をハイライトするやつ
repo = 'machakann/vim-highlightedyank'
on_event = ['BufRead', 'CursorMoved', 'InsertEnter']
lua_source = '''
require("plugins.coding.highlightedyank").lua_source()
'''
################################################################################
# Git
################################################################################
[[plugins]] # 行番号の左に、gitの状態を表示するやつ
repo = 'lewis6991/gitsigns.nvim'
on_event = ['BufRead']
lua_source = '''
require("plugins.git.gitsigns").lua_source()
'''

[[plugins]] # gitの差分をvimdiffで表示したりstageしたりするやつ
# NOTE: master <- 現在のブランチでプルリクを出す時
#   :DiffviewOpen master..HEAD   # masterと、現ブランチの最新のcommitの差分(cocのdiagnosticsが表示されない)
#   :DiffviewOpen master         # masterと、working treeの差分(cocのdiagnosticsが表示されるからこっちの方が良いかも)
repo = 'sindrets/diffview.nvim'
depends = ['plenary.nvim', 'nvim-web-devicons']
on_cmd = [
  'DiffviewClose',
  'DiffviewFileHistory',
  'DiffviewFocusFiles',
  'DiffviewLog',
  'DiffviewOpen',
  'DiffviewRefresh',
  'DiffviewToggleFiles'
]
lua_add = '''
require("plugins.git.diffview").lua_add()
'''
lua_source = '''
require("plugins.git.diffview").lua_source()
'''
################################################################################
# FZF
################################################################################
[[plugins]]
repo = 'nvim-telescope/telescope.nvim'
depends = ['plenary', 'telescope-fzf-native.nvim']
on_cmd = [
  'BufferLines',
  'Buffers',
  'ColorSchemes',
  'CommandHistories',
  'Commands',
  'Commits',
  'Filetypes',
  'FindAllFiles',
  'FindFiles',
  'GitBranches',
  'GitStashList',
  'GitStatus',
  'HelpTags',
  'Highlights',
  'LiveGrep',
  'Marks',
  'OldFiles',
  'Telescope',
]
lua_add = '''
require("plugins.telescope").lua_add()
'''
lua_source = '''
require("plugins.telescope").lua_source()
'''

[[plugins]]
repo = 'nvim-telescope/telescope-fzf-native.nvim'
build = 'make'
on_source = ['telescope.nvim']
################################################################################
# Others
################################################################################
[[plugins]] # 多分nvim用のluaライブラリ的なやつ
repo = 'nvim-lua/plenary.nvim'
on_source = ['diffview', 'telescope.nvim']

[[plugins]] # vimから編集中のファイルを素早く実行するやつ
repo = 'thinca/vim-quickrun'
on_cmd = ['QuickRun']
lua_add = '''
require("plugins.others.quickrun").lua_add()
'''

[[plugins]] # ウィンドウリサイズを楽にするやつ
# NOTE: <C-e>でresizeモードに入る
repo = 'simeji/winresizer'
on_event = ['WinEnter']
hook_source = '''
" ctrl系は小指にダメージがいくので...
let g:winresizer_start_key = '<space>w'
'''

[[plugins]] # ヘルプファイル自動生成
repo = 'LeafCage/vimhelpgenerator'
on_cmd = ['VimHelpGenerator', 'VimHelpGeneratorVirtual']
lua_source = '''
require("plugins.others.vimhelpgenerator").lua_source()
'''

[[plugins]] # vimの起動速度を測定
repo = 'dstein64/vim-startuptime'
on_cmd = ['StartupTime']

[[plugins]] # vim内でMarkdownをプレビューするやつ
# NOTE: [mdrコマンド](https://github.com/MichaelMure/mdr)をインストールする必要あり
repo = 'skanehira/preview-markdown.vim'
on_cmd = ['PreviewMarkdown']

[[plugins]] # ブラウザ上でmarkdownをリアルタイムにプレビューするやつ
# NOTE: pip install docutils
#       rst2html.py --version
repo = 'previm/previm'
on_cmd = ['PrevimOpen']
lua_source = '''
require("plugins.others.previm").lua_source()
'''

[[plugins]] # コマンドの実行結果をバッファに読み込んでくれるやつ
# NOTE: 以下の方法で代用も出来る
# インサートモードに入る → <C-r>=execute("コマンド")<CR>
repo = 'numEricL/vim-redirect'
on_cmd = ['Redirect']

[[plugins]] # blade
repo = 'jwalton512/vim-blade'
on_if = 'expand("%") =~ "blade\.php"'
on_ft = ['blade']

[[plugins]] # applescriptのsyntax highlight
repo = 'vim-scripts/applescript.vim'
on_ft = ['applescript']


[[plugins]] # カラーパレット
repo = 'uga-rosa/ccc.nvim'
on_cmd = [
  'CccPick',
  'CccConvert',
  'CccHighlighterEnable',
  'CccHighlighterDisable',
  'CccHighlighterToggle',
]

[[plugins]]
repo = 'rktjmp/lush.nvim'
on_source = ['pink-panic.nvim']