1*7a329911SBram Moolenaar" Vim filetype plugin 2*7a329911SBram Moolenaar" Language: Liquid 3*7a329911SBram Moolenaar" Maintainer: Tim Pope <[email protected]> 4*7a329911SBram Moolenaar" Last Change: 2010 May 21 5*7a329911SBram Moolenaar 6*7a329911SBram Moolenaarif exists('b:did_ftplugin') 7*7a329911SBram Moolenaar finish 8*7a329911SBram Moolenaarendif 9*7a329911SBram Moolenaar 10*7a329911SBram Moolenaarif !exists('g:liquid_default_subtype') 11*7a329911SBram Moolenaar let g:liquid_default_subtype = 'html' 12*7a329911SBram Moolenaarendif 13*7a329911SBram Moolenaar 14*7a329911SBram Moolenaarif !exists('b:liquid_subtype') 15*7a329911SBram Moolenaar let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$") 16*7a329911SBram Moolenaar let b:liquid_subtype = matchstr(s:lines,'liquid_subtype=\zs\w\+') 17*7a329911SBram Moolenaar if b:liquid_subtype == '' 18*7a329911SBram Moolenaar let b:liquid_subtype = matchstr(&filetype,'^liquid\.\zs\w\+') 19*7a329911SBram Moolenaar endif 20*7a329911SBram Moolenaar if b:liquid_subtype == '' 21*7a329911SBram Moolenaar let b:liquid_subtype = matchstr(substitute(expand('%:t'),'\c\%(\.liquid\)\+$','',''),'\.\zs\w\+$') 22*7a329911SBram Moolenaar endif 23*7a329911SBram Moolenaar if b:liquid_subtype == '' 24*7a329911SBram Moolenaar let b:liquid_subtype = g:liquid_default_subtype 25*7a329911SBram Moolenaar endif 26*7a329911SBram Moolenaarendif 27*7a329911SBram Moolenaar 28*7a329911SBram Moolenaarif exists('b:liquid_subtype') && b:liquid_subtype != '' 29*7a329911SBram Moolenaar exe 'runtime! ftplugin/'.b:liquid_subtype.'.vim ftplugin/'.b:liquid_subtype.'_*.vim ftplugin/'.b:liquid_subtype.'/*.vim' 30*7a329911SBram Moolenaarelse 31*7a329911SBram Moolenaar runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim 32*7a329911SBram Moolenaarendif 33*7a329911SBram Moolenaarlet b:did_ftplugin = 1 34*7a329911SBram Moolenaar 35*7a329911SBram Moolenaarif exists('b:undo_ftplugin') 36*7a329911SBram Moolenaar let b:undo_ftplugin .= '|' 37*7a329911SBram Moolenaarelse 38*7a329911SBram Moolenaar let b:undo_ftplugin = '' 39*7a329911SBram Moolenaarendif 40*7a329911SBram Moolenaarif exists('b:browsefilter') 41*7a329911SBram Moolenaar let b:browsefilter = "\n".b:browsefilter 42*7a329911SBram Moolenaarelse 43*7a329911SBram Moolenaar let b:browsefilter = '' 44*7a329911SBram Moolenaarendif 45*7a329911SBram Moolenaarif exists('b:match_words') 46*7a329911SBram Moolenaar let b:match_words .= ',' 47*7a329911SBram Moolenaarelseif exists('loaded_matchit') 48*7a329911SBram Moolenaar let b:match_words = '' 49*7a329911SBram Moolenaarendif 50*7a329911SBram Moolenaar 51*7a329911SBram Moolenaarif has('gui_win32') 52*7a329911SBram Moolenaar let b:browsefilter="Liquid Files (*.liquid)\t*.liquid" . b:browsefilter 53*7a329911SBram Moolenaarendif 54*7a329911SBram Moolenaar 55*7a329911SBram Moolenaarif exists('loaded_matchit') 56*7a329911SBram Moolenaar let b:match_words .= '\<\%(if\w*\|unless\|case\)\>:\<\%(elsif\|else\|when\)\>:\<end\%(if\w*\|unless\|case\)\>,\<\%(for\|tablerow\)\>:\%({%\s*\)\@<=empty\>:\<end\%(for\|tablerow\)\>,<\(capture\|comment\|highlight\)\>:\<end\1\>' 57*7a329911SBram Moolenaarendif 58*7a329911SBram Moolenaar 59*7a329911SBram Moolenaarsetlocal commentstring={%\ comment\ %}%s{%\ endcomment\ %} 60*7a329911SBram Moolenaar 61*7a329911SBram Moolenaarlet b:undo_ftplugin .= 'setl cms< | unlet! b:browsefilter b:match_words' 62