From 029f72b1a93430b24b88eb3a72c6114d9f149737 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 22:09:20 +0200 Subject: Adding upstream version 2:9.1.0016. Signed-off-by: Daniel Baumann --- runtime/indent/tf.vim | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 runtime/indent/tf.vim (limited to 'runtime/indent/tf.vim') diff --git a/runtime/indent/tf.vim b/runtime/indent/tf.vim new file mode 100644 index 0000000..bb40bf6 --- /dev/null +++ b/runtime/indent/tf.vim @@ -0,0 +1,74 @@ +" Vim indent file +" Language: tf (TinyFugue) +" Maintainer: Christian J. Robinson +" URL: http://www.vim.org/scripts/script.php?script_id=174 +" Last Change: 2022 Apr 25 + +" 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; + +let b:undo_indent = "setlocal indentexpr< indentkeys<" + +" 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*\)\@\