| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: Asymptote files are not recognized
Solution: detect '*.asy' files as asy filetype, include
ftplugin and syntax plugin (AvidSeeker).
Reference: https://asymptote.sourceforge.io/
closes: vim/vim#15252
https://github.com/vim/vim/commit/3088ef094da721dac8c0363a6c9e14eaf9313929
Co-authored-by: AvidSeeker <avidseeker7@protonmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: Mediawiki files are not recognized
Solution: detect "*.mw" and "*.wiki" as mediawiki filetype,
include basic syntax and filetype plugins.
(AvidSeeker)
closes: vim/vim#15266
https://github.com/vim/vim/commit/b5844104ab1259e061e023ea6259e4eb002e7170
Co-authored-by: AvidSeeker <avidseeker7@protonmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: *.wl files are not recognized
Solution: Detect '*.wl' files as Mathematica package files
(Jonas Dujava)
closes: vim/vim#15269
https://github.com/vim/vim/commit/c6d7dc039342fbe1cf432c7f8e7e391063de210b
Co-authored-by: Jonas Dujava <jonas.dujava@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
closes: vim/vim#15265
https://github.com/vim/vim/commit/df62c62177bd4dffce880b7a5711594865090953
Co-authored-by: Dominique Pellé <dominique.pelle@gmail.com>
|
| |
|
|
|
|
| |
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: ocaml runtime files are outdated
Solution: sync those files with the upstream repo,
detect a few more ocaml files
(Yinzuo Jiang)
closes: vim/vim#15260
https://github.com/vim/vim/commit/700cf8cfa1e926e2ba676203b3ad90c2c2083f1d
Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: *.pdf_tex files are not recognized
Solution: Detect '*.pdf_tex' files as tex filetype
(Jonas Dujava)
Those files are generated by inkscape, when exporting, see e.g.
https://inkscape.org/doc/inkscape-man.html
closes: vim/vim#15250
https://github.com/vim/vim/commit/28145e005d646cb0477aa26ef69d0f651a9f9d27
Co-authored-by: Jonas Dujava <jonas.dujava@gmail.com>
|
|\
| |
| | |
refactor(filetype): extract some functions, use more cache
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: due to single list of sorted patterns, their matching inside
`vim.filetype.match()` was done very similarly but with extra checks
to stop processing negative priority patterns before extensions.
Solution: create separated sorted lists for patterns with non-negative
and negative priorities. This allows to process them in a single
extracted function making the main codeflow a bit nicer and more
easily expandable.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Problem: cannot specify tab page closing behaviour
(Gianluca Pacchiella)
Solution: Add the 'tabclose' option (LemonBoy).
fixes: vim/vim#5967
closes: vim/vim#15204
https://github.com/vim/vim/commit/5247b0b92e191a046b034171a3b34031e317735f
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot expand paths from 'cdpath' setting
(Daniel Hahler)
Solution: Implement 'cdpath' completion, add the new 'dir_in_path'
completion type (LemonBoy)
fixes vim/vim#374
closes: vim/vim#15205
https://github.com/vim/vim/commit/a20bf69a3b32024cb7809be87af33bf9dc490a19
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: *.mcmeta files are not recognized
Solution: Detect '*.mcmeta' files as json filetype
(Tomodachi94)
"pack.mcmeta" was added to the JSON tests because that is the most common
filename with that extension.
There are currently 34,000 instances of this file extension on GitHub:
https://github.com/search?q=path%3A*.mcmeta&type=code&p=2
.zip files with this extension have downloads in the millions on sites
like CurseForge:
https://www.curseforge.com/minecraft/search?page=1&pageSize=20&sortBy=relevancy&class=texture-packs
Further reading about the file extension:
https://minecraft.wiki/w/Tutorials/Creating_a_resource_pack#Creating_a_.MCMETA_file
closes: vim/vim#15189
https://github.com/vim/vim/commit/d33a518025765c4a3530ad6cfb6cab83a30c8f55
Co-authored-by: Tomodachi94 <tomodachi94@protonmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: antlr4 files are not recognized
Solution: Detect '*.g4' as antlr4 filetype, include a simple antlr4
syntax and filetype plugin (Yinzuo Jiang)
closes: vim/vim#15191
https://github.com/vim/vim/commit/4a7a4a3675b6ad90a525524ba4684925df212325
Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: No way to get the arity of a Vim function
(Austin Ziegler)
Solution: Enhance get() Vim script function to return the function
argument info using get(func, "arity") (LemonBoy)
fixes: vim/vim#15097
closes: vim/vim#15109
https://github.com/vim/vim/commit/48b7d05a4f88c4326bd5d7a73a523f2d953b3e51
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
| |
(#29593)
|
|
|
| |
Unlike vim.fn.expand(), vim.fs.normalize() doesn't expand wildcards.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#29596)
Problem: `vim.filetype.match()` tries to match on contents even if there
is no contents (empty buffer or `{''}` explicit contents).
This results in extra avoidable execution duration for cases.
It matters, for example, when trying to match filetype based solely
on file name (which still needs `contents` or `buf` to properly match
earlier in the code path).
Solution: skip matching based solely on contents if it is `{''}`. This
works because:
- Matching solely on content is done after any user-configured
`vim.filetype.add()` hooks.
- All default matching on content might depend on supplied path
*only* if there is non-empty content (like in
`require('vim.filetype.detect').match_from_hashbang()`).
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Exiting the insert mode with ctrl-c does not trigger InsertLeave
autocmd. This may lead to nil error in treesitter foldexpr.
Solution:
Check nil. Folds still can be stale after exiting the insert mode with
ctrl-c, but it will be eventually updated correctly.
An alternative solution would be to ensure that exiting the insert mode
always triggers do_foldupdate. This can be done either by "fixing"
ctrl-c or with on_key callback that checks ctrl-c (nvim-cmp does this).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: ldapconf files are not recognized
Solution: Detect '.ldaprc', 'ldap.conf' and 'ldaprc' files as ldapconf
filetype, include a simple ldapconf ftplugin file
(Riley Bruins)
[Specification](https://www.openldap.org/software//man.cgi?query=ldap.conf&sektion=5&apropos=0&manpath=OpenLDAP+2.4-Release)
closes: vim/vim#15176
https://github.com/vim/vim/commit/62f31e949918167cb7f50cdf1737f7c28460b62b
Co-authored-by: Riley Bruins <ribru17@hotmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Problem: Unused assignment in sign_define_cmd()
Solution: Remove the assignment. Also document the "priority" flag of
sign_define(). (zeertzjq)
closes: vim/vim#15169
https://github.com/vim/vim/commit/fc3f5dba52099d82ccc8bfe309d58a6fac01373d
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#29592)
Problem: not possible to assign priority when defining a sign
(Mathias Fußenegger)
Solution: Add the priority argument for the :sign-define ex command and
the sign_define() function (LemonBoy)
Use the specified value instead of the default one (SIGN_DEF_PRIO) when
no priority is explicitly specified in sign_place or :sign place.
fixes: vim/vim#8334
closes: vim/vim#15124
https://github.com/vim/vim/commit/b975ddfdf96644b8df808415dee36f99abd48753
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: zone files are not recognized
(rpdprd)
Solution: Detect '*.zone' files as bindzone filetype
fixes: vim/vim#14222
https://github.com/vim/vim/commit/f095539b3900d76f5eeaaa0897c6abf970829b31
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#29590)
Problem: signed number detection for CTRL-X/A can be improved
(Chris Patuzzo)
Solution: Add the new "blank" value for the 'nrformat' setting. This
will make Vim assume a signed number only if there is a blank
in front of the sign.
(distobs)
fixes: vim/vim#15033
closes: vim/vim#15110
https://github.com/vim/vim/commit/25ac6d67d92e0adda53b8d44b81c15031643ca1e
Co-authored-by: distobs <cuppotatocake@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch replaces fswatch with inotifywait from inotify-toools:
https://github.com/inotify-tools/inotify-tools
fswatch takes ~1min to set up recursively for the Samba source code
directory. inotifywait needs less than a second to do the same thing.
https://github.com/emcrisostomo/fswatch/issues/321
Also it fswatch seems to be unmaintained in the meantime.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
|
|
|
|
| |
Use Cmt to evaluate Cond and Elem during match to avoid building the
nested capture structure later.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: Cedar files not recognized
Solution: Detect '*.cedar' files as cedar filetype
(Riley Bruins)
References: https://github.com/cedar-policy
closes: vim/vim#15148
https://github.com/vim/vim/commit/15addb24dd3b2645f5c04d2742ab5eb53444a3a0
Co-authored-by: Riley Bruins <ribru17@hotmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: the code and docs for vim.diagnostic.JumpOpts.float send mixed
signals about what the default should be. When the option is first set,
in the global_diagnostic_options table, the comment clearly says that
the default is false. Later in the code, in goto_diagnostic, there's
a line that sets the default to true if no default is present. Finally,
the docs say that the default is true.
Solution: Change the docs to reflect the new default of false and fix
the goto_diagnostic function.
|
|
|
|
|
| |
Lua 5.1 uses a "raw get" to retrieve `__call` from a metatable to
determine if a table is callable. Mirror this behavior in
`vim.is_callable()`.
|
|
|
|
|
|
|
|
| |
Problem:
Error when calling vim.treesitter.start() and vim.treesitter.stop() in
init.lua.
Solution:
Ensure syntaxset augroup exists after loading synload.vim.
|
|
|
|
| |
(#29522)
|
|
|
|
| |
Problem: Cannot opt out of removing unloaded buffers from the jumplist.
Solution: Only enable that with "unload" flag in 'jumpoptions'.
|
|
|
|
|
| |
This mostly means replacing `nvim_buf_call` and `nvim_win_call` with
`vim._with`.
|
|\
| |
| | |
refactor(typval)!: remove binary distinction of binary and nonbinary strings
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a breaking change which will make refactor of typval and shada
code a lot easier. In particular, code that would use or check for
v:msgpack_types.binary in the wild would be broken. This appears to be
rarely used in existing plugins.
Also some cases where v:msgpack_type.string would be used to represent a
binary string of "string" type, we use a BLOB instead, which is
vimscripts native type for binary blobs, and already was used for BIN
formats when necessary.
msgpackdump(msgpackparse(data)) no longer preserves the distinction
of BIN and STR strings. This is very common behavior for
language-specific msgpack bindings. Nvim uses msgpack as a tool to
serialize its data. Nvim is not a tool to bit-perfectly manipulate
arbitrary msgpack data out in the wild.
The changed tests should indicate how behavior changes in various edge
cases.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Although the built-in pum completion mechanism will filter anyway on the
next input it is odd if the initial popup shows entries which don't
match the current prefix.
Using fuzzy match on the label/prefix is compatible with
`completeopt+=fuzzy` and also doesn't seem to break postfix snippet
cases
Closes https://github.com/neovim/neovim/issues/29287
|
| | |
|
| | |
|