30 lines
815 B
VimL
30 lines
815 B
VimL
" Copyright 2011 The Go Authors. All rights reserved.
|
|
" Use of this source code is governed by a BSD-style
|
|
" license that can be found in the LICENSE file.
|
|
"
|
|
" fmt.vim: Vim command to format Go files with gofmt.
|
|
"
|
|
" This filetype plugin add a new commands for go buffers:
|
|
"
|
|
" :Fmt
|
|
"
|
|
" Filter the current Go buffer through gofmt.
|
|
" It tries to preserve cursor position and avoids
|
|
" replacing the buffer with stderr output.
|
|
"
|
|
|
|
command! Fmt call s:GoFormat()
|
|
|
|
function! s:GoFormat()
|
|
let view = winsaveview()
|
|
%!gofmt
|
|
if v:shell_error
|
|
%| " output errors returned by gofmt
|
|
" TODO(dchest): perhaps, errors should go to quickfix
|
|
undo
|
|
echohl Error | echomsg "Gofmt returned error" | echohl None
|
|
endif
|
|
call winrestview(view)
|
|
endfunction
|
|
|
|
" vim:ts=4:sw=4:et
|