aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
Commit message (Collapse)AuthorAge
* screen: missing redraw/highlight for ruler in message areaBjörn Linse2019-09-22
|
* vim-patch:8.1.2060: "precedes" in 'listchars' not used properlyJustin M. Keyes2019-09-21
| | | | | | | | (Credit: Zach Wegner, https://github.com/neovim/neovim/pull/11034) Problem: "precedes" in 'listchars' not used properly. Solution: Correctly handle the "precedes" char in list mode for long lines. https://github.com/vim/vim/commit/bffba7f7042f6082e75b42484b15f66087b01941
* Fix "precedes" listchar behavior in wrap modeZach Wegner2019-09-21
| | | | | | | | | | | | Previously, the "precedes" character would be rendered on every row when w_skipcol > 0 (i.e., when viewing a single line longer than the entire screen), instead of just on the first row. Make sure to only render it on the first row in this case. Add a test for this behavior. Fix documentation for the "precedes" character, which erroneously stated that it was only active when wrap mode was off.
* screen: fix vcol counting with virtual text. Fixes #9941Björn Linse2019-09-21
|
* win_update: fix redraw regression (#11027)Daniel Hahler2019-09-18
| | | | | | | Before 6e9ea5adc `win_ins_lines` would return `FAIL` for `i/line_count == 0`. Handle this by checking it in the outer `if`. Ref: https://github.com/neovim/neovim/commit/6e9ea5ad#commitcomment-35084669
* screen: redrawdebug=nothrottleBjörn Linse2019-09-06
|
* vim-patch:8.0.1768: SET_NO_HLSEARCH() used in a wrong wayJan Edmund Lazo2019-09-02
| | | | | | | Problem: SET_NO_HLSEARCH() used in a wrong way. Solution: Make it a function. (suggested by Dominique Pelle, closes vim/vim#2850) https://github.com/vim/vim/commit/451fc7b954906069f1830a8092ad85616049a828
* screen: initialize screen properly with early `set display-=msgsep`Björn Linse2019-09-02
| | | | | | | | | | | | | Currently `nvim -u NORC --cmd "set display-=msgsep"` will still allocate the message grid and remove it just afterwards. While inefficient, we must make sure update_screen() re-validates the default_grid completely when this happens. Fix some invalid logic: don't reallocate msg_grid on resize when the grid is not used. Elide a too early ui_flush() on startup, which caused an invalid cursor position to be used.
* screen: add some documentation of internals of msg_grid implementationBjörn Linse2019-09-01
|
* screen: use dedicated message gridBjörn Linse2019-09-01
| | | | | | | | add proper msg_set_pos event, delet win_scroll_over_* make compositor click through unfocusable grids add MsgArea attribute for the message/cmdline area, and add docs and tests
* compositor: handle invalid screen positions after resize gracefullyBjörn Linse2019-08-14
| | | | | | | | The screen resize logic needs to be refactored to be simpler and more deterministic. Until then, we need to handle attempts to draw outside of the screen size gracefully, just like the old vim code did. fixes #9989
* clang/"Argument with 'nonnull' attribute passed null" #10739Ihor Antonov2019-08-11
| | | | | | | | Problem: In screen.c grid_char_needs_redraw clang warns that grid->chars could be NULL Solution: Suggested by bfredl. Add explicit check grid->chars != NULL in grid_put_linebuf similar to grid_puts_len
* vim-patch:8.1.1458: crash when using gtags #10704Jan Edmund Lazo2019-08-10
| | | | | | Problem: Crash when using gtags. (issue vim/vim#4102) Solution: Check for negative row or col in screen_puts_len(). (Christian Brabandt) https://github.com/vim/vim/commit/0b4c9eddb5752d46b65d16e42230b1228f230f40
* clang/"dead assignment": screen.c #10702Ihor Antonov2019-08-06
| | | | | | | Suppress the warning. mb_c and mb_l describe a char together, they are not independent variables. The coupled assignments are good practice to avoid future confusion, even if the current code doesn't use an assigned value.
* clang/"dead assignments" #10620Bartosz Miera2019-07-29
| | | | Also revert possibly-wrong change in f_sign_getplaced() from 652be3cb0040.
* vim-patch:8.1.1747: unused variables #10605Jan Edmund Lazo2019-07-26
| | | | | Problem: Compiler warning for unused variables. (Tony Mechelynck) Solution: Add #ifdef. https://github.com/vim/vim/commit/fbfb757d4cb19e14853605f70ac663e42ec74663
* PVS/V768: do use enum as bool #10582Ihor Antonov2019-07-25
| | | Fix win_draw_end invocation, pass HLF symbol explicitly.
* vim-patch:8.1.0706: introduce :redrawtabline #10570Jan Edmund Lazo2019-07-22
| | | | | | | Problem: Tabline is not always redrawn when something that is used in 'tabline' changes. Solution: Add ":redrawtabline" so that a plugin can at least cause the redraw when needed. https://github.com/vim/vim/commit/e12bab3144af8943937bd0ff4bc57f04e53037b3
* move: assert nonnull wp pointerJan Edmund Lazo2019-07-20
|
* Merge pull request #10541 from bfredl/conversion_getlnBjörn Linse2019-07-19
|\ | | | | refactor: enable -Wconversion for ex_getln.c and use int for Rows/Columns
| * refactor: use int for Columns and RowsBjörn Linse2019-07-19
| |
* | lintIhor Antonov2019-07-19
| |
* | pvs/V560: A part of conditional expression is always trueIhor Antonov2019-07-19
| | | | | | | | wp->w_p_list is checked earlier in the same composite if condition
* | pvs/V560: A part of conditional expression is always trueIhor Antonov2019-07-19
|/ | | | c == '\000' is always true because of the if branch it is already in
* vim-patch:8.1.0623: iterating through window frames is repeatedJan Edmund Lazo2019-07-15
| | | | | | Problem: Iterating through window frames is repeated. Solution: Define FOR_ALL_FRAMES. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/3d1491ed2394b3e92902102879bace28a5f9c201
* PVS/V1028: cast operands, not the result #10498Ihor Antonov2019-07-16
| | | | | The + 1 can be removed. It was used for current_screenline, which now is dedicated linebuf_char buffer.
* PVS/V547: expression is always false #10511Ihor Antonov2019-07-15
|
* Merge pull request #10090 from bfredl/floatpopupBjörn Linse2019-07-07
|\ | | | | api/window: add style="minimal" flag to disable unwanted UI features for simple floats
| * api/window: add style="minimal" flag to nvim_open_win()Björn Linse2019-07-07
| |
* | vim-patch:8.1.1614: 'numberwidth' can only go up to 10Jan Edmund Lazo2019-07-05
|/ | | | | | Problem: 'numberwidth' can only go up to 10. Solution: Allow up to 20. (Charlie Stanton, closes vim/vim#4584) https://github.com/vim/vim/commit/f8a071265535b8cc43e50a81f4d5049883ca50e4
* screen: disable redrawing inside VimResizedBjörn Linse2019-07-05
| | | | | | Note: test doesn't fail on master. I cannot reproduce the glitches with -u NONE, probably it requires interfering events. But add some coverage for these checks at least.
* cmdline: correct the column position of wildoptions=pum popupmenuBjörn Linse2019-07-01
| | | | | - position might get invalid with "longest" match - position might be wrong when completed pattern ends in "/"
* vim-patch:8.0.1100: stuck in redraw loop when 'lazyredraw' is setJan Edmund Lazo2019-06-26
| | | | | | | Problem: Stuck in redraw loop when 'lazyredraw' is set. Solution: Don't loop on update_screen() when not redrawing. (Yasuhiro Matsumoto, closes vim/vim#2082) https://github.com/vim/vim/commit/072412ed45aa20a67aaa7e387d7f6bf59c7d3fbe
* vim-patch:8.0.1688: some macros are used without a semicolonJan Edmund Lazo2019-06-26
| | | | | | | Problem: Some macros are used without a semicolon, causing auto-indent to be wrong. Solution: Use the do-while(0) trick. (Ozaki Kiichi, closes vim/vim#2729) https://github.com/vim/vim/commit/6f4700233fd925fe122b851f937929fb5e5da707
* ui: add 'winblend' to support blending of floating windowsBjörn Linse2019-06-25
| | | | Also add `hi blend=` attribute to override transparency of indiviual attributes.
* screen: Adjust buffer sizes for multiple sign columns #10314oni-link2019-06-24
| | | | | | | | * screen: Fix to draw signs with combining characters. The buffer size for signs can be too small, because the upper length limit of a sign can be 56 bytes. If combining characters are only two bytes in size, this reduces to 32 bytes. * screen: Adjust buffer size to maximal sign column count
* screen: showcmd should never move the cursorBjörn Linse2019-06-13
| | | | | Also restore the symmetry between grid_puts_line_start and grid_puts_line_flush.
* vim-patch:8.1.0002: :stopinsert changes the message positionJan Edmund Lazo2019-06-03
| | | | | | | Problem: :stopinsert changes the message position. Solution: Save and restore msg_col and msg_row in clearmode(). (Jason Franklin) https://github.com/vim/vim/commit/2abad54cede7c33f090fbde19a9a3eb3dbf78e53
* Make sure msg_clear is sent after confirm message (#10065)Ville Hakulinen2019-06-02
|
* [RDY] Fix wildmode=list,full and display+=msgsep interaction (#10103)Jit2019-06-02
| | | | * Fix wildmode=list and display+=msgsep interaction * Add test to check ext_messages behaviour is unchanged
* lintJan Edmund Lazo2019-05-26
|
* 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
* Merge #10059 from jerdna-regeiz/vim-8.1.0614Justin M. Keyes2019-05-26
|\ | | | | vim-patch:8.1.0614,8.1.0632,8.1.0644,8.1.0658,8.1.0660,8.1.0669,8.1.0673,8.1.0679,8.1.0697,8.1.0701,8.1.0702,8.1.0709,8.1.0717,8.1.0750,8.1.0767,8.1.0772,8.1.0039
| * vim-patch:8.1.0709: windows are updated for every added/deleted signAndrej Zieger2019-05-26
| | | | | | | | | | | | | | Problem: Windows are updated for every added/deleted sign. Solution: Do not call update_debug_sign(). Only redraw when the line with the sign is visible. (idea from neovim vim/vim#9479) https://github.com/vim/vim/commit/27a472c32ed5b5298bca50864570a4a71ec1d204
| * vim-patch:8.1.0673: functionality for signs is spread out over several filesAndrej Zieger2019-05-26
| | | | | | | | | | | | | | Problem: Functionality for signs is spread out over several files. Solution: Move most of the sign functionality into sign.c. (Yegappan Lakshmanan, closes vim/vim#3751) https://github.com/vim/vim/commit/bbea47075cc4e7826e9f8c203e4272ba023ed7b0
* | UI/cmdline: check if redraw is needed after K_EVENT, K_COMMAND #9804Jit2019-05-26
|/ | | fixes #8490
* vim-patch:8.0.1496: VIM_CLEAR()Justin M. Keyes2019-05-25
| | | | | | | | Problem: Clearing a pointer takes two lines. Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi, closes #2629) vim-patch:8.0.1481
* vim-patch:8.1.1338: fix hang when concealing wide char #10023Jan Edmund Lazo2019-05-18
| | | | | | | Problem: Hang when concealing the '>' shown for a wide char that doesn't fit in the last cell. Solution: Put back the pointer when the '>' is not going to be displayed. (closes vim/vim#4377) https://github.com/vim/vim/commit/0ebe12be86d9f79bfa833306a0302a68a0f4fc30
* vim-patch:8.1.1299: "extends" from 'listchars' is used when 'list' is offJan Edmund Lazo2019-05-08
| | | | | | | | Problem: "extends" from 'listchars' is used when 'list' is off. (Hiroyuki Yoshinaga) Solution: Only use the "extends" character when 'list' is on. (Hirohito Higashi, closes vim/vim#4360) https://github.com/vim/vim/commit/a5c6a0b6c71ae11078cbf6f5e18ce49a0468a117
* vim-patch:8.1.0865: when 'listchars' only contains "nbsp:X" it does not workJan Edmund Lazo2019-05-08
| | | | | | Problem: When 'listchars' only contains "nbsp:X" it does not work. Solution: Set extra_check when lcs_nbsp is set. (Ralf Schandl, closes vim/vim#3889) https://github.com/vim/vim/commit/895d966e341c187ffcf9da88dba193cbfcebf000