Mercurial > vim
annotate runtime/indent/rrst.vim @ 29326:1f1d99bba06c v9.0.0006
patch 9.0.0006: not all Visual Basic files are recognized
Commit: https://github.com/vim/vim/commit/8b5901e2f9466eb6f38f5b251e871f609f65e252
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jun 29 14:39:12 2022 +0100
patch 9.0.0006: not all Visual Basic files are recognized
Problem: Not all Visual Basic files are recognized.
Solution: Change detection of *.cls files. (Doug Kearns)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 29 Jun 2022 15:45:03 +0200 |
parents | da01d5da2cfa |
children | b2412874362f |
rev | line source |
---|---|
6051 | 1 " Vim indent file |
2 " Language: Rrst | |
3 " Author: Jakson Alves de Aquino <jalvesaq@gmail.com> | |
8497
da01d5da2cfa
commit https://github.com/vim/vim/commit/77cdfd10382e01cc51f4ba1a9177032351843151
Christian Brabandt <cb@256bit.org>
parents:
6051
diff
changeset
|
4 " Homepage: https://github.com/jalvesaq/R-Vim-runtime |
da01d5da2cfa
commit https://github.com/vim/vim/commit/77cdfd10382e01cc51f4ba1a9177032351843151
Christian Brabandt <cb@256bit.org>
parents:
6051
diff
changeset
|
5 " Last Change: Tue Apr 07, 2015 04:38PM |
6051 | 6 |
7 | |
8 " Only load this indent file when no other was loaded. | |
9 if exists("b:did_indent") | |
10 finish | |
11 endif | |
12 runtime indent/r.vim | |
13 let s:RIndent = function(substitute(&indentexpr, "()", "", "")) | |
14 let b:did_indent = 1 | |
15 | |
16 setlocal indentkeys=0{,0},:,!^F,o,O,e | |
17 setlocal indentexpr=GetRrstIndent() | |
18 | |
19 if exists("*GetRrstIndent") | |
20 finish | |
21 endif | |
22 | |
23 function GetRstIndent() | |
24 let pline = getline(v:lnum - 1) | |
25 let cline = getline(v:lnum) | |
26 if prevnonblank(v:lnum - 1) < v:lnum - 1 || cline =~ '^\s*[-\+\*]\s' || cline =~ '^\s*\d\+\.\s\+' | |
27 return indent(v:lnum) | |
28 elseif pline =~ '^\s*[-\+\*]\s' | |
29 return indent(v:lnum - 1) + 2 | |
30 elseif pline =~ '^\s*\d\+\.\s\+' | |
31 return indent(v:lnum - 1) + 3 | |
32 endif | |
33 return indent(prevnonblank(v:lnum - 1)) | |
34 endfunction | |
35 | |
36 function GetRrstIndent() | |
37 if getline(".") =~ '^\.\. {r .*}$' || getline(".") =~ '^\.\. \.\.$' | |
38 return 0 | |
39 endif | |
40 if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW") | |
41 return s:RIndent() | |
42 else | |
43 return GetRstIndent() | |
44 endif | |
45 endfunction | |
46 | |
47 " vim: sw=2 |