neovim/runtime/indent
2024-09-04 19:32:52 -05:00
..
testdir vim-patch:c0f7505: runtime(lua): add/subtract a 'shiftwidth' after '('/')' in indentexpr 2024-08-04 19:00:10 +02:00
aap.vim
ada.vim
ant.vim
arduino.vim vim-patch:957d903cb7af 2024-05-20 14:43:12 +02:00
astro.vim vim-patch:d3ff129ce8c6 2024-04-22 00:18:34 +02:00
automake.vim
awk.vim
bash.vim
basic.vim
bib.vim
bitbake.vim
bst.vim
bzl.vim
c.vim
cdl.vim
ch.vim
chaiscript.vim
changelog.vim
chatito.vim
clojure.vim
cmake.vim
cobol.vim
config.vim
context.vim
cpp.vim
cs.vim
css.vim
cucumber.vim
cuda.vim
d.vim
dictconf.vim
dictdconf.vim
docbk.vim
dosbatch.vim
dtd.vim
dtrace.vim
dts.vim
dune.vim
dylan.vim
eiffel.vim
elm.vim
erlang.vim
eruby.vim
eterm.vim
expect.vim
falcon.vim
fennel.vim
fish.vim
fortran.vim
framescript.vim
freebasic.vim
gdscript.vim
gitconfig.vim
gitolite.vim
glsl.vim vim-patch:9.1.0610: filetype: OpenGL Shading Language files are not detected (#29831) 2024-07-23 06:28:05 +08:00
go.vim
gyp.vim
haml.vim
hamster.vim
hare.vim vim-patch:9.1.0442: hare runtime files outdated (#29011) 2024-05-26 07:11:50 +08:00
hcl.vim vim-patch:150b507: runtime(hcl,terraform): Add runtime files for HCL and Terraform (#30266) 2024-09-04 19:32:52 -05:00
hog.vim
html.vim
htmldjango.vim
idlang.vim
ishd.vim
j.vim
java.vim
javascript.vim
javascriptreact.vim
json5.vim vim-patch:63833bb0217f 2024-03-26 21:48:41 +01:00
json.vim
jsonc.vim
jsp.vim
julia.vim
kdl.vim vim-patch:79da22d: runtime(kdl): fix KdlIndent and kdlComment in indent script (vim/vim#15019) 2024-06-16 12:00:58 +02:00
kotlin.vim
krl.vim
ld.vim
less.vim
lifelines.vim
liquid.vim
lisp.vim
livebook.vim
logtalk.vim
lua.vim vim-patch:c0f7505: runtime(lua): add/subtract a 'shiftwidth' after '('/')' in indentexpr 2024-08-04 19:00:10 +02:00
luau.vim
mail.vim
make.vim
Makefile
matlab.vim
meson.vim
mf.vim
mma.vim
mojo.vim vim-patch:fc533c9: runtime(mojo): include mojo ftplugin and indent script 2024-07-12 11:34:11 +02:00
mp.vim
nginx.vim
nsis.vim
objc.vim
obse.vim
ocaml.vim vim-patch:9.1.0586: ocaml runtime files are outdated 2024-07-14 23:55:57 +02:00
occam.vim
odin.vim
pascal.vim
perl.vim
php.vim
postscr.vim
pov.vim
prolog.vim
proto.vim vim-patch:39eff4c: runtime(proto): Add indent script for protobuf filetype 2024-08-08 00:17:11 +02:00
ps1.vim
pyrex.vim
python.vim
qb64.vim
qml.vim
quarto.vim
query.lua fix(runtime): stop treesitter highlight in b:undo_ftplugin (#29533) 2024-07-03 15:24:12 +08:00
r.vim vim-patch:f9ca139e3aa1 (#27554) 2024-02-21 06:30:18 +08:00
racket.vim vim-patch:83f627ff42a3 2024-02-01 10:04:32 +01:00
raku.vim
raml.vim
rapid.vim
readline.vim
README.txt
rhelp.vim vim-patch:f9ca139e3aa1 (#27554) 2024-02-21 06:30:18 +08:00
rmd.vim vim-patch:f9ca139e3aa1 (#27554) 2024-02-21 06:30:18 +08:00
rnoweb.vim vim-patch:f9ca139e3aa1 (#27554) 2024-02-21 06:30:18 +08:00
rpl.vim
rrst.vim vim-patch:f9ca139e3aa1 (#27554) 2024-02-21 06:30:18 +08:00
rst.vim
ruby.vim
rust.vim vim-patch:11d5992: runtime(rust): use shiftwidth() in indent script 2024-07-04 23:01:35 +02:00
sas.vim
sass.vim
scala.vim
scheme.vim vim-patch:17e0a19: runtime(scheme): update runtime files 2024-06-21 11:03:47 +02:00
scss.vim
sdl.vim
sh.vim
sml.vim
solidity.vim
sql.vim
sqlanywhere.vim
sshconfig.vim
stylus.vim vim-patch:9.1.0386: filetype: stylus files not recognized 2024-05-02 00:37:16 +02:00
systemverilog.vim
tcl.vim
tcsh.vim
teraterm.vim
terraform.vim vim-patch:150b507: runtime(hcl,terraform): Add runtime files for HCL and Terraform (#30266) 2024-09-04 19:32:52 -05:00
tex.vim
tf.vim
thrift.vim vim-patch:011f222: runtime(thrift): add ftplugin, indent and syntax scripts 2024-07-30 10:39:43 +02:00
tilde.vim
treetop.vim
typescript.vim
typescriptreact.vim
typst.vim vim-patch:1cc4cae: runtime(typst): Add typst runtime files 2024-07-16 09:43:57 +02:00
vb.vim
verilog.vim
vhdl.vim
vim.vim
vroom.vim
vue.vim
wat.vim
xf86conf.vim
xhtml.vim
xinetd.vim
xml.vim
xsd.vim
xslt.vim
yacc.vim
yaml.vim vim-patch:c6ed816: runtime(yaml): do not re-indent when commenting out lines 2024-08-17 13:03:13 +02:00
zig.vim
zimbu.vim
zsh.vim

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 the vim-dev mailing list <vim-dev@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 the vim-dev
mailing list: <vim-dev@vim.org>.

If you are the maintainer of an indent file and make improvements, e-mail the
new version to the vim-dev mailing list: <vim-dev@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
'indentkeys' 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.

To test the indent file, see testdir/README.txt.