| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
* vim-patch:9.0.1478: filetypes for *.v files not detected properly
Problem: Filetypes for *.v files not detected properly.
Solution: Use the file contents to detect the filetype. (Turiiya,
closes vim/vim#12281)
https://github.com/vim/vim/commit/80406c26188219f3773b2e9c49160caeeb386ee2
Co-authored-by: Turiiya <34311583+tobealive@users.noreply.github.com>
Co-authored-by: Jonas Strittmatter <40792180+smjonas@users.noreply.github.com>
|
|
|
|
|
|
|
| |
Problem: Busted configuration files are not recognized.
Solution: Recognize busted configuration files as Lua. (Craig MacEachern,
closes vim/vim#12209)
Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com>
|
| |
|
|
|
|
|
| |
This is a more robust method for tagging a packed table as it completely
eliminates the possibility of mistaking an actual table key as the
packed table tag.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem:
`vim.split('a:::', ':', {trimempty=true})` trims inner empty items.
Regression from 9c49c1047079427ff0a2356cb37302934845108e
Solution:
Set `empty_start=false` when first non-empty item is found.
close #23212
|
|
|
|
|
|
|
| |
(#23209)
fix(treesitter playground): wrong range of a node displayed in playground
The call parameters order of the function `get_range_str` is flipped for the last two arguments compared to the declaration.
|
|\
| |
| | |
fix(iter): allow table values in iterator pipelines
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was originally meant as a convenience but prevents possible
functionality. For example:
-- Get the keys of the table with even values
local t = { a = 1, b = 2, c = 3, d = 4 }
vim.iter(t):map(function(k, v)
if v % 2 == 0 then return k end
end):totable()
The example above would not work, because the map() function returns
only a single value, and cannot be converted back into a table (there
are many such examples like this).
Instead, to convert an iterator into a map-like table, users can use
fold():
vim.iter(t):fold({}, function(t, k, v)
t[k] = v
return t
end)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If pack() is called with a single value, it does not create a table; it
simply returns the value it is passed. When unpack is called with a
table argument, it interprets that table as a list of values that were
packed together into a table.
This causes a problem when the single value being packed is _itself_ a
table. pack() will not place it into another table, but unpack() sees
the table argument and tries to unpack it.
To fix this, we add a simple "tag" to packed table values so that
unpack() only attempts to unpack tables that have this tag. Other tables
are left alone. The tag is simply the length of the table.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Jenkinsfiles are not recognized as groovy.
Solution: Add a pattern for Jenkinsfiles. (closes vim/vim#12236)
https://github.com/vim/vim/commit/142ffb024dd5123090c2fd02f55702e76520f1df
Co-authored-by: dundargoc <gocdundar@gmail.com>
|
|/
|
|
|
|
|
|
|
| |
Problem: Strace filetype detection is expensive.
Solution: Match with a cheap pattern first. (Federico Mengozzi,
closes vim/vim#12220)
https://github.com/vim/vim/commit/6e5a9f948221b52caaaf106079cb3430c4dd7c77
Co-authored-by: Federico Mengozzi <19249682+fedemengo@users.noreply.github.com>
|
|
|
|
|
| |
vim.iter wraps a table or iterator function into an `Iter` object with
methods such as `filter`, `map`, and `fold` which can be chained to
produce iterator pipelines that do not create new tables at each step.
|
| |
|
|
|
|
| |
- vim.diagnostic.config() now accepts a function for the virtual_text.prefix
option, which allows for rendering e.g., diagnostic severities differently.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: C++ 20 modules are not recognized.
Solution: Add patterns to recognize C++ 20 modules as "cpp". (Ben Jackson,
closes vim/vim#12261)
https://github.com/vim/vim/commit/732d69e1918b28ad0fe16eb9bc5a776c7958122b
Co-authored-by: Ben Jackson <puremourning@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following functions are deprecated and will be removed in
Nvim v0.11:
- health#report_start()
- health#report_info()
- health#report_ok()
- health#report_warn()
- health#report_error()
- vim.health.report_start()
- vim.health.report_info()
- vim.health.report_ok()
- vim.health.report_warn()
- vim.health.report_error()
Users should instead use these:
- vim.health.start()
- vim.health.info()
- vim.health.ok()
- vim.health.warn()
- vim.health.error()
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim.tbl_isarray() (#16440)
feat(lua)!: add stricter vim.tbl_islist(), rename vim.tbl_isarray()
Problem: `vim.tbl_islist` allows gaps in tables with integer keys
("arrays").
Solution: Rename `vim.tbl_islist` to `vim.tbl_isarray`, add new
`vim.tbl.islist` that checks for consecutive integer keys that start
from 1.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* feat(lua): vim.tbl_contains supports general tables and predicates
Problem: `vim.tbl_contains` only works for list-like tables (integer
keys without gaps) and primitive values (in particular, not for nested
tables).
Solution: Rename `vim.tbl_contains` to `vim.list_contains` and add new
`vim.tbl_contains` that works for general tables and optionally allows
`value` to be a predicate function that is checked for every key.
|
|
|
|
| |
Now that we have builtin EditorConfig support and a formatting check in
CI, these are not necessary.
|
| |
|
|
|
|
| |
See `:h diagnostic-structure`, the property name is `bufnr`, not
`buffer`.
|
| |
|
|
|
| |
fix(treesitter): use the correct replacement args for #gsub! directive
|
|
|
|
|
|
|
|
|
|
|
|
| |
The first argument which is non-nil is returned. This is useful when
using nested default values (e.g. in the EditorConfig plugin).
Before:
local enable = vim.F.if_nil(vim.b.editorconfig, vim.F.if_nil(vim.g.editorconfig, true))
After:
local enable = vim.F.if_nil(vim.b.editorconfig, vim.g.editorconfig, true)
|
|
|
| |
Fixes #22911
|
|
|
|
|
|
|
|
| |
Problem:
Codebase inconsistently binds vim.api onto a or api.
Solution:
Use api everywhere. a as an identifier is too short to have at the
module level.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
vim.fs.find(".luacheckrc")
```
c:\\projects\\neovim/.luacheckrc # before
c:/projects/neovim/.luacheckrc # after
```
Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com>
|
|
|
|
|
|
| |
test: replace lfs with luv
luv already pretty much does everything lfs does, so this duplication
of dependencies isn't needed.
|
| |
|
|
|
|
|
|
| |
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: Raphael <glephunter@gmail.com>
Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com>
Co-authored-by: himanoa <matsunoappy@gmail.com>
|
| |
|
| |
|
|
|
| |
use `treesitter.get_range` instead of inline expression
|
|
|
|
|
|
|
|
|
| |
Problem: .fs files are falsely recognized as forth files.
Solution: Check 100 lines for something that looks like forth. (Johan
Kotlinski, closes vim/vim#12219, closes vim/vim#11988)
https://github.com/vim/vim/commit/065088d5549e7711668321cc5a77c9a9b684b142
Co-authored-by: Johan Kotlinski <kotlinski@gmail.com>
|
|
|
|
|
|
| |
Inspector now also includes highlights set in anonymous namespaces.
Close #22732
|
|
|
|
| |
Pass the value of the key being accessed to the create function, to
allow users to dynamically generate default values.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Whenever we run fs_stat() on a path, save this information in the loader
so it can be re-used.
- Loader.loadfile: Remove arguments `hash` as it is no longer needed.
- Loader.loader: Use _G.loadstring instead of Loader.load
This allows plugins to wrap loadstring to inspection and profiling
- factor out read file logic
|
|
|
|
| |
LSP tags are added to the diagnostic as "tags" but referred to as "_tags"
in the diagnostic underline handler
|
| |
|
|
|
|
|
|
| |
The LSP spec supports two tags that can be added to diagnostics:
unnecessary and deprecated. Extend vim.diagnostic to be able to handle
these.
|
|\
| |
| | |
refactor(loader): changes
|
| | |
|
| |
| |
| |
| |
| |
| | |
- Add options argument with an option to expand env vars
- Resolve '//' -> '/'
- Use in vim.loader
|
| | |
|