Mercurial > vim
annotate runtime/indent/xinetd.vim @ 10064:793471c09a4b v7.4.2303
commit https://github.com/vim/vim/commit/779f2fc3a7468e273897d2fd0672315812a2e3da
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 1 20:58:24 2016 +0200
patch 7.4.2303
Problem: When using "is" the mode isn't always updated.
Solution: Redraw the command line. (Christian Brabandt)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 01 Sep 2016 21:00:09 +0200 |
parents | dd6c2497c997 |
children | 1218c5353e2b |
rev | line source |
---|---|
375 | 1 " Vim indent file |
2 " Language: xinetd.conf(5) configuration file | |
839 | 3 " Maintainer: Nikolai Weibull <now@bitwi.se> |
1209 | 4 " Latest Revision: 2006-12-20 |
375 | 5 |
6 if exists("b:did_indent") | |
7 finish | |
8 endif | |
9 let b:did_indent = 1 | |
10 | |
11 setlocal indentexpr=GetXinetdIndent() | |
12 setlocal indentkeys=0{,0},!^F,o,O | |
1209 | 13 setlocal nosmartindent |
375 | 14 |
15 if exists("*GetXinetdIndent") | |
16 finish | |
17 endif | |
3526
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
1209
diff
changeset
|
18 let s:keepcpo= &cpo |
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
1209
diff
changeset
|
19 set cpo&vim |
375 | 20 |
21 function s:count_braces(lnum, count_open) | |
22 let n_open = 0 | |
23 let n_close = 0 | |
24 let line = getline(a:lnum) | |
25 let pattern = '[{}]' | |
26 let i = match(line, pattern) | |
27 while i != -1 | |
28 if synIDattr(synID(a:lnum, i + 1, 0), 'name') !~ 'ld\%(Comment\|String\)' | |
29 if line[i] == '{' | |
30 let n_open += 1 | |
31 elseif line[i] == '}' | |
32 if n_open > 0 | |
33 let n_open -= 1 | |
34 else | |
35 let n_close += 1 | |
36 endif | |
37 endif | |
38 endif | |
39 let i = match(line, pattern, i + 1) | |
40 endwhile | |
41 return a:count_open ? n_open : n_close | |
42 endfunction | |
43 | |
44 function GetXinetdIndent() | |
45 let pnum = prevnonblank(v:lnum - 1) | |
46 if pnum == 0 | |
47 return 0 | |
48 endif | |
49 | |
50 return indent(pnum) + s:count_braces(pnum, 1) * &sw | |
51 \ - s:count_braces(v:lnum, 0) * &sw | |
52 endfunction | |
3526
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
1209
diff
changeset
|
53 |
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
1209
diff
changeset
|
54 let &cpo = s:keepcpo |
dd6c2497c997
Fix more 'cpo' issues in runtime files.
Bram Moolenaar <bram@vim.org>
parents:
1209
diff
changeset
|
55 unlet s:keepcpo |