Commit b76ddefe authored by Josh Hoak's avatar Josh Hoak Committed by David Symonds

misc/vim: Adding flag-guarding for Vim commands

Default behavior is the same as before, but now a user may selectively disable some commands.

Also: deleted the mappings for import.vim.

Tested: by trying the commands for fmt, import and godoc in succession to make sure they still work. Also, ran test.sh in ftplugin/go.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/10124043
parent e59a09fb
...@@ -12,11 +12,25 @@ ...@@ -12,11 +12,25 @@
" It tries to preserve cursor position and avoids " It tries to preserve cursor position and avoids
" replacing the buffer with stderr output. " replacing the buffer with stderr output.
" "
" Options:
"
" g:go_fmt_commands [default=1]
"
" Flag to indicate whether to enable the commands listed above.
"
if exists("b:did_ftplugin_go_fmt") if exists("b:did_ftplugin_go_fmt")
finish finish
endif endif
command! -buffer Fmt call s:GoFormat()
if !exists("g:go_fmt_commands")
let g:go_fmt_commands = 1
endif
if g:go_fmt_commands
command! -buffer Fmt call s:GoFormat()
endif
function! s:GoFormat() function! s:GoFormat()
let view = winsaveview() let view = winsaveview()
......
...@@ -24,23 +24,40 @@ ...@@ -24,23 +24,40 @@
" imported, an error will be displayed and the buffer will be " imported, an error will be displayed and the buffer will be
" untouched. " untouched.
" "
" In addition to these commands, there are also two shortcuts mapped: " If you would like to add shortcuts, you can do so by doing the following:
" "
" \f - Runs :Import fmt " Import fmt
" \F - Runs :Drop fmt " au Filetype go nnoremap <buffer> <LocalLeader>f :Import fmt<CR>
" "
" The backslash is the default maplocalleader, so it is possible that " Drop fmt
" au Filetype go nnoremap <buffer> <LocalLeader>F :Drop fmt<CR>
"
" Import the word under your cursor
" au Filetype go nnoremap <buffer> <LocalLeader>k
" \ :exe 'Import ' . expand('<cword>')<CR>
"
" The backslash '\' is the default maplocalleader, so it is possible that
" your vim is set to use a different character (:help maplocalleader). " your vim is set to use a different character (:help maplocalleader).
" "
" Options:
"
" g:go_import_commands [default=1]
"
" Flag to indicate whether to enable the commands listed above.
"
if exists("b:did_ftplugin_go_import") if exists("b:did_ftplugin_go_import")
finish finish
endif endif
command! -buffer -nargs=? -complete=customlist,go#complete#Package Drop call s:SwitchImport(0, '', <f-args>) if !exists("g:go_import_commands")
command! -buffer -nargs=1 -complete=customlist,go#complete#Package Import call s:SwitchImport(1, '', <f-args>) let g:go_import_commands = 1
command! -buffer -nargs=* -complete=customlist,go#complete#Package ImportAs call s:SwitchImport(1, <f-args>) endif
map <buffer> <LocalLeader>f :Import fmt<CR>
map <buffer> <LocalLeader>F :Drop fmt<CR> if g:go_import_commands
command! -buffer -nargs=? -complete=customlist,go#complete#Package Drop call s:SwitchImport(0, '', <f-args>)
command! -buffer -nargs=1 -complete=customlist,go#complete#Package Import call s:SwitchImport(1, '', <f-args>)
command! -buffer -nargs=* -complete=customlist,go#complete#Package ImportAs call s:SwitchImport(1, <f-args>)
endif
function! s:SwitchImport(enabled, localname, path) function! s:SwitchImport(enabled, localname, path)
let view = winsaveview() let view = winsaveview()
......
...@@ -3,6 +3,20 @@ ...@@ -3,6 +3,20 @@
" license that can be found in the LICENSE file. " license that can be found in the LICENSE file.
" "
" godoc.vim: Vim command to see godoc. " godoc.vim: Vim command to see godoc.
"
"
" Commands:
"
" :Godoc
"
" Open the relevant Godoc for either the word[s] passed to the command or
" the, by default, the word under the cursor.
"
" Options:
"
" g:go_godoc_commands [default=1]
"
" Flag to indicate whether to enable the commands listed above.
if exists("g:loaded_godoc") if exists("g:loaded_godoc")
finish finish
...@@ -12,6 +26,16 @@ let g:loaded_godoc = 1 ...@@ -12,6 +26,16 @@ let g:loaded_godoc = 1
let s:buf_nr = -1 let s:buf_nr = -1
let s:last_word = '' let s:last_word = ''
if !exists('g:go_godoc_commands')
let g:go_godoc_commands = 1
endif
if g:go_godoc_commands
command! -nargs=* -range -complete=customlist,go#complete#Package Godoc :call s:Godoc(<q-args>)
endif
nnoremap <silent> <Plug>(godoc-keyword) :<C-u>call <SID>Godoc('')<CR>
function! s:GodocView() function! s:GodocView()
if !bufexists(s:buf_nr) if !bufexists(s:buf_nr)
leftabove new leftabove new
...@@ -92,7 +116,4 @@ function! s:Godoc(...) ...@@ -92,7 +116,4 @@ function! s:Godoc(...)
endif endif
endfunction endfunction
command! -nargs=* -range -complete=customlist,go#complete#Package Godoc :call s:Godoc(<q-args>)
nnoremap <silent> <Plug>(godoc-keyword) :<C-u>call <SID>Godoc('')<CR>
" vim:ts=4:sw=4:et " vim:ts=4:sw=4:et
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment