aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mouse.c
Commit message (Collapse)AuthorAge
...
* 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
* floats: implement floating windowsBjörn Linse2019-03-02
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* Merge #9539 "options: make 'listchars' and 'fillchars' local to window"Marco Hinz2019-01-28
|\
| * options: make 'fillchars'/'listchars' local to windowMarco Hinz2019-01-26
| | | | | | | | | | | | | | | | | | | | Using 'listchars' is a nice way to highlight tabs that were included by accident for buffers that set 'expandtab'. But maybe one does not want this for buffers that set 'noexpandtab', so now one can use: autocmd FileType go let &l:listchars .= ',tab: '
* | window/ui: reorganize size variables, fix terminal window size with multigrid.Björn Linse2019-01-27
|/ | | | | | | wp->w_height_inner now contains the "inner" size, regardless if the window has been drawn yet or not. It should be used instead of wp->w_grid.Rows, for stuff that is not directly related to accessing the allocated grid memory, such like cursor movement and terminal size
* ui: multigrid mouse supportBjörn Linse2019-01-20
|
* clang/"Dead assignment"Justin M. Keyes2019-01-13
|
* remove check_visual_highlight()Justin M. Keyes2019-01-04
| | | | This check is meaningless, we assume the terminal supports reverse-mode.
* multigrid: rename grid->ScreenLines and other grid arraysBjörn Linse2018-12-31
|
* multigrid: Fix lint errorsUtkarsh Maheshwari2018-12-31
|
* multigrid: Get rid of global ScreenLines and set_screengridUtkarsh Maheshwari2018-12-31
|
* vim-patch:8.0.0948: crash if timer closes window while dragging status lineJan Edmund Lazo2018-08-05
| | | | | | | Problem: Crash if timer closes window while dragging status line. Solution: Check if the window still exists. (Yasuhiro Matsumoto, closes vim/vim#1979) https://github.com/vim/vim/commit/989a70c590c2bd109eb362d3a0e48cb1427ae13d
* Merge #8526 from janlazo/vim-8.0.0451Justin M. Keyes2018-06-16
|\
| * vim-patch:8.0.0451: some macros are in lower caseJan Edmund Lazo2018-06-12
| | | | | | | | | | | | | | Problem: Some macros are in lower case. Solution: Make a few more macros upper case. Avoid lower case macros use an argument twice. https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
* | screen: use UTF-8 representationBjörn Linse2018-06-13
|/ | | | | | | | | | | | | | Store text in ScreenLines as UTF-8, so it can be sent as-is to the UI layer. `utfc_char2bytes(off,buf)` is removed, as `ScreenLines[off]` now already contains this representation. To recover the codepoints that the screen arrays previously contained, use utfc_ptr2char (or utf_ptr2char to ignore composing chars). NB: This commit does NOT change how screen.c processes incoming UTF-8 data from buffers, cmdline, messages etc. Any algorithm that operates on UCS-4 (like arabic shaping, treatment of non-printable chars) is left unchanged for now.
* Safer loop for skipping consecutive concealed charsTommy Allen2018-01-28
|
* Use one variable for tracking adjustment instead of twoTommy Allen2018-01-28
|
* Adjust cursor according to character display widthsTommy Allen2018-01-28
|
* Don't move cursor to the left if on the first column of wrapped lineTommy Allen2018-01-28
| | | | ref: #7887
* Use utfc_ptr2len instead of utf_ptr2lenTommy Allen2018-01-28
|
* mouse.c: Fix mouse click on lines with multibyte textTommy Allen2018-01-28
| | | | fixes #5341, #5801
* ui: cleanup UI_CALL wrappersBjörn Linse2017-05-10
| | | | remove pointless control chars in the text stream
* Merge #6539 'More cursor shape modes'Justin M. Keyes2017-04-21
|\
| * ui: support more cursor shape modesBjörn Linse2017-04-21
| | | | | | | | throttle unneccessary cursor shape events
* | *: Add comment to all C filesZyX2017-04-19
|/
* refactor: eliminate misc2.cJustin M. Keyes2016-09-13
| | | | | | | | | | move `call_shell` to misc1.c Move some fns to state.c Move some fns to option.c Move some fns to memline.c Move `vim_chdir*` fns to file_search.c Move some fns to new module, bytes.c Move some fns to fileio.c
* mouse.c: Adjust clicked column if chars are concealed (#5087)Tommy Allen2016-07-28
| | | | | syntax.c: Added syn_get_concealed_id() tests: Added tests for mouse clicks on concealed text.
* *: Fix new linter errorsZyX2016-05-01
| | | | Originally there were 128 new errors, so I thought this is a good idea to fix all of them. Of course, this commit also fixes many suppressed errors.
* mouse: Implement horizontal scroll. #3450bambu2016-04-25
| | | | | | | | | | - Code from Vim source. - Removed the check for 'guioptions' - mouse_spec.lua: test <ScrollWheelLeft> and <ScrollWheelRight> - Move horizontal scroll logic to mouse.c - Remove 'gui_' from the function names - Renamed variables to be more specific (as opposed to generic p, w). - Marked some functions as `static`
* hasFolding return bool nowNicolas Cornu2015-09-08
|
* refactor: Remove term modules and termcap optionsThiago de Arruda2015-02-21
| | | | | | | | | | | | | | | - Removed term.c, term.h and term_defs.h - Tests for T_* values were removed. screen.c was simplified as a consequence(the best strategy for drawing is implemented in the UI layer) - Redraw functions now call ui.c functions directly. Updates are flushed with `ui_flush()` - Removed all termcap options(they now return empty strings for compatibility) - &term/&ttybuiltin options return a constant value(nvim) - &t_Co is still available, but it mirrors t_colors directly - Remove cursor tracking from screen.c and the `screen_start` function. Now the UI is expected to maintain cursor state across any call, and reset it when resized. - Remove unused code
* ui: Remove/adapt some old code for a big UI refactorThiago de Arruda2015-02-16
| | | | | | | | | | | | | - Remove abstract_ui global, now it is always active - Remove some terminal handling code - Remove unused functions - Remove HAVE_TGETENT/TERMINFO/TERMIOS/IOCTL #ifdefs - Remove tgetent/terminfo from version.c - Remove curses/terminfo dependencies - Only start/stop termcap when starting/exiting the program - msg_use_printf will return true if there are no attached UIs( messages will be written to stdout) - Remove `ex_winpos`(implement `:winpos` with `ex_ni`)
* ui: Add abstract_ui termcap and split UI layerThiago de Arruda2014-12-08
| | | | | | | | | | | | | | | | | | This is how Nvim behaves when the "abstract_ui" termcap is activated: - No data is written/read to stdout/stdin by default. - Instead of sending data to stdout, ui_write will parse the termcap codes and invoke dispatch functions in the ui.c module. - The dispatch functions will forward the calls to all attached UI instances(each UI instance is an implementation of the UI layer and is registered with ui_attach). - Like with the "builtin_gui" termcap, "abstract_ui" does not contain any key sequences. Instead, vim key strings(<cr>, <esc>, etc) are parsed directly by input_enqueue and the translated strings are pushed to the input buffer. With this new input model, its not possible to send mouse events yet. Thats because mouse sequence parsing happens in term.c/check_termcodes which must return early when "abstract_ui" is activated.
* mouse: Remove CHECK_DOUBLE_CLICK conditionalsThiago de Arruda2014-12-02
| | | | This is now always defined.
* term: Move more mouse functions to mouse.cThiago de Arruda2014-12-02
|
* ui: Extract mouse.c/mouse.hThiago de Arruda2014-11-27