439 Commits

Author SHA1 Message Date
eb59129d2c runtime(typescript): remove Fixedgq() function from indent script
Problem:
1. The `Fixedgq()` function is broken (see #17412)
2. The `'formatexpr'` for Typescript is not documented, which causes
   confusion to users when they try to set `'formatprg'`, since
   `'formatexpr'` always takes precedence over `'formatprg'`. See also
   https://github.com/HerringtonDarkholme/yats.vim/issues/209
3. Typescript already has a very good and popular formatter called
   `prettier`, that can be easily integrated to Vim via `'formatprg'`
   (see #16989). I don't think there are any good reasons to reinvent a
   half-baked version in Vim.

Solution:  Remove the Fixedgq() 'formatexpr' function.

fixes: #17412
closes: #17452

Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-06-05 21:21:35 +02:00
c8b7e6129a runtime: Add license information for HCL and Terraform runtime files
fixes: #17372
closes: #17377

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-05-25 17:01:45 +02:00
7bc988067e runtime(make): do not automatically indent after a special target
prevent indentation if the previous line starts with e.g. `.PHONY:`

closes: #17183

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-04-22 20:20:46 +02:00
5ecb452f5b runtime(indent-tests): Raise timeouts for "search*()"es
Related to #15974 and #16870.

closes: #17116

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-04-19 11:36:05 +02:00
4e3df44aa2 runtime(indent-tests): Annotate timed "search*()"es for tracing
related: #17116

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-04-19 11:35:38 +02:00
fe8508eda0 runtime(indent-tests): Instrument timed "search*()" calls
The offered "tracer.vim" script can be used to measure and
record elapsed time for explicitly annotated "search*()"es,
set off with "VIM_INDENT_TEST_TRACE_(START|END)" comment
markers, in indent plugins.

related: #17116

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-04-19 11:35:02 +02:00
fbbaa6ebe9 runtime: set 'cpoptions' for line-continuation in various runtime files
closes: #17121

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-04-16 18:20:59 +02:00
4e7b4308fb patch 9.1.1231: filetype: SPA JSON files are not recognized
Problem:  filetype: SPA (single page application) JSON files are not
          recognized (used by pipewire and wireplumber)
Solution: detect pipewire and wireplumber configuration files as spajson
          filetype, include filetype, indent and syntax scripts for this
          new filetype (David Mandelberg).

I looked at all the files found by this command to see if the syntax
highlighting looked reasonable:

```
find {~/.config,/etc,/usr/share}/{pipewire,wireplumber} -type f -name \*.conf
```

References:
*   pipewire config files: https://docs.pipewire.org/page_config.html
*   wireplumber config files:
    https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/conf_file.html
    and
*   https://pipewire.pages.freedesktop.org/wireplumber/daemon/locations.html

closes: #16950

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-03-23 10:26:00 +01:00
40ab82b974 runtime(sh): remove invalid commented out line in syntax script
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-03-18 23:12:52 +01:00
711f4a07f3 runtime(sh): update sh indent script
fixes: #16930

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-03-18 22:36:28 +01:00
54c88d0cf8 runtime(indent-tests): GitHub Actions doesn't show why indent tests failed
Problem:  GitHub Actions doesn't show why indent tests failed
Solution: Send the .fail files to stdout

References:
https://github.com/vim/vim/pull/16852#issuecomment-2719041781

closes: #16870

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-03-12 22:43:08 +01:00
ed7d8e55ac patch 9.1.1140: filetype: m17ndb files are not detected
Problem:  filetype: m17ndb files are not detected
Solution: detect m17ndb files as m17ndb filetype,
          include filetype, syntax and indent files for the
          new filetype (David Mandelberg).

References:

https://www.nongnu.org/m17n/manual-en/m17nDBFormat.html describes the
format. https://git.savannah.nongnu.org/cgit/m17n/m17n-db.git/tree/ has
examples of the files.

closes: #16696

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-02-23 09:41:42 +01:00
72755b3c8e patch 9.1.1042: filetype: just files are not recognized
Problem:  filetype: just files are not recognized
Solution: adjust filetype detection pattern, detect just shebang line,
          include just ftplugin, indent and syntax plugin
          (Peter Benjamin)

closes: #16466

Signed-off-by: Peter Benjamin <petermbenjamin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-20 21:56:41 +01:00
221c53202d runtime(vim): Split Vim legacy and Vim9 script indent tests
The indent test file is not highlighted correctly as it's currently a
syntactically erroneous mix of legacy and Vim9 script.  This is causing
spurious indent test failures as the indent script relies on syntax ID
tests to determine the context of lines being processed.

Splitting the tests into legacy and Vim9 specific files allows for
correct syntax highlighting and indenting.

closes: #16431

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-13 07:54:33 +01:00
6d2efd4920 runtime(vim): update indentation plugin for Vim script
Make the indent script aware of enums and ensure those will be correctly
indented.

fixes: #16289
closes: #16293

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Jim Zhou <csd_189@163.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-26 10:36:56 +01:00
9739086de2 runtime(vim): Use supported syntax in indent tests
For now, prefer mis-indentation of enum values (see #16289)
rather than invalid syntax.

Related to #13670 and #14224.

closes: #16292

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-25 10:18:15 +01:00
4ce1cb5bf1 runtime(graphql): contribute vim-graphql to Vim core
Contribute the core of my vim-graphql project (ftplugin, indent, syntax)
to the Vim project. This replaces the basic ftplugin support that was
already in the runtime with a more complete set of filetype settings. I
can assume maintainership for all of these files.

I'll continue to maintain the higher-level embedded filetype support
separately (in vim-graphql) for now, because it's fairly complex, but we
can consider integrating that code directly into vim later.

runtime files use the MIT license.

closes: #16273

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-23 09:57:42 +01:00
b66cac1a8e runtime(typst): add definition lists to formatlistpat, update maintainer
closes: #16192

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-09 20:31:04 +01:00
0acd3abfad runtime(sh): better function support for bash/zsh in indent script
closes: #16052

Signed-off-by: Lukas Zapletal <lzap+git@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-14 21:52:44 +01:00
8e013b1421 runtime(racket): update Racket runtime files
This brings the included Racket runtime files to commit c41bc5a (indent
for[*]/lists with accumulator clause correctly, 2024-11-12) of
https://github.com/benknoble/vim-racket.

Note that not all files from that repository are included.

closes: #16046

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-13 19:45:38 +01:00
5ca8f223f0 runtime(idris2): include filetype,indent+syntax plugins for (L)Idris2 + ipkg
closes: #15993

Co-authored-by: Christian Clason <ch.clason+github@icloud.com>
Signed-off-by: Serhii Khoma <srghma@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-12 21:52:20 +01:00
7724d621f2 runtime(vim): Fix indent after :silent! function
See 35699f1749 (commitcomment-148816912)

closes: #16009

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-10 20:36:28 +01:00
9fd5d9674f patch 9.1.0833: CI: recent ASAN changes do not work for indent tests
Problem:  CI: recent ASAN changes do not work for indent tests
Solution: Move code to runtime/indent/testdir/runtest.vim
          (Aliaksei Budavei)

closes: #15981

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-11-03 09:15:35 +01:00
203c7225f5 CI: huge linux builds should also run syntax & indent tests
closes: #15960

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-29 20:27:34 +01:00
150b5078ac runtime(hcl,terraform): Add runtime files for HCL and Terraform
closes: #15618

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-04 22:19:45 +02:00
c6ed816761 runtime(yaml): do not re-indent when commenting out lines
It's a personal annoyance for me. I have to edit yaml files on a lot of
customer environments and whenever you type '#' at the start of the
line, the commented line will be indented by whatever indent the
previous line had.

I hate this seriously, because it makes un-commenting painful. So let's
fix this. But instead of messing with the indent function, let's just
remove the '0#' from cinkeys, so that Vim won't perform re-indenting
when commenting out such a yaml file.

closes: #15494

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-15 22:29:47 +02:00
39eff4cdc0 runtime(proto): Add indent script for protobuf filetype
closes: #15446

Signed-off-by: David Pedersen <limero@me.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-07 21:23:59 +02:00
c0f7505ede runtime(lua): add/subtract a 'shiftwidth' after '('/')' in indentexpr
Problem:

- Current lua indentexpr does not indent for '(' ')'.
- Missing indent test for lua.

Solution:

- Match '(', ')' in `function GetLuaIndentIntern`.
- Add an indent test for lua.

closes: #15364

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-08-04 18:47:25 +02:00
011f2223e5 runtime(thrift): add ftplugin, indent and syntax scripts
Problem: Apache Thrift files misses ftplugin, indent and syntax scripts

Solution:
- add ftplugin and indent scripts
- add thrift indent test
- port the syntax script from apache/thrift (Apache License 2)

Reference:
https://diwakergupta.github.io/thrift-missing-guide/#_language_reference

closes: #15387

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-29 20:51:05 +02:00
e4b991ed36 patch 9.1.0610: filetype: OpenGL Shading Language files are not detected
Problem:  filetype: OpenGL Shading Language files are not detected
Solution: detect various file extensions as GLSL filetype, include
          indent and syntax script, do no longer recognize '*.comp'
          as Mason filetype (Gregory Anders)

closes: #15317

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-22 20:33:48 +02:00
1cc4cae961 runtime(typst): Add typst runtime files
closes: #15234

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-15 20:00:48 +02:00
700cf8cfa1 patch 9.1.0586: ocaml runtime files are outdated
Problem:  ocaml runtime files are outdated
Solution: sync those files with the upstream repo,
          detect a few more ocaml files
          (Yinzuo Jiang)

closes: #15260

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-14 17:02:33 +02:00
cb7928812e runtime(vim): make &indentexpr available from the outside
closes: #14936

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-12 20:02:31 +02:00
fc533c9f06 runtime(mojo): include mojo ftplugin and indent script
Taken from excerpts of the Python ftplugin and adapted,
indent script simply sources the python indent script.

closes: #15171

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-11 22:51:48 +02:00
11d5992573 runtime(rust): use shiftwidth() in indent script
closes: #15138

Signed-off-by: novenary <novenary@kwak.zip>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 19:11:16 +02:00
cd33faf614 patch 9.1.0527: inconsistent parameter in Makefiles for Vim executable
Problem:  inconsistent parameter in Makefiles for Vim executable
Solution: consistently use $VIMPROG across all Makefiles
          (RestorerZ)

closes: #15099

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:48:01 +02:00
17e0a1969d runtime(scheme): update runtime files
Add TODO highlighting, disable text-wrapping, add "define-library" to
lispwords on CHICKEN. Update MAINTAINERS.

closes: #15063

Signed-off-by: Evan Hanson <evhan@foldling.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-21 07:49:39 +02:00
79da22de75 runtime(kdl): fix KdlIndent and kdlComment in indent script (#15019)
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-16 08:47:47 +02:00
2e3b2a8d89 runtime(kdl): use shiftwidth() instead of &tabstop in indent script
closes: #14962

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-11 19:07:16 +02:00
2d88210b3c runtime(kdl): include syntax, indent and ftplugin files
closes: #14956

Co-authored-by: Aram Drevekenin <aram@poor.dev>
Signed-off-by: inzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-06-10 21:13:56 +02:00
76174e7110 runtime(asm): remove the indent plugin since it has too many issues
fixes: #14791

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-26 18:04:19 +02:00
35dfe58a54 patch 9.1.0442: hare runtime files outdated
Problem:  hare runtime files outdated
Solution: runtime(hare): update hare.vim to match upstream
          (Amelia Clarke)

closes: #14836

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 08:05:00 +02:00
af2254d2f3 runtime(vb): update vb indent plugin as vim9script
Include an updated vb indent script using vim9script.
Also update the runtime indent test files

Signed-off-by: Michael Soyka <mssr953@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:38:10 +02:00
957d903cb7 runtime(arduino): Add Arduino ftplugin and indent files (#14811)
We already have Arduino syntax file, but we didn't have ftplugin and
indent files.

This commit adds a basic ftplugin file and a basic indent file.
Both of them are derived from {ftplugin,indent}/c.vim.

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:13:35 +02:00
2d919d2744 patch 9.1.0386: filetype: stylus files not recognized
Problem:  filetype: stylus files not recognized
Solution: Detect '*.styl' and '*.stylus' as stylus filetype,
          include indent, filetype and syntax plugin
          (Philip H)

closes: #14656

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 18:42:11 +02:00
2e9b9e9a9e runtime(asm): missing setlocal in indent plugin (#14658)
Signed-off-by: Marc Sven Schulte <167623652+msschulte@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 21:43:03 +02:00
98b12ede31 runtime(asm): fix undefined variable in indent plugin
It's an indent script, so we need to set the  b:undo_indent variable
instead of the b:undo_ftplugin var.

fixes: #14602

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 22:42:05 +02:00
d3ff129ce8 runtime(astro): Add filetype, syntax and indent plugin
related: #14558
closes: #14561

ported from: https://github.com/wuelnerdotexe/vim-astro

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 15:50:31 +02:00
27f17a6d34 runtime(asm): add basic indent support
closes: #14383

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:48:57 +02:00
63833bb021 runtime(json5): add basic indent support (#14298)
Signed-off-by: Rocco Mao <dapeng.mao@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 19:02:44 +01:00