annotate runtime/indent/README.txt @ 18486:9d887cad7315

Added tag v8.1.2237 for changeset 63ee3c2b140fe1b4801389872a8e47aec19d028b
author Bram Moolenaar <Bram@vim.org>
date Thu, 31 Oct 2019 20:00:04 +0100
parents 19b757c6c6a7
children f73a9bdff3a3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 This directory contains files to automatically compute the indent for a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 type of file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 If you want to add your own indent file for your personal use, read the docs
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 at ":help indent-expression". Looking at the existing files should give you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 inspiration.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 If you make a new indent file which would be useful for others, please send it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 to Bram@vim.org. Include instructions for detecting the file type for this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 language, by file name extension or by checking a few lines in the file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 And please stick to the rules below.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 If you have remarks about an existing file, send them to the maintainer of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 that file. Only when you get no response send a message to Bram@vim.org.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 If you are the maintainer of an indent file and make improvements, e-mail the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 new version to Bram@vim.org.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 Rules for making an indent file:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 You should use this check for "b:did_indent":
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " Only load this indent file when no other was loaded yet.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 if exists("b:did_indent")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 let b:did_indent = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 Always use ":setlocal" to set 'indentexpr'. This avoids it being carried over
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 to other buffers.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 To trigger the indenting after typing a word like "endif", add the word to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 'cinkeys' option with "+=".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 You normally set 'indentexpr' to evaluate a function and then define that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 function. That function only needs to be defined once for as long as Vim is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 running. Add a test if the function exists and use ":finish", like this:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 if exists("*GetMyIndent")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 The user may have several options set unlike you, try to write the file such
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 that it works with any option settings. Also be aware of certain features not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 being compiled in.
14970
19b757c6c6a7 patch 8.1.0496: no tests for indent files
Bram Moolenaar <Bram@vim.org>
parents: 7
diff changeset
46
19b757c6c6a7 patch 8.1.0496: no tests for indent files
Bram Moolenaar <Bram@vim.org>
parents: 7
diff changeset
47 To test the indent file, see testdir/README.txt.