summaryrefslogtreecommitdiffstats
path: root/ftplugin/blade.vim
blob: db3c1c01c40e4cf0235d999d6b96a9936b14e029 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
if has_key(g:polyglot_is_disabled, 'blade')
  finish
endif

" Vim filetype plugin
" Language:     Blade (Laravel)
" Maintainer:   Jason Walton <jwalton512@gmail.com>

if exists('b:did_ftplugin')
    finish
endif

runtime! ftplugin/html.vim
let b:did_ftplugin = 1

setlocal suffixesadd=.blade.php,.php
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
setlocal path+=resources/views;
setlocal include=\\w\\@<!@\\%(include\\\|extends\\)
setlocal define=\\w\\@<!@\\%(yield\\\|stack\\)

setlocal commentstring={{--%s--}}
setlocal comments+=s:{{--,m:\ \ \ \ ,e:--}}

if exists('loaded_matchit') && exists('b:match_words')
    " Append to html matchit words
    let b:match_words .= ',' .
                \ '@\%(section\s*([^\,]*)\|if\|unless\|foreach\|forelse\|for\|while\|push\|can\|cannot\|hasSection\|' .
                \     'php\s*(\@!\|verbatim\|component\|slot\|prepend\)' .
                \ ':' .
                \ '@\%(else\|elseif\|empty\|break\|continue\|elsecan\|elsecannot\)\>' .
                \ ':' .
                \ '@\%(end\w\+\|stop\|show\|append\|overwrite\)' .
                \ ',{:},\[:\],(:)'
    let b:match_skip = 'synIDattr(synID(line("."), col("."), 0), "name") !=# "bladeKeyword"'
    let b:match_ignorecase = 0
endif