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