annotate runtime/indent/teraterm.vim @ 18801:484c63777038

Added tag v8.1.2388 for changeset f41b55f9357ca8db819eb9ad1594d7efb64c044e
author Bram Moolenaar <Bram@vim.org>
date Wed, 04 Dec 2019 22:00:04 +0100
parents 34fd018452ed
children ebedba7a4898
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6951
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
1 " Vim indent file
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
2 " Language: Tera Term Language (TTL)
14668
34fd018452ed Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11518
diff changeset
3 " Based on Tera Term Version 4.100
6951
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
4 " Maintainer: Ken Takata
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
5 " URL: https://github.com/k-takata/vim-teraterm
14668
34fd018452ed Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 11518
diff changeset
6 " Last Change: 2018-08-31
6951
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
7 " Filenames: *.ttl
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
8 " License: VIM License
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
9
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
10 if exists("b:did_indent")
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
11 finish
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
12 endif
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
13 let b:did_indent = 1
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
14
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
15 setlocal nosmartindent
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
16 setlocal noautoindent
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
17 setlocal indentexpr=GetTeraTermIndent(v:lnum)
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
18 setlocal indentkeys=!^F,o,O,e
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
19 setlocal indentkeys+==elseif,=endif,=loop,=next,=enduntil,=endwhile
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
20
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
21 if exists("*GetTeraTermIndent")
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
22 finish
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
23 endif
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
24
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
25 function! GetTeraTermIndent(lnum)
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
26 let l:prevlnum = prevnonblank(a:lnum-1)
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
27 if l:prevlnum == 0
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
28 " top of file
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
29 return 0
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
30 endif
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
31
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
32 " grab the previous and current line, stripping comments.
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
33 let l:prevl = substitute(getline(l:prevlnum), ';.*$', '', '')
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
34 let l:thisl = substitute(getline(a:lnum), ';.*$', '', '')
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
35 let l:previ = indent(l:prevlnum)
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
36
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
37 let l:ind = l:previ
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
38
9908
2b6654519a7c commit https://github.com/vim/vim/commit/7571d55f7dcc009a375b2124cce2c8b21f361234
Christian Brabandt <cb@256bit.org>
parents: 6951
diff changeset
39 if l:prevl =~ '^\s*if\>.*\<then\>'
6951
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
40 " previous line opened a block
11518
63b0b7b79b25 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 9908
diff changeset
41 let l:ind += shiftwidth()
6951
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
42 endif
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
43 if l:prevl =~ '^\s*\%(elseif\|else\|do\|until\|while\|for\)\>'
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
44 " previous line opened a block
11518
63b0b7b79b25 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 9908
diff changeset
45 let l:ind += shiftwidth()
6951
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
46 endif
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
47 if l:thisl =~ '^\s*\%(elseif\|else\|endif\|enduntil\|endwhile\|loop\|next\)\>'
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
48 " this line closed a block
11518
63b0b7b79b25 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 9908
diff changeset
49 let l:ind -= shiftwidth()
6951
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
50 endif
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
51
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
52 return l:ind
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
53 endfunction
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
54
b2673982c625 Updated and new runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
55 " vim: ts=8 sw=2 sts=2