diff options
author | Yaroslav <contact@yaroslavps.com> | 2020-02-25 14:47:03 +0300 |
---|---|---|
committer | Yaroslav <contact@yaroslavps.com> | 2020-02-25 14:47:03 +0300 |
commit | d16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64 (patch) | |
tree | 6575864b75dc0c9de61b5d523e77dbcff785c998 /.vim/autoload/neomake/makers/ft/purescript.vim | |
parent | 69d47128244a06ee28e4b43191ef9216b04bce13 (diff) | |
download | vimrice-d16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64.tar.gz vimrice-d16e82d468eb0d5bb1e662ac4812c0ca6fc0fc64.zip |
reorganized repo to be easier to use with GNU stow; added script to stow
Diffstat (limited to '.vim/autoload/neomake/makers/ft/purescript.vim')
-rw-r--r-- | .vim/autoload/neomake/makers/ft/purescript.vim | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/.vim/autoload/neomake/makers/ft/purescript.vim b/.vim/autoload/neomake/makers/ft/purescript.vim deleted file mode 100644 index a26a40f..0000000 --- a/.vim/autoload/neomake/makers/ft/purescript.vim +++ /dev/null @@ -1,63 +0,0 @@ -" vim: ts=4 sw=4 et - -function! neomake#makers#ft#purescript#EnabledMakers() abort - return ['pulp'] -endfunction - -function! neomake#makers#ft#purescript#pulp() abort - " command is `pulp build --no-psa -- --json-errors` - " as indicated in https://github.com/nwolverson/atom-ide-purescript/issues/136 - let maker = { - \ 'args': ['build', '--no-psa', '--', '--json-errors'], - \ 'append_file': 0, - \ 'process_output': function('neomake#makers#ft#purescript#PSProcessOutput'), - \ } - - " Find project root, since files are reported relative to it. - let bower_file = neomake#utils#FindGlobFile('bower.json') - if !empty(bower_file) - let maker.cwd = fnamemodify(bower_file, ':h') - endif - - return maker -endfunction - -function! neomake#makers#ft#purescript#PSProcessOutput(context) abort - let errors = [] - for line in a:context.output - if line[0] !=# '{' - continue - endif - let decoded = neomake#compat#json_decode(line) - for [key, values] in items(decoded) - let code = key ==# 'warnings' ? 'W' : 'E' - for item in values - let compiler_error = item['errorCode'] - let message = item['message'] - let position = item['position'] - let filename = item['filename'] - if position is g:neomake#compat#json_null - let row = 1 - let col = 1 - let end_col = 1 - let length = 1 - else - let row = position['startLine'] - let col = position['startColumn'] - let end_col = position['endColumn'] - let length = end_col - col - endif - - call add(errors, { - \ 'text': compiler_error . ' : ' . message, - \ 'type': code, - \ 'lnum': row, - \ 'col': col, - \ 'length': length, - \ 'filename': filename, - \ }) - endfor - endfor - endfor - return errors -endfunction |