aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | | | | | | viml/parser/expressions: Add a way to represent tokens from C codeZyX2017-10-15
| | | | | | | | |
| * | | | | | | | unittests: Add support for dumping “expected” stateZyX2017-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose is similar to that of `screen:snapshot_util()`, but in different domain.
| * | | | | | | | viml/parser/expressions: Add a way to adjust lexerZyX2017-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It also adds support for kExprLexOr which for some reason was forgotten. It was only made sure that KLEE test compiles in non-KLEE mode, not that something works or that KLEE is able to run tests.
| * | | | | | | | viml/parser/expressions: Make curly braces name actually workZyX2017-10-08
| | | | | | | | |
| * | | | | | | | viml/parser/expressions: Make commas actually work when callingZyX2017-10-08
| | | | | | | | |
| * | | | | | | | viml/parser/expressions: Make commas actually work when callingZyX2017-10-08
| | | | | | | | |
| * | | | | | | | viml/parser/expressions: Add support for figure braces (three kinds)ZyX2017-10-08
| | | | | | | | |
| * | | | | | | | klee: Start preparing for klee testsZyX2017-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First stage: something compiling without klee, but with a buch of dirty hacks - done. Second stage: something running under klee, able to emit useful results, but still using dirty hacks - done. Third stage: make CMake care about clang argumnets - not done, may be omitted if proves to be too hard. Not that klee can be run on CI in any case.
| * | | | | | | | viml/parser/expressions: Start creating expressions parserZyX2017-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently supported nodes: - Register as it is one of the simplest value nodes (even numbers are not that simple with that dot handling). - Plus, both unary and binary. - Parenthesis, both nesting and calling. Note regarding unit tests: it stores data for AST in highlighting in strings in place of tables because luassert fails to do a good job at representing big tables. Squashing a bunch of data into a single string simply yields more readable result.
| * | | | | | | | unittests: Move some functions into helpers modulesZyX2017-10-08
| | | | | | | | |
| * | | | | | | | viml/parser: Add helper functions for highlightingZyX2017-10-08
| | | | | | | | |
| * | | | | | | | viml/parser: Handle encoding conversionsZyX2017-10-08
| | | | | | | | |
| * | | | | | | | viml/expressions: Add lexer with some basic testsZyX2017-10-08
| | | | | | | | |
| * | | | | | | | kvec: Add kv_Z which is like kv_A, but zero is the last valueZyX2017-10-08
| | | | | | | | |
| * | | | | | | | kvec: Add kv_drop() which is to be used like `(void)kv_pop(kvec)`ZyX2017-09-29
| | | | | | | | |
| * | | | | | | | unittests: Add a way to print trace on regular errorZyX2017-09-29
| | | | | | | | |
| * | | | | | | | test/helpers: Add format_string and format_luavZyX2017-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First intended to provide %r functionality like in Python (and also support for %*.*s, but this was not checked), second adds nice table formatting for use in cases similar to screen:snapshot_util().
* | | | | | | | | ci: Install neovim gem in Appveyor (#7700)Jan Edmund Lazo2017-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | ref #7655
* | | | | | | | | Merge #7676 from florolf/atomic-unibiliumJustin M. Keyes2017-12-06
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | closes #7381
| * | | | | | | | | tui: always hide cursor when flushingFlorian Larysch2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit ensures that we can never flush the buffer in a state where toggling cursor visibility can corrupt other escape codes. Thus, we can remove the workaround added as part of e838452, simplyfing the code and hiding the cursor on more occasions.
| * | | | | | | | | tui: never flush buffers in midst of unibilium outputFlorian Larysch2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e83845285 fixed an issue where long (true color) escape sequences got interrupted by the cursor visibility toggling caused by buffer flushes. cdfaecb25 introduces a new issue which causes similar problems: While the old buffer flushing code appended the cursor visibility escapes to the buffer before/after flushing, the new code effectively prepends the sequences. Assume the following sequence of events occurs: - A long escape code is issued using unibi_out when the buffer is almost full - out() gets called for a prefix of that escape code, causing the buffer to fill up - flush_buf(ui, false) is called and (correctly) does not insert any cursor toggling escapes - The rest of the escape code is written into the now empty buffer - At some later point, some other part of nvim calls flush_buf(ui, true), which then toggles the cursor, corrupting the escape code This could possibly also be fixed by tracking the state of the buffer (i.e. does it contain a partially output escape code?), but this seems fragile in the same way e83845285 turned out to be. The root cause for all these problems is the mismatch between nvim's (implicit) assumption that the buffer is flushable at any point in time and the non-atomicity of unibilium's character based callback interface. The proper fix (without modifying unibilium) is to ensure nvim's assumption about the buffer state holds at all times. To that end, add a "cork" flag which ensures one unibi_out-call never splits its output across a buffer flush; if an escape code does not fit into the current buffer, flush it without any part of the escape code in it and insert the whole escape code in the emptied buffer. This is a little more complex because it modifies the buffer in place rather than printing into another buffer, checking the remaining space in the terminal buffer and then memcpy'ing it.
* | | | | | | | | | Merge pull request #7692 from bfredl/wildcmdBjörn Linse2017-12-06
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | ui: fix glitch with both ext_cmdline and cmd_wildmenu
| * | | | | | | | | | ui: fix glitch with both ext_cmdline and cmd_wildmenuBjörn Linse2017-12-06
| | | | | | | | | | |
| * | | | | | | | | | tests: cleanup ui/cmdline_spec.luaBjörn Linse2017-12-05
| | | | | | | | | | |
* | | | | | | | | | | build: de-parallelize luarocks dependencies (#7697)Justin M. Keyes2017-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ref 6647f3c047b1 closes #7535
* | | | | | | | | | | tui: ignore st terminfo cursor shape (Se, Ss) entriesJustin M. Keyes2017-12-06
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #7641
* | | | | | | | | | Merge #7477 from FlorianGit/empty-lists-dicts-stringsJustin M. Keyes2017-12-05
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | Viml: Make filter and map handle null list correctFlorianGit2017-12-03
| | |_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filter('v:_null_list, 'v:val') should return v:_null_list and a similar statement should hold for map. Changes after review * Test inserted in legacy test suite has been removed by reverting the commit adding it. * Change the fix to tv_copy the argument before returning. * Readd the two tests on crashes, and modified their expected return value. * Move the test from 'incorrect behaviour' section to 'correct behaviour section' * Add analogous tests for v:_null_dict Always copy list or dictionary to return variable If the type of input is correct (i.e. either a list or a dictionary), this should also be returned.
* | | | | | | | | | Merge #7653 from justinmk/tui-termcapJustin M. Keyes2017-12-05
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | tui: flush -V3 ('verbose' >= 3) info ASAPJustin M. Keyes2017-12-05
| | | | | | | | | | |
| * | | | | | | | | | test/tui: -V3log logs terminfo valuesJustin M. Keyes2017-12-05
| | | | | | | | | | |
| * | | | | | | | | | test: write_file(): support append-modeJustin M. Keyes2017-12-05
| | | | | | | | | | |
| * | | | | | | | | | test: retry(): fix time calculationJustin M. Keyes2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libuv caches the results of uv.now() until the next loop tick. If a test does not spin the libuv event loop, retry() enters an infinite cycle.
| * | | | | | | | | | test: macOS 10.13: unibilium cannot find "xterm" terminfoJustin M. Keyes2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some macOS versions we can't find the terminfo for whatever reason, so just skip the test if it fails.
| * | | | | | | | | | test: tui_spec: narrower scope for timeout tweaksJustin M. Keyes2017-12-05
| | | | | | | | | | |
| * | | | | | | | | | msg_outtrans_special(): handle NULLJustin M. Keyes2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is convenient for terminfo_info_msg().
| * | | | | | | | | | msg_outtrans_special(): `const` some stringsJustin M. Keyes2017-12-05
| | | | | | | | | | |
| * | | | | | | | | | str2specialbuf(): fix comparisonJustin M. Keyes2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | regression by 832c158a663c
| * | | | | | | | | | tui: set descriptions on termcap extensionsJustin M. Keyes2017-12-05
| | | | | | | | | | |
| * | | | | | | | | | tui: dump termcap info if -V3 ('verbose' >= 3)Justin M. Keyes2017-12-05
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Get terminal debugging info by starting Nvim with 'verbose' level 3: nvim -V3log This is like Vim's `:set termcap`, which was removed in Nvim (and would be very awkward to restore because of the decoupled UI).
* | | | | | | | | | Merge pull request #7683 from fszymanski/masterJames McCoy2017-12-03
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | Fix job_control doc
| * | | | | | | | | Fix job_control docFilip Szymański2017-12-03
|/ / / / / / / / /
* | | | | | | | | Merge pull request #7666 from wsdjeg/patch-1Felipe Morales2017-12-02
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix example in job_control doc
| * | | | | | | | | Fix type in job_control docWang Shidong2017-12-01
| | | | | | | | | |
* | | | | | | | | | vim-patch:8.0.0306 (#7675)KunMing Xie2017-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: mode() not sufficiently tested. Solution: Add more tests. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/e971df39a5aac5d9b7e8033247dc18b12daa0eb8
* | | | | | | | | | Merge #7672 from ckelsel/vim-8.0.0298Justin M. Keyes2017-12-02
|\ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / |/| | | | | | | | |
| * | | | | | | | | fix lint errorckelsel2017-12-02
| | | | | | | | | |
| * | | | | | | | | vim-patch:8.0.0298ckelsel2017-12-02
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Ex command range with repeated search does not work. (Bruce DeVisser) Solution: Skip over \/, \? and \&. https://github.com/vim/vim/commit/cbf20fbcd3e9bb006f694bcc35da859930fb12a2
* | | | | | | | | vim-patch:8.0.0295 (#7671)KunMing Xie2017-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: test_viml hangs. Solution: Put resetting 'more' before sourcing the script. https://github.com/vim/vim/commit/7a073549a3b1e72037a4e98ceb406d057ac9ba50
* | | | | | | | | tui.c: request focus-reporting (fix regression) #7670Justin M. Keyes2017-12-02
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ref #7649 ref #7664 27f9b1c7b029d8 caused a regression: it uses loop_schedule_deferred() to defer emitting the "enable focus reporting" termcode. tui_main() never processes `tui_loop.events` (which loop_schedule_deferred() depends on), so the event was never actually processed. But fixing that (by processing `tui_loop.events`) would bring back the problem 27f9b1c7b029 tried to fix: it still emits the event too soon. Instead, do a little dance: schedule the event on `main_loop` and then forward it to `tui_loop`. NOTE: after this commit, in tmux 2.3 with `focus-events` enabled, FocusGained is fired on startup and when resuming from suspend. Using `script` to record the terminal session (and `vterm-dump` to post-process the result): BEFORE: {DECSM 1049}{DECSM 1}{ESC =} {CUP *}{ED *}{DECSM 2004}{DECSM 1004}{CSI 1,43 r} {CUP 1,1} {CUP *}{ED *}{SM 34}{DECSM 25} {DECRM 25}{CSI 2 q}{CSI 2 q} {CUP *}{ED *}{LF} {SGR *}{LS1}{SGR 94}~ ... AFTER: {CUP *}{ED *}{CSI 1,43 r} {CUP 1,1} {CUP *}{ED *}{SM 34}{DECSM 25} {DECRM 25}{CSI 2 q}{CSI 2 q} {CUP *}{ED *}{DECSM 2004}{DECSM 1004}{LF} {SGR *}{LS1}{SGR 94}~ ...