In the api_info() output:
:new|put =map(filter(api_info().functions, '!has_key(v:val,''deprecated_since'')'), 'v:val')
...
{'return_type': 'ArrayOf(Integer, 2)', 'name': 'nvim_win_get_position', 'method': v:true, 'parameters': [['Window', 'window']], 'since': 1}
The `ArrayOf(Integer, 2)` return type didn't break clients when we added
it, which is evidence that clients don't use the `return_type` field,
thus renaming Dictionary => Dict in api_info() is not (in practice)
a breaking change.
Problem:
It has long been a convention that references to the builtin terminal UI
should mention "tui", not "term", in order to avoid ambiguity vs the
builtin `:terminal` feature. The final step was to rename term.txt;
let's that step.
Solution:
- rename term.txt => tui.txt
- rename nvim_terminal_emulator.txt => terminal.txt
- `gen_help_html.lua`: generate redirects for renamed pages.
**Problem:** `vim.treesitter.get_parser` will throw an error if no parser
can be found.
- This means the caller is responsible for wrapping it in a `pcall`,
which is easy to forget
- It also makes it slightly harder to potentially memoize `get_parser`
in the future
- It's a bit unintuitive since many other `get_*` style functions
conventionally return `nil` if no object is found (e.g. `get_node`,
`get_lang`, `query.get`, etc.)
**Solution:** Return `nil` if no parser can be found or created
- This requires a function signature change, and some new assertions in
places where the parser will always (or should always) be found.
- This commit starts by making this change internally, since it is
breaking. Eventually it will be rolled out to the public API.
Problem:
The headings and help tags overlap when browsing the docs in neovim.io/doc/user/ from a mobile phone.
Solution:
Apply the correct CSS rules so that the headings and help tags wrap
nicely below one another.
This also makes shada reading slightly faster due to avoiding
some copying and allocation.
Use keysets to drive decoding of msgpack maps for shada entries.
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#15097closes: vim/vim#1510948b7d05a4f
Co-authored-by: LemonBoy <thatlemon@gmail.com>
Suggest adding them to news.txt instead.
Also don't ignore changes to intro.txt and sponsor.txt, as they don't
change much these days, and it's necessary to consider whether to
include their changes in Nvim's intro.txt.
This reverts 2875d45e79.
Allowing lintcommit to ignore "fixup" makes it too easy to fixup commits
to be merged on master as the CI won't give any indications that
something is wrong. Contributors can always squash their pull requests
if it annoys them too much.
Problem:
Not using minified version of bootstrap.
Don't need to load normalize with new version of bootstrap.
See https://github.com/neovim/neovim.github.io/pull/350
Solution:
Update link to bootstrap file.
Remove link to normalize.
`vim.health` is not a "plugin" but part of our Lua API and the
documentation should reflect that. This also helps make the
documentation maintenance easier as it is now generated.
Problem: vim-patch commits lack an informative title and summary in the
very first line of the commit message when the vim-revision is a Git SHA
hash, unlike when is a Vim version. This makes it difficult to discern
at a glance what changes are introduced by such vim-patch commits (in
git log, PR title, changelog generated by git-cliff, etc.).
BEFORE:
vim-patch:abcdef123456
runtime(vim): improve performance
<some details>
...
Solution: Repeat the title of the upstream commit message, to improve
the clarity and visibility of the commit message.
AFTER:
vim-patch:abcdef123456: runtime(vim): improve performance
<some details>
...
Note: the `vim-patch:<hash>` token is still needed by `vim-patch.sh`
(but not necessarily in the very first line of the commit message) to
determine which vim patches have been applied. `<hash>` is internally
normalized to 7 hex digits.
Problem:
'modeline' and 'note' are unhandled in the online HTML documentation.
Some (not all) modelines are parsed by the vimdoc parser as a node of
type 'modeline'.
Solution:
- Ignore 'modeline' in HTML rendering.
- Render 'note' text in boldface.
Problem:
- Since #28678, pre-formatted text in the online documentation do not
render whitespaces correctly: should be pre-like text, but shown like
normal paragraph (see #28754).
- Code blocks with long lines should not be wrapped (e.g. see
|dev-vimpatch-list-management|).
Solution:
- Use `white-space: pre-wrap`. Compared to `white-space: pre`, this
option will make long lines including a very long URL wrapped.
This properly fixes#28754 and #28678.
- Use horizontal scrollbar for the code blocks that are horizontally too
long, instead of wrapping text. This will make the code easy to read
while the pre-text block not interfering with the navigation bar.
Problem:
On the page: https://neovim.io/doc/user/dev_vimpatch.html
The links extend beyond the container and thus end up behind the navigation to the right.
Solution:
Add these lines to get_help_html.lua:
white-space: normal;
word-wrap: break-word;
runtime(doc): Add Makefile for the Vim documentation on Windows (vim/vim#13467)
* Makefile for the Vim documentation on Windows
* Corrected comments
b23c1fc596
Co-authored-by: Restorer <69863286+RestorerZ@users.noreply.github.com>