micro/internal/action
Dmitry Maluka 34ac83b594 Introduce mouse release and mouse drag events
Introduce separate mouse release and mouse drag (move while pressed)
events: MouseLeftRelease, MouseLeftDrag, MouseRightRelease etc,
to allow binding them to actions independently from mouse press events
(MouseLeft, MouseRight etc).

This change:

- Makes it possible to handle mouse release and drag for arbitrary mouse
  events and actions (including Lua actions), not just for MouseLeft as
  in the current code.

- Fixes issue #2599 with PastePrimary and MouseMultiCursor actions:
  selection is pasted not only when pressing MouseMiddle but also when
  moving mouse with MouseMiddle pressed; similarly, a new multicursor is
  added not only when pressing Ctrl-MouseLeft but also when moving mouse
  with Ctrl-MouseLeft pressed.

My initial approach was not to introduce new events for mouse release
and mouse drag but to pass "mouse released" info to action functions
in addition to *tcell.EventMouse to let the action functions do the
necessary checks (similarly to what MousePress is already doing). But
then I realized it was a bad idea, since we still want to be able also
to bind mouse events to regular key actions (such as PastePrimary)
which don't care about mouse event info.
2023-01-29 18:21:59 +01:00
..
actions.go Introduce mouse release and mouse drag events 2023-01-29 18:21:59 +01:00
actions_other.go Change project layout and use go.mod 2019-12-25 17:05:10 -05:00
actions_posix.go Fix v2 import path for go mod 2020-05-04 10:16:15 -04:00
bindings.go Introduce mouse release and mouse drag events 2023-01-29 18:21:59 +01:00
bufpane.go Introduce mouse release and mouse drag events 2023-01-29 18:21:59 +01:00
command.go Improve buffer view relocation after jumping to a far-away location (#2628) 2022-12-02 19:38:09 -08:00
defaults.go Update keybinding docs 2020-09-06 17:38:23 -04:00
defaults_darwin.go Introduce mouse release and mouse drag events 2023-01-29 18:21:59 +01:00
defaults_other.go Introduce mouse release and mouse drag events 2023-01-29 18:21:59 +01:00
events.go Introduce mouse release and mouse drag events 2023-01-29 18:21:59 +01:00
globals.go Improve comments 2021-08-21 17:58:30 -04:00
infocomplete.go Add support for copy-paste via OSC 52 2020-07-04 20:00:39 -04:00
infopane.go Make yes/no prompts case-insensitive (#2182) 2021-08-13 23:56:26 -04:00
keytree.go More style improvements 2021-08-21 18:04:08 -04:00
pane.go More style improvements 2021-08-21 18:04:08 -04:00
rawpane.go Update to tcell v2 2020-09-05 14:52:35 -04:00
tab.go Rename multimode to multiopen 2023-01-24 17:06:52 -08:00
terminal_supported.go Check error in terminal emulator 2020-07-27 17:43:55 -04:00
terminal_unsupported.go Use actual lua functions for callbacks instead of strings 2020-02-08 15:49:41 -05:00
termpane.go Fix internal string binding representation 2020-11-05 15:52:25 -05:00