From 7010459585ad338eedee7e97920a073a9a0d0990 Mon Sep 17 00:00:00 2001 From: Christoph Martin Date: Fri, 26 Oct 2012 11:59:41 +0200 Subject: [PATCH] change gofmt invocation If no syntax errors are found, `gofmt -l % 1>/dev/null` prints the file name to STDOUT, which is redirected to /dev/null. Less to parse for syntastic! If errors are found, they are written to STDERR. This invocation does not alter the source code, which has been indicated in the comments. --- syntax_checkers/go/gofmt.vim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/syntax_checkers/go/gofmt.vim b/syntax_checkers/go/gofmt.vim index 77abe7e8..982beaa9 100644 --- a/syntax_checkers/go/gofmt.vim +++ b/syntax_checkers/go/gofmt.vim @@ -1,6 +1,6 @@ "============================================================================ "File: gofmt.vim -"Description: Check go syntax using gofmt +"Description: Check go syntax using 'gofmt -l' "Maintainer: Brandon Thomson "License: This program is free software. It comes without any warranty, " to the extent permitted by applicable law. You can redistribute @@ -8,9 +8,12 @@ " Want To Public License, Version 2, as published by Sam Hocevar. " See http://sam.zoy.org/wtfpl/COPYING for more details. " +" This syntax checker does not reformat your source code. +" Use a BufWritePre autocommand to that end: +" autocmd FileType go autocmd BufWritePre Fmt "============================================================================ function! SyntaxCheckers_go_GetLocList() - let makeprg = 'gofmt %' + let makeprg = 'gofmt -l % 1>/dev/null' let errorformat = '%f:%l:%c: %m,%-G%.%#' return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat, 'defaults': {'type': 'e'} }) endfunction