aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.lua
Commit message (Collapse)AuthorAge
...
* vim-patch:8.1.1803: all builtin functions are globalSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* vim-patch:8.2.2957: using getchar() in Vim9 script is problematicJan Edmund Lazo2021-07-29
| | | | | | | | | | | | 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.
* Merge pull request #14406 from shadmansaleh/vim-8.2.0877Jan Edmund Lazo2021-05-15
|\ | | | | vim-patch:8.2.{0877, 0880, 0884, 0887, 0896} - port searchcount()
| * vim-patch:8.2.0877: cannot get the search statisticsshadmansaleh2021-05-09
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | vim-patch:8.1.1967: line() only works for the current windowJan Edmund Lazo2021-05-12
|/ | | | | | 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
* vim-patch:8.1.1418: win_execute() is not implemented yetjing2021-05-06
| | | | | | Problem: Win_execute() is not implemented yet. Solution: Implement it. https://github.com/vim/vim/commit/868b7b6712ea4f2232eeeae18c5cbbbddf2ee84d
* vim-patch:8.2.1588: cannot read back the prompt of a prompt bufferSean Dewar2021-04-21
| | | | | | | | | 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).
* vim-patch:8.1.1682: placing a larger number of ...Lewis Russell2021-04-03
| | | | | | | | ...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)
* vim-patch:8.2.2694: when 'matchpairs' is empty every character beeps (#14279)Jan Edmund Lazo2021-04-03
| | | | | | 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
* vim-patch:8.1.0542: shiftwidth() does not take 'vartabstop' into accountVVKot2021-03-28
| | | | | | | | 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
* vim-patch:8.1.2326: cannot parse a date/time stringJan Edmund Lazo2021-03-27
| | | | | | | | | | | | | | | 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
* vim-patch:8.1.2020: it is not easy to change the window layoutAndy K. Massimino2021-03-19
| | | | | | 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
* vim-patch:8.2.2233: cannot convert a byte index into a character index (#13978)kuuote2021-02-22
| | | | | 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
* vim-patch:8.2.0861: cannot easily get all the current marks (#13676)Jan Edmund Lazo2021-01-03
| | | | | | | | | | | 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>
* vim-patch:8.2.0047: cannot skip tests for specific MS-Windows platform (#13461)Jan Edmund Lazo2020-12-11
| | | | | Problem: Cannot skip tests for specific MS-Windows platform. Solution: Add windowsversion(). https://github.com/vim/vim/commit/0c1e3744ff0cd6c17af773046b876b428ff3dded
* vim-patch:8.2.0257: cannot recognize a terminal in a popup windowJan Edmund Lazo2020-11-25
| | | | | | Problem: Cannot recognize a terminal in a popup window. Solution: Add the win_gettype() function. https://github.com/vim/vim/commit/00f3b4e007af07870168bf044cecc9d544483953
* vim-patch:8.1.1056: no eval function for RubyAlex Genco2020-10-21
| | | | | | Problem: No eval function for Ruby. Solution: Add rubyeval(). (Ozaki Kiichi, closes vim/vim#4152) https://github.com/vim/vim/commit/e99be0e6d28fad96efd2b2be23fa38e7559e80e1
* vim-patch:8.2.0868: trim() always trims both endsskippi2020-10-17
| | | | | | | 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
* support for :perl, :perlfile, :perldo and perleval()Jacques Germishuys2020-08-30
|
* vim-patch:8.2.1517: cannot easily get the character under the cursorJan Edmund Lazo2020-08-23
| | | | | | Problem: Cannot easily get the character under the cursor. Solution: Add the {chars} argument to strpart(). https://github.com/vim/vim/commit/6c53fca02301ff871cddc1c74c388e23e53a424a
* vim-patch:8.1.2341: not so easy to interrupt a script programaticallyJan Edmund Lazo2020-08-14
| | | | | | 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
* Merge pull request #12575 from cbarrete/vim-8.2.0935Matthieu Coudron2020-07-20
|\ | | | | [RFC] vim-patch:8.2.{0935,0937}
| * vim-patch:8.2.0935: flattening a list with existing code is slowCédric Barreteau2020-07-15
| | | | | | | | | | | | Problem: Flattening a list with existing code is slow. Solution: Add flatten(). (Mopp, closes vim/vim#3676) https://github.com/vim/vim/commit/077a1e670ad69ef4cefc22103ca6635bd269e764
* | vim-patch:8.2.0893: assert_equalfile() does not take a third argumentJan Edmund Lazo2020-07-19
|/ | | | | | Problem: Assert_equalfile() does not take a third argument. Solution: Implement the third argument. (Gary Johnson) https://github.com/vim/vim/commit/fb517bac2384798bb5142ed1f75f965f93984c0a
* vim-patch:8.1.1084: cannot delete a match from another window (#12325)Shougo2020-05-16
| | | | | | 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
* vim-patch:8.1.1120: cannot easily get directory entry matches #12222Hennadii Chernyshchyk2020-05-05
| | | | | | | 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
* vim-patch:8.1.1510: a plugin cannot easily expand a command like done internallyJan Edmund Lazo2020-03-01
| | | | | | 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
* vim-patch:8.1.1122: char2nr() does not handle composing charactersJan Edmund Lazo2020-02-20
| | | | | | | | 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.
* vim-patch:8.1.0091: MS-Windows: Cannot interrupt gdb when program is runningerw72020-02-12
| | | | | | | 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
* vim-patch:8.1.0069: cannot handle pressing CTRL-C in a prompt buffererw72020-02-12
| | | | | | Problem: Cannot handle pressing CTRL-C in a prompt buffer. Solution: Add prompt_setinterrupt(). https://github.com/vim/vim/commit/0e5979a6d491f68c4a8c86fab489016919329a6b
* vim-patch:8.1.0027: difficult to make a plugin that feeds a line to a joberw72020-02-12
| | | | | | 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 (#11562)Seth Fowler2019-12-16
| | | Add support for the pum_getpos() API
* vim-patch:8.1.0460: assert_fails() message argument #11051Jan Edmund Lazo2019-09-21
| | | | | Problem: assert_fails() does not take a message argument Solution: Add the argument. https://github.com/vim/vim/commit/1307d1c003b01b4f67524c95feb07c3d91c7c428
* vim-patch:8.0.1523: cannot write and read terminal screendumpsJan Edmund Lazo2019-09-16
| | | | | | | 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
* anchor float to buffer positionBjörn Linse2019-09-04
| | | | vim-patch:8.1.1645: cannot use a popup window for a balloon
* eval: add wait()Abdelhakeem2019-09-01
| | | | closes #10362
* Merge pull request #10841 from janlazo/vim-7.4.1407Daniel Hahler2019-08-25
|\ | | | | vim-patch:7.4.1407,8.1.1111
| * vim-patch:8.1.1111: it is not easy to check for infinityJan Edmund Lazo2019-08-24
| | | | | | | | | | | | 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
| * vim-patch:7.4.1407Jan Edmund Lazo2019-08-24
| | | | | | | | | | | | | | | | 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
* | vim-patch:8.1.1924: using empty string for current buffer is unexpectedJan Edmund Lazo2019-08-24
|/ | | | | | 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
* vim-patch:8.1.0037: cannot easily append lines to another bufferJan Edmund Lazo2019-08-23
| | | | | | Problem: Cannot easily append lines to another buffer. Solution: Add appendbufline(). https://github.com/vim/vim/commit/ca851593a660f08aba5c134f90c238d4a3e983e6
* vim-patch:8.1.1305: there is no easy way to manipulate environment variablesDaniel Hahler2019-08-06
| | | | | | | 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
* eval: context: add ctx-family functionsAbdelhakeem2019-07-27
|
* vim-patch:8.1.1610: there is no way to add or load a buffer without side effectsShougo Matsushita2019-07-06
| | | | | | 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
* Merge #10250 from blueyed/vim-8.0.1039Justin M. Keyes2019-06-25
|\ | | | | vim-patch:8.0.{10{39,53,55},1274}: cannot change a line in not current buffer
| * vim-patch:8.0.1039: cannot change a line in not current bufferDaniel Hahler2019-06-17
| | | | | | | | | | | | 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
* | Update argc(),argv() based on 8.1.0493erw72019-06-19
|/
* vim-patch:8.1.0020: cannot tell whether a register is executing or recordingJan Edmund Lazo2019-05-26
| | | | | | | | | 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
* vim-patch:8.1.0039: cannot easily delete lines in another bufferAndrej Zieger2019-05-26
| | | | | | Problem: Cannot easily delete lines in another buffer. Solution: Add deletebufline(). https://github.com/vim/vim/commit/d79a26219d7161e9211fd144f0e874aa5f6d251e
* vim-patch:8.1.0717: there is no function for the ":sign jump" commandAndrej Zieger2019-05-26
| | | | | | 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