]>
Commit | Line | Data |
---|---|---|
0d23b6e5 BB |
1 | "============================================================================ |
2 | "File: erlang.vim | |
3 | "Description: Syntax checking plugin for syntastic.vim | |
4 | "Maintainer: Pawel Salata <rockplayer.pl at gmail dot com> | |
5 | "License: This program is free software. It comes without any warranty, | |
6 | " to the extent permitted by applicable law. You can redistribute | |
7 | " it and/or modify it under the terms of the Do What The Fuck You | |
8 | " Want To Public License, Version 2, as published by Sam Hocevar. | |
9 | " See http://sam.zoy.org/wtfpl/COPYING for more details. | |
10 | " | |
11 | "============================================================================ | |
12 | if exists("loaded_erlang_syntax_checker") | |
13 | finish | |
14 | endif | |
15 | let loaded_erlang_syntax_checker = 1 | |
16 | ||
17 | "bail if the user doesnt have escript installed | |
18 | if !executable("escript") | |
19 | finish | |
20 | endif | |
21 | ||
22 | let s:check_file = expand('<sfile>:p:h') . '/erlang_check_file.erl' | |
23 | ||
24 | function! SyntaxCheckers_erlang_GetLocList() | |
25 | let extension = expand('%:e') | |
26 | if match(extension, 'hrl') >= 0 | |
27 | return [] | |
28 | endif | |
29 | let shebang = getbufline(bufnr('%'), 1)[0] | |
30 | if len(shebang) > 0 | |
31 | if match(shebang, 'escript') >= 0 | |
32 | let makeprg = 'escript -s '.shellescape(expand('%:p')) | |
33 | else | |
34 | let makeprg = s:check_file . ' '. shellescape(expand('%:p')) | |
35 | endif | |
36 | else | |
37 | let makeprg = s:check_file . ' ' . shellescape(expand('%:p')) | |
38 | endif | |
39 | let errorformat = '%f:%l:\ %tarning:\ %m,%E%f:%l:\ %m' | |
40 | ||
41 | return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) | |
42 | endfunction |