aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/vim_spec.lua
Commit message (Collapse)AuthorAge
...
| * feat(api): add win and buf to nvim_set_option_valueLewis Russell2022-05-17
| | | | | | | | Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
* | fix: make `nvim_cmd` not suppress errors inside key mappingFamiu Haque2022-05-19
| | | | | | | | Closes #18632
* | feat(ui): add `'winbar'`Famiu Haque2022-05-18
|/ | | | | | | Adds support for a bar at the top of each window, enabled through the `'winbar'` option. Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
* fix(api): nvim_eval_statusline should validate input #18347deforde2022-05-15
| | | | | Fix #18112 Make an exception for strings starting with "%!".
* fix(api): make `nvim_cmd` work correctly with empty arguments list (#18527)Famiu Haque2022-05-11
| | | Closes #18526.
* feat(api): add `nvim_cmd`Famiu Haque2022-05-11
| | | | Adds the API function `nvim_cmd` which allows executing an Ex-command through a Dictionary which can have the same values as the return value of `nvim_parse_cmd()`. This makes it much easier to do things like passing arguments with a space to commands that otherwise may not allow it, or to make commands interpret certain characters literally when they otherwise would not.
* fix(api): make `nvim_parse_cmd` work correctly with both range and countFamiu Haque2022-05-07
| | | | | | | | It seems range and count can be used together in commands. This PR fixes the behavior of `nvim_parse_cmd` for those cases by removing the mutual exclusivity of "range" and "count". It also removes range line number validation for `nvim_parse_cmd` as it's not its job to validate the command.
* fix(api): make `nvim_parse_cmd` propagate errorsFamiu Haque2022-05-05
| | | | | Makes `nvim_parse_cmd` propagate any errors that occur while parsing to give the user a better idea of what's wrong with the command.
* refactor(api): make `range` in `nvim_parse_cmd` an arrayFamiu Haque2022-05-05
| | | | | | | | Changes the `range` value in `nvim_parse_cmd` into an array to describe range information more concisely. Also makes `range` and `count` be mutually exclusive by making count `-1` when command takes a range instead of a count. Additionally corrects the behavior of `count` for built-in commands by making the default count `0`.
* feat(nvim_parse_cmd): add range, count, reg #18383Famiu Haque2022-05-04
| | | | | Adds range, count and reg to the return values of nvim_parse_cmd. Also makes line1 and line2 be -1 if the command does not take a range. Also moves nvim_parse_cmd to vimscript.c because it fits better there.
* feat(api): add `nvim_parse_cmdline`Famiu Haque2022-04-30
| | | | Adds an API function to parse a command line string and get command information from it.
* test: correct order of arguments to eq() and neq()zeertzjq2022-04-26
|
* fix(paste): ignore mappings in Cmdline mode (#18114)Eden Zhang2022-04-17
|
* fix(event-loop): duplicate display updating logic in vgetorpeek() (#17913)zeertzjq2022-03-30
|
* fix(api, lua): return NIL on failure to find converted function (#17779)zeertzjq2022-03-20
|
* fix(paste): escape control characters in Cmdline modezeertzjq2022-03-15
|
* test(paste): add tests with virtualedit=onemorezeertzjq2022-03-15
|
* test(paste): reorganize tests and add tests for linewise Visual modezeertzjq2022-03-15
|
* fix(paste): deal with trailing new line in chunkzeertzjq2022-03-15
|
* fix(paste): avoid edges cases caused by empty chunkzeertzjq2022-03-15
|
* fix(paste): deal with eol and eof in Visual modezeertzjq2022-03-15
|
* fix(paste): don't move cursor past the end of pasted text in Normal modezeertzjq2022-03-15
|
* fix(paste): use getcmdtype() to determine whether in cmdline modezeertzjq2022-03-15
|
* feat(api): relax statusline fillchar width checkzeertzjq2022-03-10
| | | | Treat fillchar as single-width even if it isn't.
* fix(api): re-route nvim_get_runtime_file errorsLewis Russell2022-02-15
| | | | This allows nvim_get_runtime_file to be properly used via pcall
* fix: autoload variables not loaded with vim.g & nvim_get_varshadmansaleh2022-02-13
|
* fix(api): use changedir_func() in nvim_set_current_dir()zeertzjq2022-02-10
| | | | Co-Authored-By: smolck <46855713+smolck@users.noreply.github.com>
* fix(--headless): do not block on press-enter prompts when no UIglacambre2022-02-05
| | | | | | | | | | | | This commit fixes #9358, where emitting multiple messages with 'echo' or a single one with 'echom' or 'echoerr' would result in a press-enter prompt that couldn't be dismissed by pressing enter. This requires adapting a few tests to spawn a UI before testing whether press-enter prompts are blocking. It also fixes #11718, as when combined with #15910 it enables making sure that neovim never blocks and emits messages on startup.
* Merge pull request #17113 from zeertzjq/vim-8.2.2569zeertzjq2022-02-01
|\ | | | | feat(statusline): support multibyte fillchar
| * feat(statusline): support multibyte fillcharzeertzjq2022-01-16
| | | | | | | | | | | | | | | | This includes a partial port of Vim patch 8.2.2569 and some changes to nvim_eval_statusline() to allow a multibyte fillchar. Literally every line of C code touched by that patch has been refactored in Nvim, and that patch contains some irrelevant foldcolumn tests I'm not sure how to port (as Nvim's foldcolumn behavior has diverged from Vim's).
* | refactor: remove CSI unescaping and clean up related names and commentszeertzjq2022-01-21
|/
* fix: do not save K_EVENT as lastc in Insert modezeertzjq2021-12-26
| | | | I'm also gonna move some other K_EVENT-related tests to vim_spec.lua
* fix(api): make nil value in nvim_set_option_value clear local value (#16710)Gregory Anders2021-12-21
| | | | For special options such as 'undolevels' and 'scrolloff', this sets the local value to the special "unset" value (e.g. -12345 for 'undolevels').
* feat(api): add nvim_get_option_valueGregory Anders2021-12-04
|
* refactor(api/marks)!: add opts param for feature extensibility (#16146)Javier Lopez2021-11-01
| | | | | In the future we might want to extend the concept of named marks and adding opts reduces the need of changing the function signature in the furute.
* test(vim_spec): fix MSVC_32 skip for nvim_parse_expression test (#16161)Sean Dewar2021-10-27
| | | | | | "works with &opt" is flaky; now it always fails after #15999 for some reason. This test was skipped in #10773 due to previous flakiness, but after the switch away from appveyor the check no longer works. Just skip for any CI running the MSVC_32 job.
* feat(nvim_open_term): support input callback in luaBjörn Linse2021-10-20
|
* feat(api): evaluate statusline string #16020Famiu Haque2021-10-18
| | | | | | Adds API function `nvim_eval_statusline` to allow evaluating a statusline string and obtaining information regarding it. Closes https://github.com/neovim/neovim/issues/15849
* feat(:source, nvim_exec): defer script item creation until s:var accessSean Dewar2021-10-14
| | | | | | | | For anonymous scripts, defer the creation of script items until an attempt to access a script-local variable is made. This dramatically reduces the number of script items created when using lots of vim.cmd and nvim_exec especially. This will mean <SID> usage fails until a script-local variable access is first made.
* feat(:source, nvim_exec): support script-local variablesSean Dewar2021-10-14
| | | | | | | | | | | | | | Based on #13143 (and #11507) with changes: - Omit script_type_E. Use sn_name == NULL to determine anon items. - Keep SID_STR. Used by anon :source for .lua files (no item). - Show SID in get_scriptname output (:verbose set). - Factor item creation into new_script_item. - Leave sc_seq = 0 (anon scripts don't re-use the same item when re-sourced). - Add tests for anon :source. Co-authored-by: Vikram Pal <vikrampal659@gmail.com> Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* feat(api): named marks set, get, delete #15346Javier Lopez2021-10-05
| | | | | | | | | | | | | | | | | | | | | | | Adds the following API functions. - nvim_buf_set_mark(buf, name, line, col) * Set marks in a buffer. - nvim_buf_del_mark(buf, name) * Delete a mark that belongs to buffer. - nvim_del_mark(name) * Delete a global mark. - nvim_get_mark(name) * Get a global mark. Tests: - Adds test to all the new api functions, and adds more for the existing nvim_buf_get_mark. * Tests include failure cases. Documentation: - Adds documentation for all the new functions, and improves the existing fucntion docs.
* Merge pull request #15516 from bfredl/keysetBjörn Linse2021-10-03
|\ | | | | refactor(api): Represent option dicts as a structs in C and reduce conversion overhead from lua
| * refactor(api): handle option dicts properlyBjörn Linse2021-10-03
| | | | | | | | | | | | | | Do not copy a lot of lua strings (dict keys) to just strequal() them Just compare them directly to a dedicated hash function. feat(generators): HASHY McHASHFACE
* | fix(runtime): add packages as "/pack/*/start/*" patterns to &rtpBjörn Linse2021-10-02
|/ | | | This makes `globpath(&rtp, ...)` work again for start packages
* refactor(runtime): always use DIP_START when searching for runtime filesBjörn Linse2021-09-18
| | | | | | | | Now remove the addition of "start/*" packages in 'packpath' as explicit items in 'runtimepath'. This avoids 'runtimepath' from becoming very long when using a lot of plugins as packages. To get the effective search path as a list, use |nvim_list_runtime_paths()|
* fix(typo): overriden -> overridden (RE: PR #14159) (#15360)Oliver Marriott2021-09-17
|
* fix(:source, nvim_exec): handle Vimscript line continuations #14809Sean Dewar2021-09-14
| | | | | | | | | | | Problem: Anonymous :source (no args) and nvim_exec() don't support Vimscript line continuations. Solution: Factor out the concat logic into concat_continued_line() and a CONCAT_CONTINUED_LINES macro for simple concatenations where lines are fetched individually. Closes #14807
* refactor(tests): use assert_alive() #15546Justin M. Keyes2021-09-01
|
* feat(api): nvim_get_chan_info: include "argv" for jobs #15537Justin M. Keyes2021-09-01
| | | ref #15440
* fix(vim.opt): Fix #14668 Now correctly handles unescaped commas in isfname styleTJ DeVries2021-06-29
|