vim-config/plugins.toml

653 lines
18 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[[plugins]]
repo = 'purescript-contrib/purescript-vim'
[[plugins]]
repo = 'PProvost/vim-ps1'
[[plugins]]
repo = 'nvim-lua/popup.nvim'
on_if = 'has("nvim")'
[[plugins]]
repo = 'nvim-lua/plenary.nvim'
on_if = 'has("nvim")'
[[plugins]]
repo = 'Twinside/vim-haskellFold'
hook_post_source = '''
call SetHaskellFolding()
'''
on_ft = ['haskell']
[[plugins]]
repo = 'kana/vim-submode'
hook_add = '''
" A message will appear in the message line when you're in a submode
" and stay there until the mode has exited.
let g:submode_always_show_submode = 1
let g:submode_keep_leaving_key = 1
let g:submode_timeout = 0
" We're taking over the default <C-w> setting. Don't worry we'll do
" our best to put back the default functionality.
call submode#enter_with('nav', 'n', '', '<C-ENTER>')
call submode#map('nav', 'n', 's', 'e', ':normal! 6j<cr>')
call submode#map('nav', 'n', 's', 'o', ':normal! 6k<cr>')
call submode#map('nav', 'n', 's', ',', '<Cmd>normal! <C-d><CR>')
call submode#map('nav', 'n', 's', '.', '<Cmd>normal! <C-u><CR>')
call submode#map('nav', 'n', 's', ']', '<Cmd>normal! <C-b><CR>')
call submode#map('nav', 'n', 's', '[', '<Cmd>normal! <C-f><CR>')
call submode#map('nav', 'n', '', 'n', 'B')
call submode#map('nav', 'n', '', 'i', 'W')
call submode#map('nav', 'n', 's', '<ENTER>', ':tabprevious<cr>')
call submode#map('nav', 'n', 's', '=', ':tabnext<cr>')
'''
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'jparise/vim-graphql'
[[plugins]]
repo = 'mileszs/ack.vim'
# [[plugins]]
# repo = 'vim-scripts/cmdalias.vim'
[[plugins]]
repo = 'easymotion/vim-easymotion'
hook_add = '''
'''
[[plugins]]
repo = 'Raimondi/delimitMate'
hook_add = '''
let g:delimitMate_matchpairs = "(:),[:],{:}"
let g:delimitMate_expand_cr = 1
let g:delimitMate_expand_space = 1
let g:delimitMate_autoclose = 1
'''
[[plugins]]
repo = 'vim-scripts/genindent.vim'
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'scrooloose/nerdcommenter'
hook_add = '''
let NERDSpaceDelims=1
let NERDCreateDefaultMappings=0
'''
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'scrooloose/nerdtree'
on_event = 'NERDTreeToggle'
hook_add = '''
let g:NERDTreeMapActivateNode = '<CR>'
let g:NERDTreeMapCustomOpen = ''
let g:NERDTreeMapOpenExpl = 'n'
let g:NERDTreeMapJumpNextSibling = ''
" let g:NERDTreeMapOpenSplit = ''
" use NERDTree instead of netrw
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif
'''
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'Xuyuanp/nerdtree-git-plugin'
on_event = 'NERDTreeToggle'
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'xolox/vim-easytags'
hook_add = '''
let g:easytags_async = 1
'''
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'xolox/vim-misc'
[[plugins]]
repo = 'nathanaelkane/vim-indent-guides'
[[plugins]]
repo = 'Shougo/vimproc.vim'
build = 'make'
[[plugins]]
repo = 'sjbach/lusty'
hook_add = '''
let g:LustyExplorerSuppressRubyWarning = 1
'''
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'nixprime/cpsm'
build = 'sh -c "PY3=ON ./install.sh"'
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'liuchengxu/vista.vim'
hook_add = '''
let g:vista#renderer#enable_icon = 0
let g:vista_ctags_cmd = {
\ 'haskell': 'hasktags -x -o - -c',
\ 'yaml': 'hasktags -x -o - -c',
\ }
'''
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'sbdchd/neoformat'
hook_add = '''
let g:neoformat_enabled_haskell = ['brittany']
let g:neoformat_enabled_typescript = ['prettier']
let g:neoformat_try_node_exe = 1
'''
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'AndrewRadev/bufferize.vim'
[[plugins]]
repo = 'vmchale/dhall-vim'
[[plugins]]
repo = 'Shougo/echodoc.vim'
hook_add = '''
" set cmdheight=2
let g:echodoc#enable_at_startup = 1
let g:echodoc#type = 'signature'
'''
[[plugins]]
repo = 'tpope/vim-scriptease'
on_if = '!has("nvim")'
[[plugins]]
repo = 'Konfekt/FastFold'
hook_add = '''
let g:fastfold_savehook = 1
let g:fastfold_fold_command_suffixes = ['x','X','a','A','o','O','c','C']
let g:fastfold_fold_movement_commands = [']z', '[z', 'zj', 'zk']
let g:markdown_folding = 1
let g:tex_fold_enabled = 1
let g:vimsyn_folding = 'af'
let g:xml_syntax_folding = 1
let g:html_syntax_folding = 1
let g:javaScript_fold = 1
let g:sh_fold_enabled= 7
let g:ruby_fold = 1
let g:perl_fold = 1
let g:perl_fold_blocks = 1
let g:r_syntax_folding = 1
let g:rust_fold = 1
let g:haskell_fold = 1
'''
[[plugins]]
repo = 'editorconfig/editorconfig-vim'
hook_add = '''
" overwrite nonsense from editorconfig
let g:EditorConfig_max_line_indicator = 'none'
" let g:EditorConfig_preserve_formatoptions = 1
'''
[[plugins]]
repo = 'hasufell/ghcup.vim'
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'junegunn/vim-easy-align'
[[plugins]]
repo = 'dominikduda/vim_current_word'
hook_add = '''
let g:vim_current_word#highlight_current_word = 0
hi default link CurrentWordTwins CursorColumn
'''
#[[plugins]]
# repo = 'vim-airline/vim-airline'
#[[plugins]]
# repo = 'vim-airline/vim-airline-themes'
[[plugins]]
repo = 'mkitt/tabline.vim'
[[plugins]]
repo = 'kshenoy/vim-signature'
# finder
[[plugins]]
repo = 'liuchengxu/vim-clap'
build = 'make'
hook_add = '''
autocmd Filetype clap_input inoremap <silent> <buffer> <kPageDown> <C-R>=clap#navigation#scroll('down')<CR>
autocmd Filetype clap_input inoremap <silent> <buffer> <kPageUp> <C-R>=clap#navigation#scroll('up')<CR>
autocmd Filetype clap_input nnoremap <silent> <buffer> <kPageDown> <C-R>=clap#navigation#scroll('down')<CR>
autocmd Filetype clap_input nnoremap <silent> <buffer> <kPageUp> <C-R>=clap#navigation#scroll('up')<CR>
let g:clap_popup_move_manager = {
\ "\<kPageUp>": "\<PageUp>",
\ "\<kPageDown>": "\<PageDown>",
\ }
let g:clap_layout = {'relative': 'editor', 'width': '95%', 'height': '33%', 'row': '33%', 'col': '5%'}
let g:clap_use_pure_python = 1
function! MultiClap(com, ...) abort
let opts = map(copy(a:000), "printf('++query=%s', v:val)")
execute 'Clap ' a:com join(opts, ' ')
endfunction
command! -nargs=* Rag call MultiClap('grep', <f-args>)
command! -nargs=* Dag call MultiClap('dumb_jump', <f-args>)
let g:clap_provider_generated_tags = {
\ 'source': {-> Tags__source()},
\ 'sink': {line -> Tags__sink(line)},
\}
function! Tags__source ()
return flatten(map(tagfiles(), {_, file -> filter(readfile(file), 'stridx(v:val, "!_TAG") != 0')}))
endfunc
function! Tags__sink (line)
" Let vim handle the tag
execute 'tag' split(a:line, '\t')[0]
endfunc
cabbrev C Clap
cabbrev c Clap
cabbrev cp Clap proj_tags
'''
on_if = '!has("nvim") && !exists("g:vscode")'
# scm
[[plugins]]
repo = 'tpope/vim-fugitive'
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'tpope/vim-rhubarb'
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'tommcdo/vim-fubitive'
[[plugins]]
on_if = '!exists("g:vscode")'
repo = 'airblade/vim-gitgutter'
hook_add = '''
" https://github.com/airblade/vim-gitgutter/issues/696
autocmd ColorScheme * highlight! link SignColumn LineNr
'''
on_if = '!exists("g:vscode")'
# local vimrc
[[plugins]]
repo = 'LucHermitte/lh-vim-lib'
[[plugins]]
repo = 'LucHermitte/local_vimrc'
# completion
#[[plugins]]
#repo = 'Valloric/YouCompleteMe'
#build = './install.py --clang-completer --go-completer --rust-completer --system-boost --system-libclang'
#on_ft = ['c', 'go', 'clojure']
#hook_add = '''
# youcompleteme
# let g:ycm_filetype_blacklist = {
# \ 'notes' : 1,
# \ 'markdown' : 1,
# \ 'text' : 1,
# \ 'java' : 1,
# \}
# let g:ycm_confirm_extra_conf = 0
# let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
# let g:ycm_collect_identifiers_from_tags_files = 1
# let g:ycm_seed_identifiers_with_syntax = 0
# " let g:ycm_always_populate_location_list = 1
# let g:ycm_autoclose_preview_window_after_completion = 1
# let g:ycm_key_invoke_completion = '<C-Space>'
# let g:ycm_key_list_select_completion = ['<TAB>']
# let g:ycm_key_list_previous_completion = ['<S-TAB>']
# " nnoremap <F4> :YcmCompleter GoToDefinition<CR>
# let g:ycm_server_log_level = 'error'
# let g:ycm_semantic_triggers = {'haskell' : ['. ', '$ ']}
# let g:ycm_goto_buffer_command = 'horizontal-split'
#'''
[[plugins]]
repo = 'Shougo/deoplete.nvim'
hook_add = '''
let g:deoplete#enable_at_startup = 0
autocmd FileType TelescopePrompt call deoplete#custom#buffer_option('auto_complete', v:false)
'''
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'roxma/nvim-yarp'
on_if = '!has("nvim")'
[[plugins]]
repo = 'roxma/vim-hug-neovim-rpc'
on_if = '!has("nvim")'
# linting/compilation
[[plugins]]
repo = 'dense-analysis/ale'
# build = 'bash -c "cp -R ~/.vim/ale_linters ."'
hook_add = '''
let g:ale_enabled = 1
" let g:ale_haskell_hie_executable = $HOME . '/.ghcup/bin/haskell-language-server-wrapper'
" let g:ale_linters = {'haskell':['hie'], 'c':[]}
let g:ale_linters_explicit = 1
let g:ale_haskell_argon_error_level = 14
let g:ale_haskell_argon_warn_level = 10
let g:ale_haskell_argon_info_level = 6
'''
on_if = 'index(["sh", "vim"], &ft) >= 0 && !exists("g:vscode")'
# LSP
[[plugins]]
repo = 'autozimu/LanguageClient-neovim'
rev = 'dev'
build = 'bash ./install.sh'
hook_add = '''
" Required for operations modifying multiple buffers like rename.
set hidden
let g:LanguageClient_autoStart = 0
let g:LanguageClient_diagnosticsEnable = 1
let g:LanguageClient_diagnosticsList = "Quickfix"
let g:LanguageClient_diagnosticsDisplay = {
\ 1: {
\ "name": "Error",
\ "texthl": "ALEError",
\ "signText": "✖",
\ "signTexthl": "ALEErrorSign",
\ "virtualTexthl": "Error",
\ },
\ 2: {
\ "name": "Warning",
\ "texthl": "ALEWarning",
\ "signText": "⚠",
\ "signTexthl": "ALEWarningSign",
\ "virtualTexthl": "Virtual",
\ },
\ 3: {
\ "name": "Information",
\ "texthl": "ALEInfo",
\ "signText": "",
\ "signTexthl": "ALEInfoSign",
\ "virtualTexthl": "Virtual",
\ },
\ 4: {
\ "name": "Hint",
\ "texthl": "ALEInfo",
\ "signText": "➤",
\ "signTexthl": "ALEInfoSign",
\ "virtualTexthl": "Virtual",
\ },
\ }
" hi link ALEError Error
hi ALEError term=underline cterm=underline ctermfg=Red gui=undercurl guisp=Red
hi link ALEWarning Warning
hi Virtual cterm=italic ctermfg=10 gui=italic guifg=#4b5558
hi link ALEInfo SpellCap
let $LANGUAGECLIENT_DEBUG=1
let g:LanguageClient_loggingLevel='DEBUG'
let g:LanguageClient_virtualTextPrefix = ''
let g:LanguageClient_loggingFile = expand('~/LanguageClient.log')
let g:LanguageClient_serverStderr = expand('~/LanguageServer.log')
let g:LanguageClient_rootMarkers = {
\ 'haskell': ['cabal.project', '*.cabal', 'stack.yaml'],
\ 'elm': ['elm.json']
\ }
let g:LanguageClient_serverCommands = {
\ 'haskell': ['haskell-language-server-wrapper', '--lsp', '--logfile', $HOME.'/hls-server.log'],
\ 'purescript': ['~/.npm-modules/bin/purescript-language-server', '--stdio'],
\ 'elm': ['elm-language-server'],
\ 'typescript': ['typescript-language-server', '--stdio']
\ }
'''
#[[plugins]]
#repo = 'prabirshrestha/vim-lsp'
#hook_add = '''
# function! s:on_lsp_buffer_enabled() abort
# setlocal omnifunc=lsp#complete
# setlocal signcolumn=yes
# if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
# nmap <buffer> gd <plug>(lsp-definition)
# nmap <buffer> gr <plug>(lsp-references)
# " nmap <buffer> gi <plug>(lsp-implementation)
# " nmap <buffer> gt <plug>(lsp-type-definition)
# nmap <buffer> <leader>rn <plug>(lsp-rename)
# nmap <buffer> .g <Plug>(lsp-previous-diagnostic)
# nmap <buffer> ,g <Plug>(lsp-next-diagnostic)
# nmap <buffer> T <plug>(lsp-hover)
# nmap <buffer> <leader>la <plug>(lsp-code-action)
# nmap <buffer> <leader>sd <plug>(lsp-document-diagnostics)
#
# " refer to doc to add more commands
# endfunction
#
# augroup lsp_install
# au!
# " call s:on_lsp_buffer_enabled only for languages that has the server registered.
# autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
# augroup END
#
# let g:lsp_auto_enable = 0
#
# " command -nargs=0 LspStart call lsp#activate()
#'''
# snippets
#[[plugins]]
#repo = 'Shougo/neosnippet.vim'
#[[plugins]]
#repo = 'honza/vim-snippets'
# multi language
[[plugins]]
repo = 'luochen1990/rainbow'
hook_add = '''
let g:rainbow_conf = {
\ 'guifgs': ['#DC322F', 'royalblue3', 'darkorange3', 'seagreen3'],
\ 'ctermfgs': ['lightred', 'lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'],
\}
let g:rainbow_active = 1
'''
on_if = 'index(["clojure", "haskell", "python"], &ft) >= 0 && !exists("g:vscode")'
# haskell
[[plugins]]
repo = 'neovimhaskell/haskell-vim'
hook_add = '''
let g:haskell_classic_highlighting = 1
let g:haskell_indent_disable = 1
" let g:haskell_enable_quantification = 1
" let g:haskell_enable_recursivedo = 1
" let g:haskell_enable_arrowsyntax = 1
" let g:haskell_enable_pattern_synonyms = 1
" let g:haskell_enable_typeroles = 1
let g:haskell_indent_if = 0
let g:haskell_indent_case = 4
let g:haskell_indent_let = 4
let g:haskell_indent_where = 6
let g:haskell_indent_before_where = 2
let g:haskell_indent_after_bare_where = 2
let g:haskell_indent_do = 4
let g:haskell_indent_in = 0
let g:haskell_indent_guard = 4
" let g:haskell_disable_TH = 1
'''
on_if = 'index(["haskell", "cabal"], &ft) >= 0 && !exists("g:vscode")'
[[plugins]]
repo = 'Twinside/vim-hoogle'
hook_source = '''
nnoremap <leader>ho :Hoogle<CR>
nnoremap <leader>hc :HoogleClose<CR>
'''
on_if = 'index(["haskell"], &ft) >= 0 && !exists("g:vscode")'
[[plugins]]
repo = 'alx741/vim-stylishask'
hook_add = '''
let g:stylishask_on_save = 0
'''
on_if = 'index(["haskell"], &ft) >= 0 && !exists("g:vscode")'
[[plugins]]
repo = 'fatih/vim-go'
on_ft = ['go']
hook_post_source = 'GoInstallBinaries'
# rust
[[plugins]]
repo = 'rust-lang/rust.vim'
on_ft = ['rust']
# python
[[plugins]]
repo = 'python-mode/python-mode'
on_ft = ['python']
#[[plugins]]
# repo = 'zchee/deoplete-jedi'
# on_ft = ['python']
#[[plugins]]
# repo = 'davidhalter/jedi-vim'
# on_ft = ['python']
[[plugins]]
repo = 'manicmaniac/coconut.vim'
on_ft = ['python']
[[plugins]]
repo = 'alfredodeza/pytest.vim'
on_if = 'index(["python"], &ft) >= 0 && !exists("g:vscode")'
[[plugins]]
repo = 'idanarye/vim-vebugger'
on_if = 'index(["python"], &ft) >= 0 && !exists("g:vscode")'
# scala
[[plugins]]
repo = 'derekwyatt/vim-scala'
on_if = 'index(["scala"], &ft) >= 0 && !exists("g:vscode")'
# javascript
[[plugins]]
repo = 'pangloss/vim-javascript'
on_ft = ['typescript', 'javascript']
[[plugins]]
repo = 'MaxMEllon/vim-jsx-pretty'
on_ft = ['typescript', 'javascript']
# typescript
[[plugins]]
repo = 'leafgarland/typescript-vim'
on_ft = ['typescript', 'javascript']
#[[plugins]]
#repo = 'Quramy/tsuquyomi'
#on_ft = ['typescript', 'javascript']
[[plugins]]
repo = 'prettier/vim-prettier'
on_ft = ['typescript', 'javascript']
build = 'npm install'
# color and beauty
# [[plugins]]
# repo = 'tomasiser/vim-code-dark'
# [[plugins]]
# repo = 'romainl/Apprentice'
# [[plugins]]
# repo = 'chriskempson/base16-vim'
# [[plugins]]
# repo = 'fneu/breezy'
# [[plugins]]
# repo = 'romainl/Disciple'
# [[plugins]]
# repo = 'wimstefan/Lightning'
# [[plugins]]
# repo = 'NLKNguyen/papercolor-theme'
# [[plugins]]
# repo = 'flazz/vim-colorschemes'
[[plugins]]
repo = 'overcache/NeoSolarized'
hook_add = '''
let g:neosolarized_contrast = 'normal'
let g:neosolarized_visibility = 'normal'
let g:neosolarized_vertSplitBgTrans = 0
let g:neosolarized_bold = 1
let g:neosolarized_underline = 1
let g:neosolarized_italic = 1
set background=dark
colorscheme NeoSolarized
'''
# repo = 'reedes/vim-colors-pencil'
# [[plugins]]
# repo = 'whatyouhide/vim-gotham'
# [[plugins]]
# repo = 'noahfrederick/vim-hemisu'
# [[plugins]]
# repo = 'morhetz/gruvbox'
# toml
[[plugins]]
repo = 'https://github.com/cespare/vim-toml'
# unmanaged
[[plugins]]
name = 'L9'
repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
rtp = 'L9'
[[plugins]]
name = 'ScrollColor'
repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
rtp = 'ScrollColor'
[[plugins]]
name = 'bufonly'
repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
rtp = 'bufonly'
on_if = '!exists("g:vscode")'
[[plugins]]
name = 'colorschemedgrade'
repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
rtp = 'colorschemedegrade'
[[plugins]]
name = 'exheres-syntax'
repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
rtp = 'exheres-syntax-20160115'
[[plugins]]
name = 'fontzoom'
repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
rtp = 'fontzoom'
on_if = '!has("nvim")'
[[plugins]]
name = 'fuzzyfinder'
repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
rtp = 'fuzzyfinder'
on_if = '!exists("g:vscode")'
[[plugins]]
name = 'log'
repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
rtp = 'log'
on_if = '!exists("g:vscode")'
#[[plugins]]
#repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
#rtp = 'paredit'
#[[plugins]]
#repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
#rtp = 'tslime'
[[plugins]]
name = 'txtfmt'
repo = 'https://gogs.hasufell.de/hasufell/vim-unmanaged.git'
rtp = 'txtfmt'
on_if = '!exists("g:vscode")'
[[plugins]]
repo = 'neovim/nvim-lspconfig'
hook_add = '''
lua require('lspconfig').hls.setup{}
'''
on_if = 'has("nvim") && !exists("g:vscode")'
lazy = false
[[plugins]]
repo = 'kyazdani42/nvim-web-devicons'
on_if = 'has("nvim") && !exists("g:vscode")'
lazy = false
[[plugins]]
repo = 'folke/trouble.nvim'
hook_add = '''
lua << EOF
require("trouble").setup {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
action_keys = { -- key mappings for actions in the trouble list
jump_close = {"t"}, -- jump to the diagnostic and close the list
}
}
EOF
'''
lazy = false
on_if = 'has("nvim") && !exists("g:vscode")'
[[plugins]]
repo = 'nvim-telescope/telescope.nvim'
lazy = false
on_if = 'has("nvim") && !exists("g:vscode")'