[[plugins]] repo = 'Shougo/denite.nvim' on_event = 'CmdlineEnter' hook_source = ''' source ~/dotfiles/nvim/plugins/denite.rc.vim ''' [[plugins]] repo = 'thinca/vim-quickrun' on_cmd = 'QuickRun' hook_add = ''' nnoremap d QuickRun ''' hook_source = ''' source ~/dotfiles/nvim/plugins/quickrun.rc.vim ''' [[plugins]] repo = 'vim-jp/vital.vim' on_cmd = 'Vitalize' [[plugins]] repo = 'itchyny/calendar.vim' on_cmd = 'Calendar' hook_source = ''' if filereadable(expand('~/.cache/calendar.vim/credentials.vim', ':h:p')) let g:calendar_google_calendar = 1 let g:calendar_google_task = 1 source ~/.cache/calendar.vim/credentials.vim endif ''' [plugins.ftplugin] calendar = ''' nnoremap gT nnoremap gt ''' [[plugins]] repo = 'Shougo/defx.nvim' depends = ['defx-icons'] hook_source = ''' source ~/dotfiles/nvim/plugins/defx.rc.vim ''' hook_add = ''' nnoremap Defx -buffer-name=`'defx' . t:defx_index` nnoremap w Defx -buffer-name=`'defx' . t:defx_index` ~/work nnoremap p Defx -buffer-name=`'defx' . t:defx_index` ~/.cache/dein/repos/github.com ''' [[plugins]] repo = 'kristijanhusak/defx-icons' hook_add = ''' let g:defx_icons_column_length = 2 ''' [[plugins]] repo = 'Shougo/deol.nvim' hook_add = ''' tnoremap Deol -no-auto-cd -toggle nnoremap 'Deol -no-auto-cd -toggle -winwidth=' . &columns/2 . ' ' . \ ((winnr('$') == 1 && bufname()=='') ? '' : '-split=vertical') nnoremap j Deol -no-auto-cd -toggle -split=h ''' [[plugins]] repo = 'rhysd/clever-f.vim' on_map = {nxo = ''} hook_add = ''' let g:clever_f_not_overwrites_standard_mappings = 1 let g:clever_f_mark_direct = 1 let g:clever_f_smart_case = 1 let g:clever_f_use_migemo = 1 nmap f (clever-f-f) xmap f (clever-f-f) omap f (clever-f-f) nmap F (clever-f-F) xmap F (clever-f-F) omap F (clever-f-F) nmap t (clever-f-t) xmap t (clever-f-t) omap t (clever-f-t) nmap T (clever-f-T) xmap T (clever-f-T) omap T (clever-f-T) ''' [[plugins]] repo = 'tyru/open-browser.vim' on_map = '(openbrowser' on_cmd = 'OpenBrowserSearch' hook_add = ''' nmap gx (openbrowser-smart-search) vmap gx (openbrowser-smart-search) ''' hook_source = ''' for cmd in ['wsl-open', 'xdg-open', 'exo-open'] if executable(cmd) let g:openbrowser_browser_commands = [ \ {'name': cmd, \ "args": ["{browser}", "{uri}"]}, \] endif endfor ''' [[plugins]] repo = 'previm/previm' on_cmd = 'PrevimOpen' hook_source = ''' let g:previm_show_header=0 if vimrc#is_wsl() let g:previm_open_cmd='wsl-open' endif ''' depends = 'open-browser.vim' [[plugins]] repo = 'tani/glance-vim' on_cmd = 'Glance' hook_add = ''' let g:glance#server_open = v:false let g:glance#markdown_plugins = ['https://esm.sh/markdown-it-mathjax3?bundle'] ''' [[plugins]] repo = 'tyru/caw.vim' on_map = {nx = ''} if = '!has("nvim")' hook_add = ''' nmap gc (caw:prefix) xmap gc (caw:prefix) nmap gcc (caw:hatpos:toggle) xmap gcc (caw:hatpos:toggle) ''' [[plugins]] repo = 'lambdalisue/gina.vim' on_source = 'denite.nvim' hook_add = ''' nnoremap gnl Gina log nnoremap gnw Gina browse nnoremap gn :Gina ''' hook_source = ''' call gina#custom#mapping#nmap( \ '/.*', '', \ 'gT' \) call gina#custom#mapping#nmap( \ '/.*', '', \ 'gt' \) call gina#custom#mapping#nmap( \ 'status', 'gc', \ ':Gina commit', \ {'noremap': 1, 'silent': 1}, \) call gina#custom#mapping#nmap( \ 'status', 'gp', \ ':Gina push', \ {'noremap': 1}, \) call gina#custom#mapping#nmap( \ 'branch', 'o', \ ':call gina#action#call(''new'')', \ {'noremap': 1, 'silent': 1}, \) call gina#custom#mapping#nmap( \ 'branch', 'dd', \ ':call gina#action#call(''delete'')', \ {'noremap': 1, 'silent': 1}, \) ''' [[plugins]] repo = 'lambdalisue/gin.vim' on_event = 'CmdlineEnter' hook_add = ''' nnoremap gs GinStatus nnoremap gnb GinBranch -a nnoremap gnl GinLog --graph \ --pretty=format:%Cred%h%Creset\ -%C(yellow)%d%Creset\ %s\ %Cgreen(%ai)\ %C(bold\ blue)<%an>%Creset \ ''' [plugins.ftplugin] gin-status = ''' nnoremap gc Gin commit nnoremap gp :Gin push ''' gin-branch = ''' nmap o (gin-action-new) nmap dd (gin-action-delete) ''' gitcommit = ''' setlocal spell ''' [[plugins]] repo = 'nvim-treesitter/nvim-treesitter' if = 'has("nvim")' on_event = 'BufRead' lua_source = ''' require'nvim-treesitter.configs'.setup { highlight = { enable = true, disable = {'latex', 'help'}, }, refactor = { highlight_defintions = { enable = true }, smart_rename = { enable = true, smart_rename = 'grr' }, navigation = { enable = true, goto_definition = 'gnd', list_definitions = 'gnD' } }, ignore_install = { "phpdoc", "help" }, ensure_installed = 'all' } ''' [[plugins]] repo = 'nvim-treesitter/playground' on_source = 'nvim-treesitter' [[plugins]] repo = 'neovim/nvim-lspconfig' if = 'has("nvim")' on_event = 'BufRead' lua_source = ''' require('lsp_rc') ''' [[plugins]] repo = "jose-elias-alvarez/null-ls.nvim" on_source = 'nvim-lspconfig' depends = ['plenary.nvim'] lua_source = ''' local null_ls = require("null-ls") vim.diagnostic.config({ virtual_text = false, severity_sort = true, }) null_ls.setup({ sources = { null_ls.builtins.formatting.black, null_ls.builtins.formatting.deno_fmt.with({ filetypes = { "markdown" }, -- only runs `deno fmt` for markdown }), }, }) ''' hook_add = ''' nnoremap \f lua vim.lsp.buf.format({ async = true }) nnoremap gm lua vim.diagnostic.open_float() ''' [[plugins]] repo = "liuchengxu/vista.vim" on_source = 'nvim-lspconfig' [[plugins]] repo = 'williamboman/mason-lspconfig.nvim' on_source = 'nvim-lspconfig' lua_source = ''' require("mason-lspconfig").setup({ ensure_installed = { "rust_analyzer", "lua_ls", "texlab", "vimls", "pyright", "bashls" }, }) ''' [[plugins]] repo = 'nvim-lua/popup.nvim' [[plugins]] repo = 'nvim-lua/plenary.nvim' [[plugins]] repo = 'nvim-telescope/telescope.nvim' on_cmd = 'Telescope' if = 'has("nvim")' depends = ['popup.nvim', 'plenary.nvim'] [[plugins]] repo = 'lambdalisue/suda.vim' on_cmd = ['SudaRead', 'SudaWrite'] on_event = 'BufRead' [[plugins]] repo = 'matsui54/denite-nvim-lsp' if = 'has("nvim")' on_source = 'denite.nvim' [[plugins]] repo = 'machakann/vim-swap' on_map = '(swap-' hook_add = ''' let g:swap_no_default_key_mappings = 1 nmap gs (swap-interactive) xmap gs (swap-interactive) nmap g< (swap-prev) nmap g> (swap-next) ''' [[plugins]] repo = 'editorconfig/editorconfig-vim' on_cmd = 'EditorConfigEnable' [[plugins]] repo = 'gamoutatsumi/dps-ghosttext.vim' depends = 'denops.vim' on_cmd = 'GhostStart' hook_add = ''' let g:dps_ghosttext#ftmap = {"github.com": "markdown", "zenn.dev": "markdown"} ''' [[plugins]] repo = 'rhysd/git-messenger.vim' on_cmd = 'GitMessenger' on_map = '(git-messenger)' hook_add = ''' let g:git_messenger_no_default_mappings = v:true let g:git_messenger_always_into_popup=v:true nmap gm (git-messenger) ''' [[plugins]] repo = 'lukas-reineke/indent-blankline.nvim' on_event = 'BufRead' hook_add = ''' let g:indentLine_fileTypeExclude = ['help', 'calendar'] ''' [[plugins]] repo = 'thinca/vim-qfreplace' on_cmd = 'Qfreplace' [[plugins]] repo = 'tyru/capture.vim' on_cmd = 'Capture' [[plugins]] repo = 'thinca/vim-prettyprint' on_cmd = ['PrettyPrint', 'PP'] [[plugins]] repo = "mbbill/undotree" on_cmd = 'UndotreeToggle' [[plugins]] repo = 'yuki-yano/fuzzy-motion.vim' depends = 'denops.vim' hook_add = ''' nnoremap / FuzzyMotion ''' on_cmd = 'FuzzyMotion' [[plugins]] repo = "lewis6991/gitsigns.nvim" lua_source = ''' require('gitsigns').setup { signs = { change = { hl = 'GitSignsChange', text = '!', numhl = 'GitSignsChangeNr', linehl = 'GitSignsChangeLn' }, }, on_attach = function(bufnr) local gs = package.loaded.gitsigns local function map(mode, l, r, opts) opts = opts or {} opts.buffer = bufnr vim.keymap.set(mode, l, r, opts) end -- Navigation map('n', ']c', function() if vim.wo.diff then return ']c' end vim.schedule(function() gs.next_hunk() end) return '' end, { expr = true }) map('n', '[c', function() if vim.wo.diff then return '[c' end vim.schedule(function() gs.prev_hunk() end) return '' end, { expr = true }) -- Actions map({ 'n', 'v' }, 'hs', ':Gitsigns stage_hunk') map({ 'n', 'v' }, 'hr', ':Gitsigns reset_hunk') map('n', 'hS', gs.stage_buffer) map('n', 'hu', gs.undo_stage_hunk) map('n', 'hR', gs.reset_buffer) map('n', 'hp', gs.preview_hunk) map('n', 'hb', function() gs.blame_line { full = true } end) map('n', 'tb', gs.toggle_current_line_blame) map('n', 'hd', gs.diffthis) map('n', 'hD', function() gs.diffthis('~') end) map('n', 'td', gs.toggle_deleted) -- Text object map({ 'o', 'x' }, 'ih', ':Gitsigns select_hunk') end } ''' on_event = 'BufRead' [[plugins]] repo = 'tweekmonster/helpful.vim' on_cmd = ['HelpfulVersion'] [[plugins]] repo = "j-hui/fidget.nvim" on_source = 'nvim-lspconfig' lua_source = ''' require"fidget".setup{} ''' [[plugins]] repo = 'cohama/lexima.vim' hook_add = ''' let g:lexima_ctrlh_as_backspace = 1 ''' on_event = 'InsertEnter' [[plugins]] repo = 'mattn/emmet-vim' on_ft = ['html', 'css'] [[plugins]] repo = 'mattn/vim-sonictemplate' on_cmd = 'Template' hook_add = ''' let g:sonictemplate_vim_template_dir = '$HOME/dotfiles/nvim/template/' ''' [[plugins]] repo = "mfussenegger/nvim-dap" on_event = 'BufRead' lua_source = ''' require('dap_rc') ''' [[plugins]] repo = "rcarriga/nvim-dap-ui" on_source = 'nvim-dap' lua_source = ''' require("dapui").setup() ''' [[plugins]] repo = "theHamsta/nvim-dap-virtual-text" on_source = 'nvim-dap' lua_source = ''' require("nvim-dap-virtual-text").setup() ''' [[plugins]] repo = "lambdalisue/fern.vim" on_cmd = 'Fern' depends = ['nerdfont.vim', 'fern-renderer-nerdfont.vim', 'glyph-palette.vim'] hook_add = """ " let g:fern#disable_default_mappings = 1 " nnoremap Fern . """ [plugins.ftplugin] fern = ''' nmap p (fern-action-preview:toggle) nmap (fern-action-preview:auto:toggle) nmap (fern-action-preview:scroll:down:half) nmap (fern-action-preview:scroll:up:half) nmap (fern-action-open-or-enter) " nmap + (fern-action-add_session) nmap c (fern-action-clipboard-copy) nmap m (fern-action-clipboard-move) nmap P (fern-action-clipboard-paste) nmap l (fern-action-open-or-enter) nmap E (fern-action-open:side) nmap t (fern-action-open:tabedit) nmap o (fern-action-open-or-expand) " nmap O defx#async_action('open_tree', 'recursive') nmap K (fern-action-new-dir) nmap N (fern-action-new-file) " nmap S defx#do_action('multi', [['toggle_sort', 'time'], 'redraw']) nmap d (fern-action-trash) nmap D (fern-action-remove) nmap r (fern-action-rename) nmap ! (fern-action-ex) nmap x (fern-action-open:system) nmap yy (fern-action-yank) nmap . (fern-action-hidden) nmap h (fern-action-leave) " nmap ~ (fern-action-cd) " nmap q ((&filetype =~# 'defx') && (bufname() =~# 'temp')) ? " \ (fern-action-quit) : \ ':call quit_all_defx()' " nmap \ (fern-action-quit) " nmap , \ (fern-action-toggle_select) . 'j' " nmap * \ (fern-action-toggle_select_all) nmap j line('.') == line('$') ? 'gg' : 'j' nmap k line('.') == 1 ? 'G' : 'k' nmap (fern-action-reload):nohlsearch " nmap \ (fern-action-print) " nmap cd \ (fern-action-change_vim_cwd) " nmap ' \ defx#do_action('cd', [getcwd()]) " nmap call switch_defx_buf() " nmap L " \ (fern-action-link) " nmap s \ ":Denite directory_rec:" . get_defx_cwd() . " -default-action=jump_defx" " nmap a \ ":Denite file/rec:" . get_defx_cwd() . "" " nmap g \ ":Denite grep:" . get_defx_cwd() . "" ''' [[plugins]] repo = "yuki-yano/fern-preview.vim" on_source = 'fern.vim' [[plugins]] repo = "lambdalisue/nerdfont.vim" hook_add = """ let g:fern#renderer = "nerdfont" let g:fern#renderer#nerdfont#padding = " " let g:fern#renderer#nerdfont#indent_markers=1 """ [[plugins]] repo = "lambdalisue/fern-renderer-nerdfont.vim" [[plugins]] repo = "lambdalisue/glyph-palette.vim" [plugins.ftplugin] fern = ''' call glyph_palette#apply() ''' [[plugins]] repo = "thinca/vim-partedit" on_cmd = 'Partedit' on_func = 'partedit#start' hook_add = ''' command! DeinPartedit call operator_partedit() function! s:operator_partedit() abort let context = context_filetype#get() if context.range == [[0, 0], [0, 0]] echohl WarningMsg echomsg 'Context is not found' echohl NONE return endif call partedit#start(context.range[0][0], context.range[1][0], \ {'filetype': context.filetype}) nnoremap wParteditEnd endfunction ''' [[plugins]] repo = "folke/neodev.nvim" on_source = 'nvim-lspconfig' [[plugins]] repo = "uga-rosa/ccc.nvim" on_cmd = "CccHighlighterToggle" [[plugins]] repo = "github/copilot.vim" on_cmd = 'Copilot' hook_add = ''' let g:copilot_no_tab_map = v:true imap