1

I'm trying to see how Syntastic's handlebars checker works. However, when I look at the checker, there are no regex entries looking for text like {{ or }} at all. It also doesn't appear that this file (copied below) is pulling in any other resources that would use that type of regex to check a file.

How is this file actually implementing any kind of check on a handlebars file?

"============================================================================
"File:        handlebars.vim
"Description: Syntax checking plugin for syntastic.vim
"Maintainer:  Martin Grenfell <martin.grenfell at gmail dot com>
"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_handlebars_handlebars_checker')
    finish
endif
let g:loaded_syntastic_handlebars_handlebars_checker = 1

let s:save_cpo = &cpo
set cpo&vim

function! SyntaxCheckers_handlebars_handlebars_GetLocList() dict
    let makeprg = self.makeprgBuild({ 'args_after': '-f ' . syntastic#util#DevNull() })

    let errorformat =
        \ '%EError: %m on line %l:,' .
        \ '%EError: %m,' .
        \ '%Z%p^,' .
        \ '%-G%.%#'

    return SyntasticMake({
        \ 'makeprg': makeprg,
        \ 'errorformat': errorformat,
        \ 'postprocess': ['guards'],
        \ 'defaults': {'bufnr': bufnr('')} })
endfunction

call g:SyntasticRegistry.CreateAndRegisterChecker({
    \ 'filetype': 'handlebars',
    \ 'name': 'handlebars'})

let &cpo = s:save_cpo
unlet s:save_cpo

" vim: set sw=4 sts=4 et fdm=marker:
YPCrumble
  • 26,610
  • 23
  • 107
  • 172
  • 3
    According to `:h syntastic-intro`: _Syntastic is a syntax checking plugin that runs files through **external** syntax checkers._ Then `:h syntastic-handlebars-handlebars` reveals that: _"Handlebars" is a JavaScript library for building semantic templates. See the project's page for details: http://handlebarsjs.com/_ – lcd047 Dec 16 '16 at 05:27

0 Answers0