comparison runtime/indent/dtd.vim @ 48:67300faee616 v7-3-618

v7-3-618
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 01 Aug 2012 18:08:28 +0900
parents c16898406ff2
children
comparison
equal deleted inserted replaced
47:6c0584ec21b1 48:67300faee616
1 " Vim indent file 1 " Vim indent file
2 " Language: DTD (Document Type Definition for XML) 2 " Language: DTD (Document Type Definition for XML)
3 " Maintainer: Nikolai Weibull <now@bitwi.se> 3 " Maintainer: Nikolai Weibull <now@bitwi.se>
4 " Latest Revision: 2010-09-21 4 " Latest Revision: 2011-07-08
5 5
6 let s:cpo_save = &cpo 6 let s:cpo_save = &cpo
7 set cpo&vim 7 set cpo&vim
8 8
9 setlocal indentexpr=GetDTDIndent() 9 setlocal indentexpr=GetDTDIndent()
50 function s:indent_to_innermost_parentheses(line, end) 50 function s:indent_to_innermost_parentheses(line, end)
51 let token = '(' 51 let token = '('
52 let end = a:end 52 let end = a:end
53 let parentheses = [end - 1] 53 let parentheses = [end - 1]
54 while token != "" 54 while token != ""
55 let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\|#PCDATA\|%[A-Za-z0-9_-]\+;\)[?*+]\=') 55 let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\|#P\=CDATA\|%[A-Za-z0-9_-]\+;\)[?*+]\=')
56 if token[0] == '(' 56 if token[0] == '('
57 call add(parentheses, end - 1) 57 call add(parentheses, end - 1)
58 elseif token[0] == ')' 58 elseif token[0] == ')'
59 if len(parentheses) == 1 59 if len(parentheses) == 1
60 return [-1, end] 60 return [-1, end]
320 " (and hence the user). 320 " (and hence the user).
321 return -1 321 return -1
322 endfunction 322 endfunction
323 323
324 let &cpo = s:cpo_save 324 let &cpo = s:cpo_save
325 unlet s:cpo_save