Nimbin[12]?Mirrors & Forks / syntastic / commits / 2d2e4205

syntastic git · master

syntastic vim plugin (fork)

vim fork · first commit 2009-07-10 · last commit 2022-07-10 (4 years ago) · synced 3 days ago · upstream: github.com/vim-syntastic/syntastic

Vim Script 99%
git clone https://git.christianimmanuel.de/mirrors-forks/syntastic.gitwget https://git.christianimmanuel.de/mirrors-forks/syntastic/archive/syntastic.tar.gz

Sorbet syntax checker for ruby

Tom Morton · 2020-09-05 21:55 · 2d2e42053c6911a23553a941a20c7d68d615d0b8

 syntax_checkers/ruby/sorbet.vim | 54 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/syntax_checkers/ruby/sorbet.vim b/syntax_checkers/ruby/sorbet.vim
new file mode 100644
index 00000000..c22f23cd
--- /dev/null
+++ b/syntax_checkers/ruby/sorbet.vim
@@ -0,0 +1,54 @@
+"============================================================================
+"File:        sorbet.vim
+"Description: Syntax checking plugin for syntastic
+"Maintainer:  Tom Morton <tomm@riseup.net>
+"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.
+"
+"============================================================================
+
+if exists('g:loaded_syntastic_ruby_sorbet_checker')
+    finish
+endif
+let g:loaded_syntastic_ruby_sorbet_checker = 1
+
+let s:save_cpo = &cpo
+set cpo&vim
+
+function! SyntaxCheckers_ruby_sorbet_IsAvailable() dict
+    if !executable(self.getExec())
+        return 0
+    endif
+    return syntastic#util#versionIsAtLeast(self.getVersion(), [0, 1, 0])
+endfunction
+
+function! SyntaxCheckers_ruby_sorbet_GetLocList() dict
+    let makeprg = self.makeprgBuild({'args_before': 'tc'})
+
+    let errorformat = '%f:%l: %m'
+
+    let loclist = SyntasticMake({
+        \ 'makeprg': makeprg,
+        \ 'errorformat': errorformat,
+        \ 'subtype': 'Style'})
+
+    " sorbet only emits errors
+    for e in loclist
+        let e['type'] = 'E'
+    endfor
+
+    return loclist
+endfunction
+
+call g:SyntasticRegistry.CreateAndRegisterChecker({
+    \ 'filetype': 'ruby',
+    \ 'name': 'sorbet',
+    \ 'exec': 'srb' })
+
+let &cpo = s:save_cpo
+unlet s:save_cpo
+
+" vim: set sw=4 sts=4 et fdm=marker: