| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(java): Recognise _when_ clauses in _switch_ blocks
Also:
- distinguish _yield_ when used as a contextual keyword from
when used qualified as a method or a method reference (as
can be seen in testdir/input/java_switch.java, variables
and method declarations named _yield_ will be recognised
as the namesake keyword--consider picking other names for
variables, and defining g:java_highlight_functions to have
method names painted; since _yield_ statements can have
trailing parens, they must be recognised as statements,
for only qualified _yield_ method calls are supported);
- recognise grouped _default_ _case_ labels;
- describe primitive types for _case_ labels (JLS, §14.11,
§3.10.1);
- recognise some non-ASCII identifiers (see javaLambdaDef,
javaUserLabel) (further improvement for better recognition
of identifiers will be arranged in a separate PR).
Because the arrow '->' is used in two kinds of expressions,
lambda (abstractions) and _switch_, necessary changes were
made for the recognition of either (and further improvement
touching lambda expressions will be separately arranged).
Because 'default' is used for instance method declarations
in interfaces and in _switch_ labels, necessary changes were
made for the recognition of either (and further improvement
touching method declarations will be separately arranged).
Finally, it deemed appropriate to put 'yield' in the syntax
group of javaOperator rather than javaStatement, for its
member 'var' is also another contextual keyword (e.g., this
is valid syntax: "var var = var(test.var);").
References:
https://openjdk.org/jeps/361 (Switch Expressions)
https://openjdk.org/jeps/440 (Record Patterns)
https://openjdk.org/jeps/441 (Pattern Matching for switch)
Also, add a Java specific filetype plugin for the syntax
test, so that no soft-wrapping of long indented lines occur.
Otherwise the syntax scripts would miss a few lines during
scrolling and verification of the screen dumps.
closes: vim/vim#14105
https://github.com/vim/vim/commit/9ecf02cd5f5feabe096f66cd5f503a822c78793f
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
|
|
|
| |
Also make it work better on a multiline selection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: getregion() can be improved (after v9.1.120)
Solution: change getregion() implementation to use pos as lists and
one optional {opt} dictionary (Shougo Matsushita)
Note: The following is a breaking change!
Currently, the getregion() function (included as of patch v9.1.120) takes
3 arguments: the first 2 arguments are strings, describing a position,
arg3 is the type string.
However, that is slightly inflexible, there is no way to specify
additional arguments. So let's instead change the function signature to:
getregion(pos1, pos2 [, {Dict}]) where both pos1 and pos2 are lists.
This is slightly cleaner, and gives us the flexibility to specify
additional arguments as key/value pairs to the optional Dict arg.
Now it supports the "type" key to specify the selection type
(characterwise, blockwise or linewise) and now in addition one can also
define the selection type, independently of what the 'selection' option
actually is.
Technically, this is a breaking change, but since the getregion()
Vimscript function is still quite new, this should be fine.
closes: vim/vim#14090
https://github.com/vim/vim/commit/19b718828d8d5fab52d94c6cdba694641879ab38
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: `:TOhtml` opens the generated HTML code in a split, meaning it
inherits the `help` filetype if a help buffer is to be converted.
Solution: Explicitly set the filetype to `html`.
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously rename would unconditionally read the to-be-renamed file from the
disk and write it to the disk. This is redundant in some cases
If the file is not already loaded, it's not attached to lsp client, so nvim
doesn't need to care about this file.
If the file is loaded but has no change, it doesn't need to be written.
|
|
|
|
|
|
| |
Co-authored-by: wookayin <wookayin@gmail.com>
Co-authored-by: clason <c.clason@uni-graz.at>
Co-authored-by: Lewis Russell <me@lewisr.dev>
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(sh): Update ftplugin, fix vim/vim#14101 (vim/vim#14102)
Add the 'b' flag to 'comments', so that the shebang line is not detected as comment.
Fixes vim/vim#14101.
https://github.com/vim/vim/commit/e84d2d4432cd6e43f2bb300d02abc90d551bcf4a
Co-authored-by: dkearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
| |
Problem: Some LSP servers return `textDocument/documentLink` responses
containing file URIs with line/column numbers in the fragment.
`vim.uri_to_fname` returns invalid file names for these URIs.
Solution: Remove the URI fragment from file URIs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(vim): Update base-syntax, improve :echo highlighting (vim/vim#14103)
- Normalise behaviour of :echo commands and improve expression matching.
- Allow continued argument lines.
- Refine string interpolation groups.
- Remove duplicated :menu and :map generated commands that are handled
specially later in the file.
https://github.com/vim/vim/commit/b1427b46f5fe50a1daba102c4017d0ef2624b3ba
Co-authored-by: dkearns <dougkearns@gmail.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
The documentation flow (`gen_vimdoc.py`) has several issues:
- it's not very versatile
- depends on doxygen
- doesn't work well with Lua code as it requires an awkward filter script to convert it into pseudo-C.
- The intermediate XML files and filters makes it too much like a rube goldberg machine.
Solution:
Re-implement the flow using Lua, LPEG and treesitter.
- `gen_vimdoc.py` is now replaced with `gen_vimdoc.lua` and replicates a portion of the logic.
- `lua2dox.lua` is gone!
- No more XML files.
- Doxygen is now longer used and instead we now use:
- LPEG for comment parsing (see `scripts/luacats_grammar.lua` and `scripts/cdoc_grammar.lua`).
- LPEG for C parsing (see `scripts/cdoc_parser.lua`)
- Lua patterns for Lua parsing (see `scripts/luacats_parser.lua`).
- Treesitter for Markdown parsing (see `scripts/text_utils.lua`).
- The generated `runtime/doc/*.mpack` files have been removed.
- `scripts/gen_eval_files.lua` now instead uses `scripts/cdoc_parser.lua` directly.
- Text wrapping is implemented in `scripts/text_utils.lua` and appears to produce more consistent results (the main contributer to the diff of this change).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(debian): update Debian syntax files (#14098)
* debversions.vim: Move lunar to unsupported release
* debsources: Add word boundaries around keyword match patterns
https://github.com/vim/vim/commit/c7ddc9b73543d4b3b906b56948dc9a6861150e12
Co-authored-by: James McCoy <jamessan@jamessan.com>
Co-authored-by: James Addison <jay@jp-hosting.net>
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(vim): Update syntax file, improve :substitute matching (vim/vim#14093)
- Differentiate between :substitute and substitute(), fixes vim/vim#13883.
- Match all allowed :substitute delimiters.
- Remove leading context from :substitute matches.
https://github.com/vim/vim/commit/2c51e15b66a4be9b5134c495ef546479aaa89ce9
Co-authored-by: dkearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
(#27636)
Problem: <Del> in cmdline mode doesn't delete composing chars
Solution: Use mb_head_off() and mb_ptr2len() (zeertzjq)
closes: vim/vim#14095
https://github.com/vim/vim/commit/ff2b79d23956263ab0120623c37e0b4498be01db
|
|
|
|
|
| |
Validate the channel number before responding to an OSC 10/11 request.
When used with nvim_open_term, the channel number is unset (since there
is no process on the other side of the PTY).
|
|
|
|
|
|
| |
Problems:
- Illegal bytes after valid UTF-8 char cause utf_cp_*_off() to fail.
- When stream isn't NUL-terminated, utf_cp_*_off() may go over the end.
Solution: Don't go over end of the char of end of the string.
|
| |
|
|
|
|
|
| |
runtime(doc): fix inconsistent indent (vim/vim#14089)
https://github.com/vim/vim/commit/d086b8f646a67f6b16c46061ce773de1011b8ec7
|
|
|
|
|
| |
Assert that the buffer number passed to apply_text_edits is fully
resolved (not 0 or null). Pass the known buffer number to
apply_text_edits from lsp.formatexpr().
|
| |
|
|
|
|
|
|
|
|
|
| |
runtime(doc): clarify ':set[l] {option}<' behaviour
closes: vim/vim#14062
https://github.com/vim/vim/commit/374e26aba2e5e0a220b1a7ce1934b0eb5f493e6c
Co-authored-by: Matt Ellis <m.t.ellis@gmail.com>
|
|
|
|
|
| |
For example, when renaming /path/to/dir, buffers like
fern://drawer/file:///path/to/dir, /path/to/dir123 should not be
matched.
|
|
|
|
| |
Followup to neovim/neovim#27443
|
|
|
|
| |
* use builtin function
* buffer:// was removed in 236c20795eb9f11e21e0719b735ea741711acc08.
|
|
|
|
|
|
|
|
|
| |
runtime(doc) Update help text for matchbufline() and matchstrlist()
closes: vim/vim#14080
https://github.com/vim/vim/commit/a35235e824bb77df0cebdb2bd290e13f1201b292
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
|
|
|
| |
Rendered obsolete by c6d747e6a5227e17556c62e16ed054398eb1a89a.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(spec): Recognize SourceLicense tag name in RPM spec syntax (#14046)
rpm-4.19.0 added a new SourceLicense tag. It is used at the same place
as License tag.
This patch adds the new tag name into a Vim syntax file to be
highligted the same way as the License tag. Note that it has to be
defined in the syntax file before Source\d* regexp. Otherwise it's not
recognized by Vim.
https://github.com/vim/vim/commit/315cd1fbcbba7c44ec8743f03645bfcaef58bd55
Co-authored-by: Petr Pisar <ppisar@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
runtime(vim): Update base-syntax, fix :unabbrev highlighting (vim/vim#14077)
Fixes issue vim/vim#7876
https://github.com/vim/vim/commit/1624970d321cfb637ac76232df9c9b3f2fae904c
Co-authored-by: dkearns <dougkearns@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Internal error when passing mark in another buffer to
getregion().
Solution: Don't allow marks in another buffer (zeertzjq)
closes: vim/vim#14076
Internal error when passing mark in another buffer to getregion()
https://github.com/vim/vim/commit/421b597470c118871c7081de00dd065e0e000b7e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: hard to get visual region using Vim script
Solution: Add getregion() Vim script function
(Shougo Matsushita, Jakub Łuczyński)
closes: vim/vim#13998
closes: vim/vim#11579
https://github.com/vim/vim/commit/3f905ab3c4f66562f4a224bf00f49d98a0b0da91
Cherry-pick changes from patch 9.1.0122, with :echom instead of :echow.
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl>
|
|
|
|
| |
As the InspectTree buffer is now a valid tree-sitter query tree, we can
use the bundled fold queries to have folding for the tree.
|
|
|
|
|
|
| |
Problem: When terminal is autocloses, it blocks other events, like
`BufEnter`.
Solution: Use `nested = true`.
|
|
|
|
|
|
|
|
| |
runtime(java): add syntax support for Java switch expressions (#9124)
https://github.com/vim/vim/commit/20d61e1b94e5ac571b3a313765517582f86616f3
Co-authored-by: Nick Hanley <nicholasjhanley@gmail.com>
|
|
|
|
|
|
| |
There is now a new tmux 3.4 release that queries background color from
the parent terminal if background is not set in tmux, so removing the
passthrough still works when background is not set in tmux, and fixes
the incorrect detection when background is set in tmux.
|
|
|
|
|
|
|
|
| |
Problem:
When a function has multiple signatures, putting its tag at the last one
may make one think that's its only signature.
Solution:
When a function has multiple signatures, put its tag at the first one.
|
|
|
|
|
|
|
|
|
| |
* fix: Use os_uname() to check for Linux by @cryptomilk in #686
* docs: typo in a table field name by @Bilal2453 in #689
* docs: most new_handle methods won't return fail by @Bilal2453 in #683
* test-tty: Don't depend on stdin/stdout handle type by @squeek502 in #688
* Bump/libuv by @zhaozg in #690
* Annotate .gitmodules with branch and tag by @creationix in #693
|
|
|
|
|
|
|
|
| |
runtime(tmux): Update tmux syntax (#14065)
https://github.com/vim/vim/commit/e8f6af60917862d04a82efb9e900200fd36f798d
Co-authored-by: Eric Pruitt <eric.pruitt@gmail.com>
|
|
|
|
|
|
|
|
| |
Currently, highlight.on_yank() does buffer-local highlighting, this PR
makes it window scoped.
Also fix the problem that when yanking in a buffer, moving to another
buffer, and yanking before the original buffer highlight disappears, the
original buffer highlight won't disappear on timeout.
|
|
|
|
| |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
|
|
|
|
| |
(#27558)
To align the output of `nvim_get_hl` with its documentation -- which
points to `nvim_set_hl`, remove mentions of the keys `foreground`,
`background` and `special`.
The long keys are are still supported (via fallback checks inside
`dict2hlattrs`), but the `fg`, `bg` and `sp` keys are preferenced.
|
| |
|
|
|
|
|
|
|
| |
runtime(misc): announce adoption of various runtime files
https://github.com/vim/vim/commit/f9ca139e3aa12dd03177ebba5eedcee4f0836f27
Co-authored-by: Christian Brabandt <cb@256bit.org>
|