| Age | Commit message (Collapse) | Author | Files |
|
Problem: Calling `vim.filetype.match({ filename = '...', buf = ... })`
during startup results in an error due to not yet defined
`g:ft_ignore_pat`.
Solution: Add a guard to check `g:ft_ignore_pat` related properties only
if the variable is defined. This also allows to simplify other tests
which did not depend on `g:ft_ignore_pat` but required it explicitly
set to work.
|
|
Problem: filetype: not all Bitbake include files are recognized
Solution: Enhance the file detection logic and consider varflags
(Martin Schwan)
closes: vim/vim#19983
https://github.com/vim/vim/commit/0e02be191909df88a8d6ef0a1b091c67c49b1888
Co-authored-by: Martin Schwan <m.schwan@phytec.de>
|
|
Problem: filetype: uv scripts are not detected
(Asger Hautop Drewsen)
Solution: Detect uv scripts as python filetype if the shebang line
contains "uv run"
Reference:
https://docs.astral.sh/uv/guides/scripts/#using-a-shebang-to-create-an-executable-file
fixes: vim/vim#19941
https://github.com/vim/vim/commit/6c16ccaf6101a5a4fa28df9ca31e0bf871541aa4
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
(#38731)
Problem: filetype: not all ObjectScript routines are recognized
Solution: Also detect "%RO" and "iris" patterns inside *.rtn files
(Hannah Kimura)
closes: vim/vim#19873
https://github.com/vim/vim/commit/863e85e00ad45f3e1f939cf9774c33b0570b9948
Co-authored-by: Hannah <hannah.kimura@intersystems.com>
|
|
Problem: filetype: ObjectScript routines are not recognized
Solution: Add ObjectScript routines detection for .mac, .int, and .inc
files (Hannah Kimura)
Reference:
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GORIENT_ch_intro#GORIENT_intro_routines
closes: vim/vim#19805
https://github.com/vim/vim/commit/25f6539645d805295b11253c7bd8632aa20604f4
Co-authored-by: Hannah Kimura <hannah.kimura@intersystems.com>
|
|
Problem: filetype: ObjectScript are not recognized
Solution: Add ObjectScript filetype detection for *.cls files
(Hannah Kimura)).
Reference:
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_intro
closes: vim/vim#19668
https://github.com/vim/vim/commit/b11c8efbe6981076194e00323737780330cfd0a1
Co-authored-by: Hannah <hannah.kimura@intersystems.com>
|
|
false #37593
Problem: when option value is false, it's treated as invalid
then trigger FileType event again
Solution: use cached false value
|
|
Although powerful -- especially with chained modifiers --, the
readability (and therefore maintainability) of `fnamemodify()` and its
modifiers is often worse than a function name, giving less context and
having to rely on `:h filename-modifiers`. However, it is used plenty in
the Lua stdlib:
- 16x for the basename: `fnamemodify(path, ':t')`
- 7x for the parents: `fnamemodify(path, ':h')`
- 7x for the stem (filename w/o extension): `fnamemodify(path, ':r')`
- 6x for the absolute path: `fnamemodify(path, ':p')`
- 2x for the suffix: `fnamemodify(path, ':e')`
- 2x relative to the home directory: `fnamemodify(path, ':~')`
- 1x relative to the cwd: `fnamemodify(path, ':.')`
The `fs` module in the stdlib provides a cleaner interface for most of
these path operations: `vim.fs.basename` instead of `':t'`,
`vim.fs.dirname` instead of `':h'`, `vim.fs.abspath` instead of `':p'`.
This commit refactors the runtime to use these instead of fnamemodify.
Not all fnamemodify calls are removed; some have intrinsic differences
in behavior with the `vim.fs` replacement or do not yet have a
replacement in the Lua module, i.e. `:~`, `:.`, `:e` and `:r`.
|
|
Problem: A few more typos in various files
Solution: Fix those (zeertzjq, antonkesy)
related: neovim/neovim#37348
closes: vim/vim#19153
https://github.com/vim/vim/commit/6a2b5b2246833f7922e38eabab7090e29e89c3a1
Co-authored-by: Anton Kesy <anton@kesy.de>
|
|
Problem: bpftrace files are not recognized from the hashbang line.
Solution: Add a hashbang check (Stanislaw Gruszka)
closes: vim/vim#18992
https://github.com/vim/vim/commit/f2814754c0cd39875adcadffcb73206a83a46099
Co-authored-by: Stanislaw Gruszka <stf_xl@wp.pl>
|
|
recognized (#36868)
Problem: filetype: Erlang application resource files are not recognized
Solution: Add content-based filetype detection for application resource
files matching extension '*.app' (Doug Kearns)
related: vim/vim#18835
closes: vim/vim#18842
https://github.com/vim/vim/commit/cf5c25526007a5cc39be317b023f55cb266d5ed2
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
|
Problem: filetype: .inc file detection can be improved
Solution: Update filetype detection for Pascal and BitBake code
(Martin Schwan).
Fix the detection of .inc files containing Pascal and BitBake code:
- the concatenated string, merged from three lines, only contains one
beginning and the pattern "^" would not match as expected. Use a range()
loop to iterate each line string individually. This way, the pattern "^"
works for beginning of lines.
- improve BitBake include file detection by also matching forward-slashes
"/" in variable names and assignment operators with a dot ".=" and "=.".
Valid examples, which should match, are:
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
MACHINEOVERRIDES =. "qemuall:"
BBPATH .= ":${LAYERDIR}"
- parse twenty instead of just three lines, to accommodate for potential
comments at the beginning of files
closes: vim/vim#18202
https://github.com/vim/vim/commit/9fd1a657d2efae5cff278eb5acaa380623a50cf6
Co-authored-by: Martin Schwan <m.schwan@phytec.de>
|
|
Problem: filetype: fvwm2m4 files are no longer recognized
(after 9.1.1687).
Solution: Add a special case in m4 filetype detection (zeertzjq).
closes: vim/vim#18146
https://github.com/vim/vim/commit/5355e81868ea9e6a14eeba4b9140aa1bf239fb65
Co-authored-by: Damien Lejay <damien@lejay.be>
|
|
Problem: filetype: autoconf filetype not always correct
Solution: Detect aclocal.m4 as config filetype, detect configure.ac as
config filetype, fall back to POSIX m4 (Damien Lejay).
closes: vim/vim#18065
https://github.com/vim/vim/commit/2b55474f0a78bd252290578a5774316dc5f60180
Co-authored-by: Damien Lejay <damien@lejay.be>
|
|
Problem: diff format erroneously detected
(Tomáš Janoušek)
Solution: Make the regex to detect normal diff format a bit stricter,
while at it, fix wrong test content from patch v9.1.1606
fixes: vim/vim#17946
https://github.com/vim/vim/commit/887b4981e7e929ce8676b1b524e47a7fb5a8288b
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
Problem: filetype: a few more files are not recognized
Solution: guess Mail, Info and Terminfo files by its content
(lacygoill)
closes: vim/vim#17880
https://github.com/vim/vim/commit/eb2aebeb7982168ece3888c9c0b08fc46f9d4d15
Co-authored-by: lacygoill <lacygoill@lacygoill.me>
|
|
FTasmsyntax() (#34863)
fixes: vim/vim#17474
closes: vim/vim#17683
https://github.com/vim/vim/commit/32a1b26ef3e821de9b5c518829b08002e933fa5a
vim-patch:41ee98c: runtime(filetype): fix incorrect pattern and break early
- Using `\n` is incorrect, as result of getline() does not contain line
breaks and only uses `\n` for NUL bytes.
- Return when b:asmsyntax is set, like many other filetypes.
closes: vim/vim#17706
https://github.com/vim/vim/commit/41ee98c3c5342867cb99dfcddbe8d53caeda22db
Co-authored-by: Wu Yongwei <wuyongwei@gmail.com>
|
|
Problem: filetype: autopkgtest files are not recognized
Solution: detect */debian/tests/control files as autopkgtest filetype
(James McCoy)
Autopkgtest is a Debian tool for testing installed versions of packages
when other, related packages are updated.
Reference:
- https://www.debian.org/doc/debian-policy/autopkgtest.txt
related: vim/vim#17679
https://github.com/vim/vim/commit/5bcc492649f2d810577dd8dc4e1fb92f548847eb
Co-authored-by: James McCoy <jamessan@jamessan.com>
|
|
Problem: filetype: not all lex files are recognized
Solution: detect *.ll as lex, llvm or lifelines filetype, depending on
the content (Eisuke Kawashima)
closes: vim/vim#17560
https://github.com/vim/vim/commit/48295111e578e2158c6234510f12081de4757c52
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
|
Type fixes caught by emmylua
|
|
Problem: Shebang filetype detection can be improved
Solution: Improve detection logic (Eisuke Kawashima)
Vim does not correctly detect filetype from
- `#!/usr/bin/env --split-string=awk -f`
- `#!/usr/bin/env -S -i awk -f`
- `#!/usr/bin/env -S VAR= awk -f`
So update the current detection logic to detect those cases.
closes: vim/vim#17199
https://github.com/vim/vim/commit/f102f4c2e80f5493a02a7b1130f11615d60b6295
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
|
Problem: Error when `vim.filetype.match` a buffer with suffix `sh`.
Solution: fallback to an empty string as buffer content.
|
|
* refactor(docs): remove `@private` annotations from local functions
* refactor(docs): remove unnecessary `@nodoc` annotations
|
|
Problem: filetype: nroff detection can be improved
Solution: improve nroff detection (Eisuke Kawashima)
- explicitly check roff comments and macros typically found in manpages
- do not try to detect alphabetically-sectioned files, except for n, as
nroff
- l: > 'l' happens to be a section for historical reasons
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391977>
- n: e.g. /usr/share/man/mann/Tcl.n.gz
- o: unsure (perhaps fedora-specific)
- p: unsure (perhaps fedora-specific)
closes: vim/vim#17160
https://github.com/vim/vim/commit/2cb42efc18e46402ac84fd51afe54bb48be8aea7
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
|
Problem: filetype: some man files are not recognized
(e.g. 1p (POSIX commands))
Solution: update the filetype detection pattern and detect more man
files as nroff (Eisuke Kawashima)
- sections are revised referring to
- debian-12:/etc/manpath.config
- fedora-41:/etc/man_db.conf
- detection logic is improved
- detection test is implemented
closes: vim/vim#17117
https://github.com/vim/vim/commit/babdb0554a44a5e406a499bf8c315e660b2a028e
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
|
|
(#33498)
Problem: GNU extensions, such as `ifeq` and `wildcard` function, are
highlighted in BSDmakefile
Solution: detect BSD, GNU, or Microsoft implementation according to
filename, user-defined global variables, or file contents
closes: vim/vim#17089
https://github.com/vim/vim/commit/f35bd76b31e6cd62bcc47e401887059b8503c5cc
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Co-authored-by: Roland Hieber <rohieb@users.noreply.github.com>
|
|
robust (#33421)
closes: vim/vim#17063
https://github.com/vim/vim/commit/5c84d12df104e976e8f56c43f9f975e54d9fd779
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
|
|
Co-authored-by: Dustin S. <dstackmasta27@gmail.com>
Co-authored-by: Ferenc Fejes <fejes@inf.elte.hu>
Co-authored-by: Maria José Solano <majosolano99@gmail.com>
Co-authored-by: Yochem van Rosmalen <git@yochem.nl>
Co-authored-by: brianhuster <phambinhanctb2004@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
detection
so make the regex more strict and have it check for a parenthesis.
See:
https://github.com/vlang/v/blob/master/examples/submodule/mymodules/submodule/sub_functions.v
related: vim/vim#16513
https://github.com/vim/vim/commit/fb49e3cde79de4ce558c86d21a56eb9d60aeabd5
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
for modules definition
While at it, also increase the maximum number of lines to check to 500.
fixes: vim/vim#16513
https://github.com/vim/vim/commit/99181205c5f8284a30f839107a12932924168f17
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
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: vim/vim#16466
https://github.com/vim/vim/commit/72755b3c8e91ec90447969b736f080e0de36003d
Co-authored-by: Peter Benjamin <petermbenjamin@gmail.com>
|
|
Problem: filetype: setting bash filetype is backwards incompatible
Solution: revert patch v9.1.0965, detect bash scripts again as sh
filetype
This reverts commit b9b762c21f2b61e0e7d8fee43d4d3dc8ecffd721.
related: vim/vim#16309
https://github.com/vim/vim/commit/727c567a0934643e2d6e1dd92d4e636b17d9067f
Co-authored-by: Christian Brabandt <cb@256bit.org>
vim-patch:9.1.1033: tests: shaderslang was removed from test_filetype erroneously
Problem: tests: shaderslang was removed from test_filetype erroneously
(Christian Clason, after v9.1.1030)
Solution: restore the test
https://github.com/vim/vim/commit/1d2867df0c5dfa3d2444229f9e4b23d6ff935956
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
angular
fixes: vim/vim#16375
https://github.com/vim/vim/commit/668e9f24037fc7c362ffdf5fc1d5c5b1a8b0e855
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
Problem: filetype: TI assembly files are not recognized
Solution: inspect '*.sa' and assembly files and detect TI assembly
files, include filetype plugin and syntax script for TI
assembly files (Wu, Zhenyu)
closes: vim/vim#15827
https://github.com/vim/vim/commit/4f73c07abff420bad9fa5befc2c284c00b984993
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
Problem: TI linker files are not recognized
Solution: inspect '*.cmd' files and detect TI linker files
as 'lnk' filetype, include a lnk ftplugin and syntax
script (Wu, Zhenyu)
closes: vim/vim#16320
https://github.com/vim/vim/commit/39a4eb0b2ca901b59800fad086550053556e59dc
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
(#31749)
Problem: filetype: sh filetype set when detecting the use of bash
Solution: when bash is detected, use 'bash' filetype instead
(Luca Saccarola)
closes: vim/vim#16309
https://github.com/vim/vim/commit/b9b762c21f2b61e0e7d8fee43d4d3dc8ecffd721
|
|
Problem: filetype: debian control file not detected
Solution: detect 'debian/control' files as debcontrol filetype
(author)
closes: vim/vim#16067
https://github.com/vim/vim/commit/57b947e3c3b8d52b914158979263855d785445d5
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
Problem: filetype: openCL files are not recognized
Solution: detect '*.cl' files as opencl or lisp filetype,
include a opencl syntax and filetype plugin (Wu, Zhenyu)
closes: vim/vim#15825
https://github.com/vim/vim/commit/e2c27ca8eff7cc8ec852b531d5a7f328a343a761
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
Problem: filetype: LLVM IR files are not recognized
Solution: detect '*.ll' files either as lifelines or llvm filetype
(Wu, Zhenyu)
closes: vim/vim#15824
https://github.com/vim/vim/commit/bc32bbddcfc2671158a4780838766ed2d1e14fa6
N/A patch:
vim-patch:7e4b861: runtime(filetype): remove duplicated *.org file pattern
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
Problem: filetype: SuperHTML template files not recognized
Solution: Update the filetype detection code to detect '*.shtml' either
as HTML (Server Side Includes) or SuperHTML (template files)
(EliSauder)
related: vim/vim#15355
related: vim/vim#15367
https://github.com/vim/vim/commit/e57c9a19edc906a96ccb8821ae33fa6a8b20c3cd
Co-authored-by: EliSauder <24995216+EliSauder@users.noreply.github.com>
|
|
(#29874)
Problem: filetype: Make syntax highlighting off for MS Makefiles
Solution: Try to detect MS Makefiles and adjust syntax rules to it.
(Ken Takata)
Highlighting of variable expansion in Microsoft Makefile can be broken.
E.g.:
https://github.com/vim/vim/blob/2979cfc2627d76a9c09cad46a1647dcd4aa73f5f/src/Make_mvc.mak#L1331
Don't use backslash as escape characters if `make_microsoft` is set.
Also fix that `make_no_comments` was not considered if `make_microsoft`
was set.
Also add description for `make_microsoft` and `make_no_comments` to the
documentation and include a very simple filetype test
closes: vim/vim#15341
https://github.com/vim/vim/commit/eb4b903c9b238ebcc1d14cfcb207129b4931a33d
Co-authored-by: Ken Takata <kentkt@csc.jp>
|
|
Problem: filetype: Prolog detection can be improved
Solution: update the prolog detection regex
(igna_martinoli)
related: vim/vim#10835
related: vim/vim#15206
closes: vim/vim#15253
https://github.com/vim/vim/commit/37853b7de31ef34153fe76aa2b740d517ed0e5d4
N/A patch:
vim-patch:7347642: runtime(filetype): Fix Prolog file detection regex
Problem: filetype: .pro file detection for Prolog is broken
Solution: fixed the regex to only match on the tested
cases (igna_martinoli)
fixes: vim/vim#10835
closes: vim/vim#15206
https://github.com/vim/vim/commit/7347642633eb2de23a78c51a4388c9080440eec4
Co-authored-by: igna_martinoli <ignamartinoli@protonmail.com>
Co-authored-by: clason <c.clason@uni-graz.at>
|
|
Problem: filetype: angular ft detection is still problematic
(after 9.1.0551)
Solution: detect htmlangular filetype only by inspecting the content,
do not try to determine it from a generic name like
'*.component.html'
For the reasons mentioned here:
https://github.com/vim/vim/pull/13594#issuecomment-1834465890
related: vim/vim#15190
related: vim/vim#13594
related: vim/vim#13604
https://github.com/vim/vim/commit/c03f631b7b01e672787b222a55898f8dcac8d859
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
Problem: filetype: htmlangular files are not properly detected
Solution: Use the new htmlangular filetype for angular files, because
since angular v17, those are no longer valid HTML files.
(Dennis van den Berg)
Since Angular 17, the new Control Flow Syntax is not valid HTML. This PR
adds a new filetype detection for the HTML templates of Angular.
It first checks the filename. The Angular convention is to use
*.component.html for the template. However, this is not mandatory.
If the filename does not match, it will check the contents of the file
if it contains:
- One of the Control-Flow blocks: @if, @for, @switch, @defer
- A structural directive: *ngIf, *ngFor, *ngSwitch, *ngTemplateOutlet
- Builtin Angular elements: ng-template or ng-content
- String interpolation: {{ something }}
This enables the Angular LSP to attach only to htmlangular filetypes, as
well as language parsers, such as tree-sitter.
closes: vim/vim#15190
https://github.com/vim/vim/commit/1ad194c0dfd82ca1e7a1b6f2fca89a487794158d
Co-authored-by: Dennis van den Berg <dennis.vandenberg@nedap.com>
|
|
Adds ftplugin support for tf (TinyFugue). Comment support taken from
[here](https://github.com/kruton/tinyfugue/blob/1e8ac0bb014036c07bb3c679b0292ef20a6a0bb5/src/command.c#L568)
closes: vim/vim#15168
https://github.com/vim/vim/commit/94c1c6638a652cbe21b4d25ae5f26078e2e633d7
Co-authored-by: Riley Bruins <ribru17@hotmail.com>
|
|
This mostly means replacing `nvim_buf_call` and `nvim_win_call` with
`vim._with`.
|
|
Problem: filetype: Faust files are not recognized
Solution: Detect '*.lib' files as Faust filetype, add detection for
'*.dsp' files (Faust or Make), remove '*.lib' from Cobol
filetype (PowerUser64)
closes: vim/vim#14894
https://github.com/vim/vim/commit/aa61b8a9087e9cd999ef07e0d87b60f43d68f2c6
Co-authored-by: PowerUser64 <blake@blakenorth.net>
|
|
- update tags to detect djangohtml based on
https://docs.djangoproject.com/en/5.0/ref/templates/builtins/#built-in-tag-reference
- increase the lines to inspect to 40 lines
10 lines is too few and might result in high false negative.
Increasing it to 40 lines should reduce the false negative.
closes: vim/vim#15037
https://github.com/vim/vim/commit/9718ed7ab989c0a0be88a0d749f24321eb0e6af1
Co-authored-by: Afiq Nazrie <afnazrie@gmail.com>
|