| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: All builtin functions are global.
Solution: Add the method call operator ->. Implemented for a limited number
of functions.
https://github.com/vim/vim/commit/ac92e25a33c37ec5becbfffeccda136c73b761ac
- Note that to *exactly* port hunk @@ -7376,18 +7444,19 from
handle_subscript(), we need the :scriptversion patches (I have an open
PR for those, but this patch works fine without them anyway).
- Port call_internal_func() from v7.4.2058.
- Adjust some error messages in tests, as they rely on the Blob patches.
- Add a modeline to test_method.vim.
Ignore the global_functions and base_method tables and prefer the
current GPerf implementation. Instead, add an extra base_arg field to
VimLFuncDef that holds the number of the argument to use as the base
(1-indexed, so that 0 may be used to refer to functions that cannot be
used as methods).
This also means we support using any argument as a base from the get-go,
rather than just the first (Vim includes this ability in future patches,
however).
To mark a function as usable as a method, use the "base" key as
described in eval.lua.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Using getchar() in Vim9 script is problematic.
Solution: Add getcharstr(). (closes vim/vim#8343)
https://github.com/vim/vim/commit/3a7503c34c65ed15cc08deb5b54aaf2ea51525b4
Cherry-pick Test_getchar() changes from patch v8.1.2304
to sync with upstream.
Port f_getcharstr() to src/nvim/eval/funcs.c, not src/nvim/getchar.c.
Patch v8.1.2042 is not ported yet.
|
|\
| |
| | |
vim-patch:8.2.{0877, 0880, 0884, 0887, 0896} - port searchcount()
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot get the search statistics.
Solution: Add the searchcount() function. (Fujiwara Takuya, closes vim/vim#4446)
https://github.com/vim/vim/commit/e8f5ec0d30b629d7166f0ad03434065d8bc822df
Additional changes:
- Tests weren't passing because the test ran assuming the cursor was at
start of buffer but append() left the cursor at end of buffer .
So cursor is moved to start of buffer after append.
- searchcount() added to list of builtin functions.
|
|/
|
|
|
|
| |
Problem: Line() only works for the current window.
Solution: Add an optional argument for the window to use.
https://github.com/vim/vim/commit/8e0a8e7eb7c177807f44db6b76d8e52314248ab5
|
|
|
|
|
|
| |
Problem: Win_execute() is not implemented yet.
Solution: Implement it.
https://github.com/vim/vim/commit/868b7b6712ea4f2232eeeae18c5cbbbddf2ee84d
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot read back the prompt of a prompt buffer.
Solution: Add prompt_getprompt(). (Ben Jackson, closes vim/vim#6851)
https://github.com/vim/vim/commit/077cc7aa0e0c431e97795612374fe17fe7c88803
Updated prompt_getprompt() doc to https://github.com/vim/vim/commit/cb80aa2d53e56d3aba3b3c439fb467f29a750c5e
and removed mention of method syntax usage (not supported by Nvim).
|
|
|
|
|
|
|
|
| |
...signs is slow
Problem: Placing a larger number of signs is slow.
Solution: Add functions for dealing with a list of signs. (Yegappan
Lakshmanan, closes #4636)
|
|
|
|
|
|
| |
Problem: When 'matchpairs' is empty every character beeps. (Marco Hinz)
Solution: Bail out when no character in 'matchpairs' was found.
(closes vim/vim#8053) Add assert_nobeep().
https://github.com/vim/vim/commit/5b8cabfef7c3707f3e53e13844d90e5a217e1e84
|
|
|
|
|
|
|
|
| |
Problem: shiftwidth() does not take 'vartabstop' into account.
Solution: Use the cursor position or a position explicitly passed.
Also make >> and << work better with 'vartabstop'. (Christian
Brabandt)
https://github.com/vim/vim/commit/f951416a8396a54bbbe21de1a8b16716428549f2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot parse a date/time string.
Solution: Add strptime(). (Stephen Wall, closes #)
https://github.com/vim/vim/commit/10455d43fef041309ce0613fa792c635dd71e3a8
N/A patches for version.c:
vim-patch:8.1.2344: Cygwin: warning for using strptime()
Problem: Cygwin: warning for using strptime().
Solution: Move defining _XOPEN_SOURCE and __USE_XOPEN to vim.h. (Ken Takata,
closes vim/vim#5265) Use 700 for _XOPEN_SOURCE for mkdtemp().
https://github.com/vim/vim/commit/6a228c6463935a73c8f21142cb7368545cfee317
|
|
|
|
|
|
| |
Problem: It is not easy to change the window layout.
Solution: Add win_splitmove(). (Andy Massimino, closes vim/vim#4561)
https://github.com/vim/vim/commit/d20dcb3d011da6111153109f6e46fbd5c7fe9fb6
|
|
|
|
|
| |
Problem: Cannot convert a byte index into a character index.
Solution: Add charidx(). (Yegappan Lakshmanan, closes vim/vim#7561)
https://github.com/vim/vim/commit/17793ef23aae0bc94539390ccfe5e63b0ad39ff2
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot easily get all the current marks.
Solution: Add getmarklist(). (Yegappan Lakshmanan, closes #6032)
https://github.com/vim/vim/commit/cfb4b47de08e4437c692d382067dc1692cd83c23
Cherry-pick the column number fix from patch v8.2.0871
because patch v8.2.0871 cannot be fully ported
without the method patches.
Co-authored-by: Peter Wolf <pwolf2310@gmail.com>
|
|
|
|
|
| |
Problem: Cannot skip tests for specific MS-Windows platform.
Solution: Add windowsversion().
https://github.com/vim/vim/commit/0c1e3744ff0cd6c17af773046b876b428ff3dded
|
|
|
|
|
|
| |
Problem: Cannot recognize a terminal in a popup window.
Solution: Add the win_gettype() function.
https://github.com/vim/vim/commit/00f3b4e007af07870168bf044cecc9d544483953
|
|
|
|
|
|
| |
Problem: No eval function for Ruby.
Solution: Add rubyeval(). (Ozaki Kiichi, closes vim/vim#4152)
https://github.com/vim/vim/commit/e99be0e6d28fad96efd2b2be23fa38e7559e80e1
|
|
|
|
|
|
|
| |
Problem: trim() always trims both ends.
Solution: Add an argument to only trim the beginning or end. (Yegappan
Lakshmanan, closes vim/vim#6126)
https://github.com/vim/vim/commit/2245ae18e3480057f98fc0e5d9f18091f32a5de0
|
| |
|
|
|
|
|
|
| |
Problem: Cannot easily get the character under the cursor.
Solution: Add the {chars} argument to strpart().
https://github.com/vim/vim/commit/6c53fca02301ff871cddc1c74c388e23e53a424a
|
|
|
|
|
|
| |
Problem: Not so easy to interrupt a script programatically.
Solution: Add the interrupt() function. (Yasuhiro Matsumoto, closes vim/vim#2834)
https://github.com/vim/vim/commit/67a2deb9cb4ac2224cb1e4d240a5d0659f036264
|
|\
| |
| | |
[RFC] vim-patch:8.2.{0935,0937}
|
| |
| |
| |
| |
| |
| | |
Problem: Flattening a list with existing code is slow.
Solution: Add flatten(). (Mopp, closes vim/vim#3676)
https://github.com/vim/vim/commit/077a1e670ad69ef4cefc22103ca6635bd269e764
|
|/
|
|
|
|
| |
Problem: Assert_equalfile() does not take a third argument.
Solution: Implement the third argument. (Gary Johnson)
https://github.com/vim/vim/commit/fb517bac2384798bb5142ed1f75f965f93984c0a
|
|
|
|
|
|
| |
Problem: Cannot delete a match from another window. (Paul Jolly)
Solution: Add window ID argument to matchdelete(), clearmatches(),
getmatches() and setmatches(). (Andy Massimino, closes vim/vim#4178)
https://github.com/vim/vim/commit/aff749145e23c0f20b5158d1d3a942948ed138e3
|
|
|
|
|
|
|
| |
Problem: Cannot easily get directory entry matches.
Solution: Add the readdir() function. (Yasuhiro Matsumoto, closes vim/vim#2439)
https://github.com/vim/vim/commit/543c9b1921d7605498b54afdef518e312f1b4515
closes #12212
|
|
|
|
|
|
| |
Problem: A plugin cannot easily expand a command like done internally.
Solution: Add the expandcmd() function. (Yegappan Lakshmanan, closes vim/vim#4514)
https://github.com/vim/vim/commit/80dad48c5095d30873a42ec82628bdb213125d8e
|
|
|
|
|
|
|
|
| |
Problem: char2nr() does not handle composing characters.
Solution: Add str2list() and list2str(). (Ozaki Kiichi, closes vim/vim#4190)
https://github.com/vim/vim/commit/9d40128afd7fcd038ff6532722b55b1a8c189ce8
'utf8' optional param is noop unlike Vim.
|
|
|
|
|
|
|
| |
Problem: MS-Windows: Cannot interrupt gdb when program is running.
Solution: Add debugbreak() and use it in the terminal debugger.
Respect 'modified' in a prompt buffer.
https://github.com/vim/vim/commit/4551c0a9fcdbdef52836d4852686d54b5e47fdaf
|
|
|
|
|
|
| |
Problem: Cannot handle pressing CTRL-C in a prompt buffer.
Solution: Add prompt_setinterrupt().
https://github.com/vim/vim/commit/0e5979a6d491f68c4a8c86fab489016919329a6b
|
|
|
|
|
|
| |
Problem: Difficult to make a plugin that feeds a line to a job.
Solution: Add the nitial code for the "prompt" buftype.
https://github.com/vim/vim/commit/f273245f6433d5d43a5671306b520a3230c35787
|
|
|
| |
Add support for the pum_getpos() API
|
|
|
|
|
| |
Problem: assert_fails() does not take a message argument
Solution: Add the argument.
https://github.com/vim/vim/commit/1307d1c003b01b4f67524c95feb07c3d91c7c428
|
|
|
|
|
|
|
| |
Problem: Cannot write and read terminal screendumps.
Solution: Add term_dumpwrite(), term_dumpread() and term_dumpdiff().
Also add assert_equalfile().
https://github.com/vim/vim/commit/d96ff165113ce5fe62107add590997660e3d4802
|
|
|
|
| |
vim-patch:8.1.1645: cannot use a popup window for a balloon
|
|
|
|
| |
closes #10362
|
|\
| |
| | |
vim-patch:7.4.1407,8.1.1111
|
| |
| |
| |
| |
| |
| | |
Problem: It is not easy to check for infinity.
Solution: Add isinf(). (Ozaki Kiichi, closes vim/vim#3787)
https://github.com/vim/vim/commit/fda1bff39f89775b20a2d88ef3903656d52f66ad
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: json_encode() does not handle NaN and inf properly. (David
Barnett)
Solution: For JSON turn them into "null". For JS use "NaN" and "Infinity".
Add isnan().
https://github.com/vim/vim/commit/f1b6ac72293e658bb6e68c5cfd926c405b1b6f34
|
|/
|
|
|
|
| |
Problem: Using empty string for current buffer is unexpected.
Solution: Make the argument optional for bufname() and bufnr().
https://github.com/vim/vim/commit/a8eee21e75324d199acb1663cb5009e03014a13a
|
|
|
|
|
|
| |
Problem: Cannot easily append lines to another buffer.
Solution: Add appendbufline().
https://github.com/vim/vim/commit/ca851593a660f08aba5c134f90c238d4a3e983e6
|
|
|
|
|
|
|
| |
Problem: There is no easy way to manipulate environment variables.
Solution: Add environ(), getenv() and setenv(). (Yasuhiro Matsumoto,
closes vim/vim#2875)
https://github.com/vim/vim/commit/691ddeefb545d8488e5a495af61caba2e57b3de9
|
| |
|
|
|
|
|
|
| |
Problem: There is no way to add or load a buffer without side effects.
Solution: Add the bufadd() and bufload() functions.
https://github.com/vim/vim/commit/15e248e37f3925d430f96e945d52d3dc423cdc83
|
|\
| |
| | |
vim-patch:8.0.{10{39,53,55},1274}: cannot change a line in not current buffer
|
| |
| |
| |
| |
| |
| | |
Problem: Cannot change a line in a buffer other than the current one.
Solution: Add setbufline(). (Yasuhiro Matsumoto, Ozaki Kiichi, closes vim/vim#1953)
https://github.com/vim/vim/commit/b31cf2bb0be95d106bd8eef93cc07550591c1d0d
|
|/ |
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot tell whether a register is being used for executing or
recording.
Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi,
closes vim/vim#2745) Rename the global variables for consistency. Store
the register name in reg_executing.
https://github.com/vim/vim/commit/0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd
|
|
|
|
|
|
| |
Problem: Cannot easily delete lines in another buffer.
Solution: Add deletebufline().
https://github.com/vim/vim/commit/d79a26219d7161e9211fd144f0e874aa5f6d251e
|
|
|
|
|
|
| |
Problem: There is no function for the ":sign jump" command.
Solution: Add the sign_jump() function. (Yegappan Lakshmanan, closes vim/vim#3780)
https://github.com/vim/vim/commit/6b7b7190aa9e5c4f51bceaebf9275aa5097cfea1
|