aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mouse.c
Commit message (Collapse)AuthorAge
...
* vim-patch:9.0.0825: cannot drag an entry in the tabpage linezeertzjq2022-11-02
| | | | | | | | | | Problem: Cannot drag an entry in the tabpage line. Solution: Clear dragwin instead of got_click. (closes vim/vim#11483, closes vim/vim#11482) https://github.com/vim/vim/commit/8e0ccb6bc21a446e5c6375b7fdf200fb53a129da Omit Test_term_mouse_drag_to_move_tab(): covered by ui/mouse_spec.lua.
* vim-patch:9.0.0822: crash when dragging the statusline with a mappingzeertzjq2022-11-02
| | | | | | | | | Problem: Crash when dragging the statusline with a mapping. Solution: Check for valid window pointer. (issue vim/vim#11427) https://github.com/vim/vim/commit/8ab9ca93eea32b318235384720200771863ecaee Co-authored-by: Bram Moolenaar <Bram@vim.org>
* refactor: move do_mouse() and its helpers to mouse.c (#20895)zeertzjq2022-11-01
| | | | Vim moved it in patch 8.1.2062, and this is required for patch 9.0.0822. Also change macros in mouse.h to enums.
* vim-patch:9.0.0739: mouse column not correctly used for popup_setpos (#20729)zeertzjq2022-10-19
| | | | | | | | Problem: Mouse column not correctly used for popup_setpos. Solution: Adjust off-by-one error and handle Visual line selection properly. (Yee Cheng Chin, closes vim/vim#11356) https://github.com/vim/vim/commit/17822c507c03d509037c9ee5eee5cfbb201b3f01 The test_termcodes.vim test cannot be used. Use a Lua test instead.
* refactor: replace char_u with charDundar Göc2022-09-06
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u with charDundar Göc2022-08-31
| | | | Work on https://github.com/neovim/neovim/issues/459
* Merge pull request #19971 from dundargoc/refactor/remove-castsbfredl2022-08-29
|\ | | | | refactor: remove redundant casts
| * refactor: remove redundant castsDundar Göc2022-08-27
| |
* | refactor(plines): use a struct for chartabsize statebfredl2022-08-29
|/ | | | | | | | | This is a refactor extracted from vim-patch 9.0.0067: cannot show virtual text The logic for inline virtual text is going to be different in nvim than text property based text in vim, but this refactor is still useful, as calculation of displayed linesize is going to be stateful in a similar way.
* refactor: pre-incr to post-incrLewis Russell2022-08-25
|
* vim-patch:9.0.0206: redraw flags are not named specifically (#19913)zeertzjq2022-08-23
| | | | | Problem: Redraw flags are not named specifically. Solution: Prefix "UPD_" to the flags, for UPDate_screen(). https://github.com/vim/vim/commit/a4d158b3c839e96ed98ff87c7b7124ff4518c4ff
* vim-patch:8.1.2057: the screen.c file is much too bigLewis Russell2022-08-19
| | | | | | | | | | | | | | | Problem: The screen.c file is much too big. Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943) https://github.com/vim/vim/commit/7528d1f6b5422750eb778dfb550cfd0b0e540964 This is an approximation vim-patch 8.1.2057. Applying the patch directly isn't feasible since our version of screen.c has diverged too much, however we still introduce drawscreen.c and drawline.c: - screen.c is now a much smaller file used for low level screen functions - drawline.c contains everything needed for win_line() - drawscreen.c contains everything needed for update_screen() Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* refactor: remove some unused includes (#19820)zeertzjq2022-08-17
| | | Replace grid.h in screen.h and screen.h in buffer.h with grid_defs.h
* refactor: change pre-decrement/increment to post (#19799)Lewis Russell2022-08-16
| | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* fix: right-click in clickable statusline #19252Famiu Haque2022-07-15
| | | | | | | | | | | | Problem: 1. Right-click does not work in statusline unless you left-click first (to focus the statusline). 2. Modifier (e.g. shift+rightclick) does not work in statusline. Solution: Make clickable statusline sections receive right-clicks regardless of whether the statusline is focused. Closes #18994
* feat: add 'mousescroll' option (#12355)Jay2022-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 'mousescroll' option to control how many lines to scroll by when a mouse wheel keycode is received. The mousescroll option controls both horizontal and vertical scrolling. The option is a string in the format: set mousescroll=direction:count,direction:count Where direction is either "ver" or "hor", and count is a non negative integer. If a direction is omitted, a default value is used. The default values remain unchanged, that is 3 for vertical scrolling, and 6 for horizontal scrolling. As such, the mousescroll default is "ver:3,hor:6". Add mousescroll documentation - Add option documentation in options.txt - Add brief summary in quickref.txt Update :help scroll-mouse-wheel - Mention mousescroll option as a means of controlling scrolling. - Remove obsolete suggestion to map scroll wheel keys to <C-U> to scroll by a single line -- users should prefer the mousescroll option. - Add some information about the consequences of remapping scroll wheel keys (they lose their magic ability to affect inactive windows). Update :help vim-differences - Add brief mousescroll summary under Options Add mousescroll tests - Test option validation - Test default mousescroll value and behavior - Test fallback to default values - Test mouse vertical and horizontal scrolling in normal mode - Test mouse vertical and horizontal scrolling in insert mode
* vim-patch:8.0.1558: no right-click menu in a terminalzeertzjq2022-07-01
| | | | | | Problem: No right-click menu in a terminal. Solution: Implement the right click menu for the terminal. https://github.com/vim/vim/commit/aef8c3da2ba59285b7cfde559ae21cdce6ba6919
* refactor(uncrustify): set maximum number of consecutive newlines to 2 (#18695)dundargoc2022-05-25
|
* feat: click support for 'statusline', 'winbar' #18650Famiu Haque2022-05-23
| | | | The mouseclick item "%@" is now supported by 'statusline' and 'winbar'. Previously it was only supported by 'tabline'.
* fix(mouse): fix mouse drag position with winbar or border in multigridzeertzjq2022-05-19
|
* fix(mouse): fix mouse drag position with winbarzeertzjq2022-05-19
|
* Merge pull request #18620 from bfredl/multibarbfredl2022-05-18
|\ | | | | fix(ui): make winbar work with floats and multigrid
| * refactor: grid->rows and grid->colsbfredl2022-05-18
| |
* | fix(ui): set correct position on mouse click when 'winbar' is enabledFamiu Haque2022-05-18
|/
* 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>
* refactor: replace char_u variables and functions with charDundar Goc2022-05-07
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor(uncrustify): change rules to better align with the style guideDundar Goc2022-04-29
| | | | | | | | | | | | | Add space around arithmetic operators '+' and '-'. Remove space between back-to-back parentheses, i.e. ')(' vs. ') ('. Remove space between '((' or '))' of control statements. Add space between ')' and '{' of control statements. Remove space between function name and '(' on function declaration. Collapse empty blocks between '{' and '}'. Remove newline at the end of the file. Remove newline between 'enum' and '{'. Remove newline between '}' and ')' in a function invocation. Remove newline between '}' and 'while' of 'do' statement.
* vim-patch:8.2.4559: getmousepos() returns the screen columnSean Dewar2022-03-15
| | | | | | | | | Problem: getmousepos() returns the screen column. (Ernie Rael) Solution: Return the text column, as documented. https://github.com/vim/vim/commit/533870a98501fac2b51ef4bc489fac3a055a41a9 Re-introduce vcol2col, which was removed in 71b1f4e for being unused. Move it to mouse.c (like in v8.1.2062, which hasn't been ported yet).
* refactor(misc1): move out high-level input functions to a new file: input.cBjörn Linse2021-12-10
| | | | | Possibly dialog code is messages.c could be moved here as well. misc1.c is now empty, so delete it.
* refactor: saner options for uncrustify (#16204)dundargoc2021-11-19
| | | | | | | | | | | | | | | | | | | | | | | | * sp_enum_after_assign = force * sp_brace_typedef = force * nl_do_brace = remove * sp_do_brace_open = force * sp_brace_close_while = force * sp_before_semi = remove * sp_before_semi_for = remove * sp_before_semi_for_empty = remove * sp_between_semi_for_empty = remove * sp_after_semi_for_empty = remove * sp_before_square = remove * sp_before_squares = remove * sp_inside_square = remove * sp_inside_fparens = remove * sp_inside_fparen = remove * sp_inside_tparen = remove * sp_after_tparen_close = remove * sp_return_paren = force * pos_bool = lead * sp_pp_concat = remove * sp_pp_stringify = remove * fixup: disable formatting for the INIT section
* refactor: remove superfluous function-like macros #15918dundargoc2021-10-06
| | | | | | | | | Remove following macros: CONVERTED HMLL_ITER_BACK PACK_STRUCT IGNORE_BUF find_shada_parameter path_try_shorten_fname
* fix(mouse): correct dragged position in composed layoutBjörn Linse2021-10-04
|
* feat(decorations): support virtual lines (for now: only one block at a time)Björn Linse2021-09-26
|
* refactor: format with uncrustify #15741dundargoc2021-09-22
|
* fix(mouse.c): fix mouse drag positions on multigrid #12667Ville Hakulinen2021-09-10
| | | | | | | Currently, multigrid mouse drag positions are handled incorrectly if the drag event is not in the top left grid. Fix this by not adjusting the position of the event in jump_to_mouse. related: #15091
* fix(multigrid): #15075 mouse events crash neovimYatao Li2021-09-08
|
* refactor(plines): move horizontal size functions to plines.cBjörn Linse2021-08-11
| | | | fix style.
* refactor(plines): remove implicit curwin chartabsize() functionBjörn Linse2021-08-10
|
* refactor(plines): move out plines related code from misc1.cBjörn Linse2021-08-10
|
* refactor(plines): remove implicit curwin plines() functionBjörn Linse2021-08-10
|
* refactor: replace TRUE/FALSE macros with C99 true/falseDundar Göc2021-07-25
|
* clang/'Logic error': avoid nullptr derefJan Edmund Lazo2021-04-02
| | | | mouse_find_win() can return NULL.
* floats: add borders (MS-DOS MODE)Björn Linse2021-03-22
|
* w_grid_alloc: baseline implBjörn Linse2021-03-22
|
* Fix click on foldcolumn with vsplit (#14127)tk-shirasaka2021-03-13
|
* [RDY] Fix click on foldcolumn if it has tabline (#13982)tk-shirasaka2021-03-04
| | | | | | | * Fix click on foldcolumn if it has tabline * Fixes to correctly determine if tablie was clicked when multigrid is enabled * Separate foldcolumn checks into functions * Add test case for click on foldcolumn with split window * Fix foldcolumn click used nvim_input() on multigrid enabled
* ui: make 'mouse' handling in external UI more consistentBjörn Linse2021-01-01
| | | | | | | | | before the behaviour of 'mouse' was inconsistent in external UI, as some remapping logic would check has_mouse() and others don't (no difference in TUI or vim classic). With this change, the behaviour is consistently up to the UI decide (see ui.txt edit) Behaviour of tui.c is unaffected by this change.
* menu: remove winbar codeJan Edmund Lazo2020-11-20
| | | | | | | | | No unmerged Vim patch, applicable to Neovim, depend on WinBar feature. It was merged only for merging Vim patches. It is currently useless in Neovim. Remove it to avoid rendering issues. Close https://github.com/neovim/neovim/issues/12689
* Fix alignment issueShirasaka2020-11-10
|
* ui: Fix click on foldcolumn when ext_multigrid is enabledShirasaka2020-11-09
|