summaryrefslogtreecommitdiff
path: root/runtime/indent/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/indent/README.txt')
-rw-r--r--runtime/indent/README.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/runtime/indent/README.txt b/runtime/indent/README.txt
new file mode 100644
index 000000000..a424b4f8c
--- /dev/null
+++ b/runtime/indent/README.txt
@@ -0,0 +1,45 @@
+This directory contains files to automatically compute the indent for a
+type of file.
+
+If you want to add your own indent file for your personal use, read the docs
+at ":help indent-expression". Looking at the existing files should give you
+inspiration.
+
+If you make a new indent file which would be useful for others, please send it
+to Bram@vim.org. Include instructions for detecting the file type for this
+language, by file name extension or by checking a few lines in the file.
+And please stick to the rules below.
+
+If you have remarks about an existing file, send them to the maintainer of
+that file. Only when you get no response send a message to Bram@vim.org.
+
+If you are the maintainer of an indent file and make improvements, e-mail the
+new version to Bram@vim.org.
+
+
+Rules for making an indent file:
+
+You should use this check for "b:did_indent":
+
+ " Only load this indent file when no other was loaded yet.
+ if exists("b:did_indent")
+ finish
+ endif
+ let b:did_indent = 1
+
+Always use ":setlocal" to set 'indentexpr'. This avoids it being carried over
+to other buffers.
+
+To trigger the indenting after typing a word like "endif", add the word to the
+'cinkeys' option with "+=".
+
+You normally set 'indentexpr' to evaluate a function and then define that
+function. That function only needs to be defined once for as long as Vim is
+running. Add a test if the function exists and use ":finish", like this:
+ if exists("*GetMyIndent")
+ finish
+ endif
+
+The user may have several options set unlike you, try to write the file such
+that it works with any option settings. Also be aware of certain features not
+being compiled in.