summaryrefslogtreecommitdiffstats
path: root/runtime/indent
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2008-06-24 22:58:06 +0000
committerBram Moolenaar <Bram@vim.org>2008-06-24 22:58:06 +0000
commit8c8de839325eda0bed68917d18179d2003b344d1 (patch)
treec65b80f0a627f2e77385a07a62ee4206465cbc22 /runtime/indent
parent864207de089119377a1e1e5d411307d8eb57399e (diff)
updated for version 7.2av7.2a
Diffstat (limited to 'runtime/indent')
-rw-r--r--runtime/indent/tcsh.vim4
-rw-r--r--runtime/indent/tf.vim72
2 files changed, 74 insertions, 2 deletions
diff --git a/runtime/indent/tcsh.vim b/runtime/indent/tcsh.vim
index a33bdb715e..cd18f06189 100644
--- a/runtime/indent/tcsh.vim
+++ b/runtime/indent/tcsh.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: C-shell (tcsh)
" Maintainer: Gautam Iyer <gautam@math.uchicago.edu>
-" Last Modified: Wed 04 Feb 2004 04:36:07 PM CST
+" Last Modified: Sat 16 Jun 2007 04:27:45 PM PDT
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -11,7 +11,7 @@ endif
let b:did_indent = 1
setlocal indentexpr=TcshGetIndent()
-setlocal indentkeys+=e,0=end,0=endsw,*<return> indentkeys-=0{,0},0),:,0#
+setlocal indentkeys+=e,0=end,0=endsw indentkeys-=0{,0},0),:,0#
" Only define the function once.
if exists("*TcshGetIndent")
diff --git a/runtime/indent/tf.vim b/runtime/indent/tf.vim
new file mode 100644
index 0000000000..61cebc3a67
--- /dev/null
+++ b/runtime/indent/tf.vim
@@ -0,0 +1,72 @@
+" Vim indent file
+" Language: tf (TinyFugue)
+" Maintainer: Christian J. Robinson <infynity@onewest.net>
+" URL: http://www.infynity.spodzone.com/vim/indent/tf.vim
+" Last Change: 2002 May 29
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+setlocal indentexpr=GetTFIndent()
+setlocal indentkeys-=0{,0} indentkeys-=0# indentkeys-=:
+setlocal indentkeys+==/endif,=/then,=/else,=/done,0;
+
+" Only define the function once:
+if exists("*GetTFIndent")
+ finish
+endif
+
+function GetTFIndent()
+ " Find a non-blank line above the current line:
+ let lnum = prevnonblank(v:lnum - 1)
+
+ " No indent for the start of the file:
+ if lnum == 0
+ return 0
+ endif
+
+ let ind = indent(lnum)
+ let line = getline(lnum)
+
+ " No indentation if the previous line didn't end with "\":
+ " (Could be annoying, but it lets you know if you made a mistake.)
+ if line !~ '\\$'
+ return 0
+ endif
+
+ if line =~ '\(/def.*\\\|/for.*\(%;\s*\)\@\<!\\\)$'
+ let ind = ind + &sw
+ elseif line =~ '\(/if\|/else\|/then\)'
+ if line !~ '/endif'
+ let ind = ind + &sw
+ endif
+ elseif line =~ '/while'
+ if line !~ '/done'
+ let ind = ind + &sw
+ endif
+ endif
+
+ let line = getline(v:lnum)
+
+ if line =~ '\(/else\|/endif\|/then\)'
+ if line !~ '/if'
+ let ind = ind - &sw
+ endif
+ elseif line =~ '/done'
+ if line !~ '/while'
+ let ind = ind - &sw
+ endif
+ endif
+
+ " Comments at the beginning of a line:
+ if line =~ '^\s*;'
+ let ind = 0
+ endif
+
+
+ return ind
+
+endfunction