neovim/runtime/indent
zeertzjq 3d948a4dc4
vim-patch:9.0.1683: Updated runtime files (#24638)
This is a collection of various PRs from github that all require a minor
patch number:

1) https://github.com/vim/vim/pull/12612

    Do not conflate dictionary key with end of block

2) https://github.com/vim/vim/pull/12729:

    When saving and restoring 'undolevels', the constructs `&undolevels` and
    `:set undolevels` are problematic.

    The construct `&undolevels` reads an unpredictable value; it will be the
    local option value (if one has been set), or the global option value
    (otherwise), making it unsuitable for saving a value for later
    restoration.

    Similarly, if a local option value has been set for 'undolevels',
    temporarily modifying the option via `:set undolevels` changes the local
    value as well as the global value, requiring extra work to restore both
    values.

    Saving and restoring the option value in one step via the construct
    `:let &undolevels = &undolevels` appears to make no changes to the
    'undolevels' option, but if a local option has been set to a different
    value than the global option, it has the unintended effect of changing
    the global 'undolevels' value to the local value.

    Update the documentation to explain these issues and recommend explicit
    use of global and local option values when saving and restoring.  Update
    some unit tests to use `g:undolevels`.

3) https://github.com/vim/vim/pull/12702:

    Problem:    Pip requirements files are not recognized.
    Solution:   Add a pattern to match pip requirements files.

4) https://github.com/vim/vim/pull/12688:

    Add indent file and tests for ABB Rapid

5) https://github.com/vim/vim/pull/12668:

    Use Lua 5.1 numeric escapes in tests and add to CI

    Only Lua 5.2+ and LuaJIT understand hexadecimal escapes in strings.  Lua
    5.1 only supports decimal escapes:

    > A character in a string can also be specified by its numerical value
    > using the escape sequence \ddd, where ddd is a sequence of up to three
    > decimal digits. (Note that if a numerical escape is to be followed by a
    > digit, it must be expressed using exactly three digits.) Strings in Lua
    > can contain any 8-bit value, including embedded zeros, which can be
    > specified as '\0'.

    To make sure this works with Lua 5.4 and Lua 5.1 change the Vim CI to
    run with Lua 5.1 as well as Lua 5.4

6) https://github.com/vim/vim/pull/12631:

    Add hurl filetype detection

7) https://github.com/vim/vim/pull/12573:

    Problem:   Files for haskell persistent library are not recognized
    Solution:  Add pattern persistentmodels for haskell persistent library

closes: vim/vim#12612
closes: vim/vim#12729
closes: vim/vim#12702
closes: vim/vim#12688
closes: vim/vim#12668
closes: vim/vim#12631
closes: vim/vim#12573

Already ported but wasn't marked: vim-patch:ad34abee2583

6efb198033

Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: lacygoill <lacygoill@lacygoill.me>
Co-authored-by: Michael Henry <drmikehenry@drmikehenry.com>
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
Co-authored-by: KnoP-01 <knosowski@graeffrobotics.de>
Co-authored-by: James McCoy <jamessan@jamessan.com>
Co-authored-by: Jacob Pfeifer <jacob@pfeifer.dev>
Co-authored-by: Borys Lykah <lykahb@fastmail.com>
2023-08-10 17:45:36 +08:00
..
testdir vim-patch:9.0.1683: Updated runtime files (#24638) 2023-08-10 17:45:36 +08:00
aap.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
ada.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
ant.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
automake.vim vim-patch:214641f77df6 2017-11-06 05:26:16 +01:00
awk.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
bash.vim vim-patch:5be4ceecea55 2021-04-27 09:21:27 -04:00
basic.vim vim-patch:partial:f10911e5db16 (#17248) 2022-01-31 15:27:01 +01:00
bib.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
bitbake.vim vim-patch:b529cfbd04c0 (#19501) 2022-07-26 11:26:23 +02:00
bst.vim vim-patch:47c532e2bc55 (#17780) 2022-03-20 10:48:10 +01:00
bzl.vim vim-patch:partial 53f7fccc9413 (#15631) 2021-09-11 16:47:45 +02:00
c.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
cdl.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
ch.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
chaiscript.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
changelog.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
chatito.vim vim-patch:9fbdbb814f4a (#20376) 2022-09-28 12:48:36 +02:00
clojure.vim vim-patch:46eea444d (#17920) 2022-03-30 12:12:12 +01:00
cmake.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
cobol.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
config.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
context.vim vim-patch:46fceaaa8d14 2017-04-29 01:47:36 +02:00
cpp.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
cs.vim vim-patch:partial:63f32603789d (#18916) 2022-06-10 08:40:32 +02:00
css.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
cucumber.vim vim-patch:3ec574f2b549 2017-11-07 01:37:30 +01:00
cuda.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
d.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
dictconf.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
dictdconf.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
docbk.vim vim-patch:214641f77df6 2017-11-06 05:26:16 +01:00
dosbatch.vim vim-patch:partial 079ba76ae7a7 (#16126) 2021-10-23 22:29:17 +02:00
dtd.vim vim-patch:d592deb33652 (#19002) 2022-06-17 20:38:21 +02:00
dtrace.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
dts.vim vim-patch:b7398fe41c9e (#23627) 2023-05-15 09:38:32 +02:00
dune.vim vim-patch:7e6a515ed14e 2021-05-01 22:29:03 -04:00
dylan.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
eiffel.vim vim-patch:036986f1507d 2017-11-06 05:35:32 +01:00
elm.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
erlang.vim vim-patch:partial:f269eabc6c4f (#20470) 2022-10-05 10:56:53 +02:00
eruby.vim vim-patch:d09091d4955c 2019-07-29 20:50:07 +02:00
eterm.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
expect.vim vim-patch:b529cfbd04c0 (#19501) 2022-07-26 11:26:23 +02:00
falcon.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
fennel.vim vim-patch:ce001a337e28 (#18287) 2022-04-27 17:48:35 +02:00
fish.vim vim-patch:partial:938ae280c79b (#22356) 2023-02-21 23:50:29 +08:00
fortran.vim vim-patch:partial 2d8ed0203aed (#18675) 2022-05-23 23:49:38 +02:00
framescript.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
freebasic.vim vim-patch:partial:f10911e5db16 (#17248) 2022-01-31 15:27:01 +01:00
gitconfig.vim vim-patch:3ec574f2b549 2017-11-07 01:37:30 +01:00
gitolite.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
go.vim vim-patch:3ec574f2b549 2017-11-07 01:37:30 +01:00
gyp.vim vim-patch:9fbdbb814f4a (#20376) 2022-09-28 12:48:36 +02:00
haml.vim vim-patch:47c532e2bc55 (#17780) 2022-03-20 10:48:10 +01:00
hamster.vim vim-patch:2286304cdbba 2021-10-16 18:03:51 +02:00
hare.vim vim-patch:9fbdbb814f4a (#20376) 2022-09-28 12:48:36 +02:00
hog.vim vim-patch:3ec574f2b549 2017-11-07 01:37:30 +01:00
html.vim vim-patch:2ecbe53f452e (#19577) 2022-07-30 15:48:32 +02:00
htmldjango.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
idlang.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
ishd.vim vim-patch:3ec574f2b549 2017-11-07 01:37:30 +01:00
j.vim vim-patch:09c6f265b210 2021-04-27 09:21:30 -04:00
java.vim vim-patch:036986f1507d 2017-11-06 05:35:32 +01:00
javascript.vim vim-patch:2ecbe53f452e (#19577) 2022-07-30 15:48:32 +02:00
javascriptreact.vim vim-patch:8.1.1937: errors when using javascriptreact #10885 2019-08-30 06:57:44 +02:00
json.vim vim-patch:71b6d3397649 (#20144) 2022-09-10 14:54:13 +02:00
jsonc.vim vim-patch:90df4b9 (#15494) 2021-09-04 19:49:17 +02:00
jsp.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
julia.vim vim-patch:d592deb33652 (#19002) 2022-06-17 20:38:21 +02:00
krl.vim vim-patch:75ab590f8504 (#18170) 2022-04-19 15:14:17 +02:00
ld.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
less.vim vim-patch:8feef4f #3444 2015-10-11 18:07:58 -04:00
lifelines.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
liquid.vim vim-patch:47c532e2bc55 (#17780) 2022-03-20 10:48:10 +01:00
lisp.vim vim-patch:partial: 48c3f4e0bff7 (#19684) 2022-08-09 10:43:28 +02:00
livebook.vim vim-patch:71badf9547e8 (#23285) 2023-04-23 15:22:55 +02:00
logtalk.vim vim-patch:d473c8c10126 2018-10-29 10:01:44 +01:00
lua.vim vim-patch:9712ff1288f9 (#20240) 2022-09-18 15:20:20 +02:00
luau.vim vim-patch:b7398fe41c9e (#23627) 2023-05-15 09:38:32 +02:00
mail.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
make.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
Makefile vim-patch:7ff78465f705 2021-04-28 23:04:14 -04:00
matlab.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
meson.vim vim-patch:partial 113cb513f76d (#16260) 2021-11-08 00:10:44 +01:00
mf.vim vim-patch:2ec618c9feac 2017-04-28 23:49:16 +02:00
mma.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
mp.vim vim-patch:dc08328821a2 2017-04-29 01:01:51 +02:00
nginx.vim vim-patch:partial:f1dcd14fc5d4 (#21602) 2023-01-01 15:00:39 +01:00
nsis.vim vim-patch:partial 079ba76ae7a7 (#16126) 2021-10-23 22:29:17 +02:00
objc.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
obse.vim vim-patch:partial:b59ae59a5870 (#21170) 2022-11-24 10:23:50 +00:00
ocaml.vim vim-patch:7e6a515ed14e 2021-05-01 22:29:03 -04:00
occam.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
pascal.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
perl.vim vim-patch:d592deb33652 (#19002) 2022-06-17 20:38:21 +02:00
php.vim vim-patch:b17893aa940d 2021-04-27 21:25:35 -04:00
postscr.vim vim-patch:partial 2d8ed0203aed (#18675) 2022-05-23 23:49:38 +02:00
pov.vim vim-patch:ce001a337e28 (#18287) 2022-04-27 17:48:35 +02:00
prolog.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
ps1.vim vim-patch:130cbfc31235 2021-05-02 12:03:34 -04:00
pyrex.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
python.vim vim-patch:b529cfbd04c0 (#19501) 2022-07-26 11:26:23 +02:00
qb64.vim vim-patch:partial:f10911e5db16 (#17248) 2022-01-31 15:27:01 +01:00
quarto.vim vim-patch:partial:dd60c365cd26 (#22437) 2023-02-28 09:34:27 +01:00
query.lua chore: format runtime with stylua 2022-05-09 16:31:55 +02:00
r.vim vim-patch:71badf9547e8 (#23285) 2023-04-23 15:22:55 +02:00
racket.vim vim-patch:9b03d3e75b42 (#20013) 2022-08-31 08:08:51 +02:00
raku.vim vim-patch:11e3c5ba8203 2021-05-02 12:53:49 -04:00
raml.vim vim-patch:ba3ff539303c 2019-07-29 20:50:07 +02:00
rapid.vim vim-patch:9.0.1683: Updated runtime files (#24638) 2023-08-10 17:45:36 +08:00
readline.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
README.txt vim-patch:75ab590f8504 (#18170) 2022-04-19 15:14:17 +02:00
rhelp.vim vim-patch:71badf9547e8 (#23285) 2023-04-23 15:22:55 +02:00
rmd.vim vim-patch:partial:dd60c365cd26 (#22437) 2023-02-28 09:34:27 +01:00
rnoweb.vim vim-patch:71badf9547e8 (#23285) 2023-04-23 15:22:55 +02:00
rpl.vim vim-patch:cb80aa2d53e5 2021-05-01 22:29:02 -04:00
rrst.vim vim-patch:partial:dd60c365cd26 (#22437) 2023-02-28 09:34:27 +01:00
rst.vim vim-patch:d1caa941d876 2021-04-27 22:40:39 -04:00
ruby.vim vim-patch:46eea444d (#17920) 2022-03-30 12:12:12 +01:00
rust.vim vim-patch:3ec574f2b549 2017-11-07 01:37:30 +01:00
sas.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
sass.vim vim-patch:47c532e2bc55 (#17780) 2022-03-20 10:48:10 +01:00
scala.vim vim-patch:89a9c159f23f #15641 2021-09-13 06:05:27 -07:00
scheme.vim vim-patch:7254067ee970 2018-10-28 14:07:58 +01:00
scss.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
sdl.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
sh.vim vim-patch:partial fa3b72348d88 (#16780) 2021-12-26 11:03:25 +01:00
sml.vim vim-patch:partial:cbaff5e06ec5 (#18042) 2022-04-08 19:53:41 +02:00
solidity.vim vim-patch:9fbdbb814f4a (#20376) 2022-09-28 12:48:36 +02:00
sql.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
sqlanywhere.vim vim-patch:2286304cdbba 2021-10-16 18:03:51 +02:00
sshconfig.vim vim-patch:388a5d4f20b4 2021-04-28 21:29:57 -04:00
systemverilog.vim vim-patch:partial: 48c3f4e0bff7 (#19684) 2022-08-09 10:43:28 +02:00
tcl.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
tcsh.vim vim-patch:2286304cdbba 2021-10-16 18:03:51 +02:00
teraterm.vim vim-patch:partial 079ba76ae7a7 (#16126) 2021-10-23 22:29:17 +02:00
tex.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
tf.vim vim-patch:ce001a337e28 (#18287) 2022-04-27 17:48:35 +02:00
tilde.vim vim-patch:ce001a337e28 (#18287) 2022-04-27 17:48:35 +02:00
treetop.vim vim-patch:ce001a337e28 (#18287) 2022-04-27 17:48:35 +02:00
typescript.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
vb.vim vim-patch:partial:f1dcd14fc5d4 (#21602) 2023-01-01 15:00:39 +01:00
verilog.vim vim-patch:6c391a74fe90 (#15654) 2021-09-13 16:33:41 +02:00
vhdl.vim vim-patch:01164a6546b4 2017-11-07 23:07:03 +01:00
vim.vim vim-patch:partial 0daafaa7d99e (#20083) 2022-09-06 08:57:53 +02:00
vroom.vim vim-patch:1e8ebf8 2014-12-30 13:51:39 +01:00
vue.vim vim-patch:partial:f1dcd14fc5d4 (#21602) 2023-01-01 15:00:39 +01:00
wast.vim vim-patch:d2855f5454c5 2018-10-29 09:57:24 +01:00
xf86conf.vim vim-patch:ce001a337e28 (#18287) 2022-04-27 17:48:35 +02:00
xhtml.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
xinetd.vim vim-patch:ce001a337e28 (#18287) 2022-04-27 17:48:35 +02:00
xml.vim vim-patch:partial fa3b72348d88 (#16780) 2021-12-26 11:03:25 +01:00
xsd.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
xslt.vim re-integrate runtime/ vim-patch:0 #938 2014-07-29 02:12:31 +00:00
yacc.vim vim-patch:ce001a337e28 (#18287) 2022-04-27 17:48:35 +02:00
yaml.vim vim-patch:partial 0daafaa7d99e (#20083) 2022-09-06 08:57:53 +02:00
zig.vim vim-patch:86b4816766d9 (#21314) 2022-12-08 16:33:38 +01:00
zimbu.vim vim-patch:6e649224926b (#15911) 2021-10-05 14:12:16 +02:00
zsh.vim vim-patch:f2571c6 2015-11-08 03:39:07 +01:00

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
'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.