summaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
authorBen Paxton <ben.paxton@headforwards.com>2018-03-20 14:19:48 +0000
committerBen Paxton <ben.paxton@headforwards.com>2018-03-20 14:19:48 +0000
commit6452c5e2f0aded3044a4263189f5b46c37409981 (patch)
tree31363ece819ed2530900cc5466253eb1660ed6d9 /autoload
parent0cb3e3655419e80226e3738f94d514836a382b87 (diff)
downloadale-6452c5e2f0aded3044a4263189f5b46c37409981.zip
Use govet handler for gosimple, gotype, staticcheck
Diffstat (limited to 'autoload')
-rw-r--r--autoload/ale/handlers/go.vim25
1 files changed, 25 insertions, 0 deletions
diff --git a/autoload/ale/handlers/go.vim b/autoload/ale/handlers/go.vim
new file mode 100644
index 00000000..224df664
--- /dev/null
+++ b/autoload/ale/handlers/go.vim
@@ -0,0 +1,25 @@
+" Author: neersighted <bjorn@neersighted.com>
+" Description: go vet for Go files
+"
+" Author: John Eikenberry <jae@zhar.net>
+" Description: updated to work with go1.10
+"
+" Author: Ben Paxton <ben@gn32.uk>
+" Description: moved to generic Golang file from govet
+
+function! ale#handlers#go#Handler(buffer, lines) abort
+ let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):?(\d+)?:? ?(.+)$'
+ let l:output = []
+ let l:dir = expand('#' . a:buffer . ':p:h')
+
+ for l:match in ale#util#GetMatches(a:lines, l:pattern)
+ call add(l:output, {
+ \ 'filename': ale#path#GetAbsPath(l:dir, l:match[1]),
+ \ 'lnum': l:match[2] + 0,
+ \ 'col': l:match[3] + 0,
+ \ 'text': l:match[4],
+ \ 'type': 'E',
+ \})
+ endfor
+ return l:output
+endfunction