|
@@ -18,4 +18,67 @@ call plug#begin('~/.config/nvim/autoload/plugged')
|
|
|
Plug 'joshdick/onedark.vim'
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
call plug#end()
|
|
|
+
|
|
|
+" Automatically install missing plugins on startup
|
|
|
+autocmd VimEnter *
|
|
|
+ \ if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
|
|
|
+ \| PlugInstall --sync | q
|
|
|
+ \| endif
|
|
|
+
|
|
|
+" Press gx to open the GitHub URL for a plugin or a commit with the default browser.
|
|
|
+function! s:plug_gx()
|
|
|
+ let line = getline('.')
|
|
|
+ let sha = matchstr(line, '^ \X*\zs\x\{7,9}\ze ')
|
|
|
+ let name = empty(sha) ? matchstr(line, '^[-x+] \zs[^:]\+\ze:')
|
|
|
+ \ : getline(search('^- .*:$', 'bn'))[2:-2]
|
|
|
+ let uri = get(get(g:plugs, name, {}), 'uri', '')
|
|
|
+ if uri !~ 'github.com'
|
|
|
+ return
|
|
|
+ endif
|
|
|
+ let repo = matchstr(uri, '[^:/]*/'.name)
|
|
|
+ let url = empty(sha) ? 'https://github.com/'.repo
|
|
|
+ \ : printf('https://github.com/%s/commit/%s', repo, sha)
|
|
|
+ call netrw#BrowseX(url, 0)
|
|
|
+endfunction
|
|
|
+
|
|
|
+augroup PlugGx
|
|
|
+ autocmd!
|
|
|
+ autocmd FileType vim-plug nnoremap <buffer> <silent> gx :call <sid>plug_gx()<cr>
|
|
|
+augroup END
|