add turtle an trig check via rapper

turtle and trig are RDF syntaxes defined by the W3C
https://www.w3.org/TR/turtle/
https://www.w3.org/TR/trig/

rapper is an RDF parsing and serializing utility
http://librdf.org/raptor/rapper.html
This commit is contained in:
Sebastian Tramp 2016-05-05 17:17:19 +02:00
parent 579faffabf
commit 952e297457
No known key found for this signature in database
GPG Key ID: 500905B62DFE00E3
2 changed files with 103 additions and 0 deletions

View File

@ -0,0 +1,28 @@
"============================================================================
"File: rapper.vim
"Description: Syntax checking plugin for syntastic.vim
"Maintainer: Sebastian Tramp <mail@sebastian.tramp.name>
"License: This program is free software. It comes without any warranty,
" to the extent permitted by applicable law. You can redistribute
" it and/or modify it under the terms of the Do What The Fuck You
" Want To Public License, Version 2, as published by Sam Hocevar.
" See http://sam.zoy.org/wtfpl/COPYING for more details.
"============================================================================
" file is build based on the given guide as well as existing checker plugins
" https://github.com/scrooloose/syntastic/wiki/Syntax-Checker-Guide
if exists('g:loaded_syntastic_trig_rapper_checker') " {{{1
finish
else
let g:loaded_syntastic_trig_rapper_checker = 1
endif " }}}1
" redirect trig syntax check to turtle syntax check {{{1
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'trig',
\ 'name': 'rapper',
\ 'redirect': 'turtle/rapper'})
" }}}1
" vim: set sw=4 sts=4 et fdm=marker:

View File

@ -0,0 +1,75 @@
"============================================================================
"File: rapper.vim
"Description: Syntax checking plugin for syntastic.vim
"Maintainer: Sebastian Tramp <mail@sebastian.tramp.name>
"License: This program is free software. It comes without any warranty,
" to the extent permitted by applicable law. You can redistribute
" it and/or modify it under the terms of the Do What The Fuck You
" Want To Public License, Version 2, as published by Sam Hocevar.
" See http://sam.zoy.org/wtfpl/COPYING for more details.
"============================================================================
"
" file is build based on the given guide as well as existing checker plugins
" https://github.com/scrooloose/syntastic/wiki/Syntax-Checker-Guide
if exists('g:loaded_syntastic_turtle_rapper_checker') " {{{1
finish
else
let g:loaded_syntastic_turtle_rapper_checker = 1
endif " }}}1"
" reset options to the Vim defaults {{{1
" http://vi.stackexchange.com/questions/2116
let s:save_cpo = &cpo
set cpo&vim
" }}}1
" verify that the checker is installed and any other environment deps are met
function! SyntaxCheckers_turtle_rapper_IsAvailable() dict " {{{1
return executable(self.getExec())
endfunction " }}}1
" perform the syntax check and return the results in the form of a quickfix list
function! SyntaxCheckers_turtle_rapper_GetLocList() dict " {{{1
" Create the program call via makeprg
" example call: rapper -i guess -q --count file.ttl
" this uses "-i guess" in order to allow to redirect other rdf formats
let makeprg = self.makeprgBuild({
\ 'args': '-i guess -q --count ',
\ 'args_after': '' })
" Create error format matching lines
" Example output:
" rapper: Error - URI file:///.../file.ttl:39 - syntax error, unexpected a
let errorformat = 'rapper: Error - URI file://%f:%l - %m'
" sets up the environment according to the options given, runs the checker,
" resets the environment, and returns the location list
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat})
endfunction " }}}1
" return a regular expression pattern matching the current error in order to
" highlight parts of the line
function! SyntaxCheckers_turtle_rapper_GetHighlightRegex(item) " {{{1
let term = matchstr(a:item['text'], '\mFailed to convert qname \zs\S\+\ze to URI')
if term !=# ''
let term = '\V' . escape(term, '\')
endif
return term
endfunction " }}}1
" tell syntastic that this plugin exists {{{1
call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'turtle',
\ 'name': 'rapper',
\ 'exec': 'rapper' })
" }}}1
" reload saved options {{{1
" http://vi.stackexchange.com/questions/2116
let &cpo = s:save_cpo
unlet s:save_cpo
" }}}1
" vim: set sw=4 sts=4 et fdm=marker: