Files
ale/doc
D. Ben Knoble 530b38de34 Vim popup (#3817)
* implement vim popups for preview

Details on implementation
-------------------------
- we make use of the |popupwin| api
- we split implementations (Nvim* vs. Vim* prefix) and call the right
  one based on has('nvim')
- we follow a similar structure in each function, using the relevant API
  - popup_list, win_execute, popup_settext in VimShow
  - popup_create in VimCreate
  - popup_close in VimClose

Some differences
----------------
- we DON'T have VimPrepareWindowContent because we use arguments to
  popup_create for borders, padding, etc., and it also takes care of
  buffer creation.
- we follow the protocol of setting and using w:preview for information,
  but we only need the ID
- InsertEnter is the only autocommand required, because of
  popup_create's moved argument. Any cursor movement with 'any' will
  close the popup. This in turns means VimClose is only called from
  InsertMode, so no mode-restoration necessary
- we don't tweak too much in the buffer because vim's popup buffers
  already have most relevant settings and aren't editable without
  calling popup functions.
- I enabled scrollbars, close buttons, dragging, and resizing
- vim popups get as big as they need to by default, so no worrying about
  truncating/hiding/size

Note: we might want to consider changing w:preview to w:ale_preview to
avoid clashes if someone else tries to use the same variable

* floating window: document that vim supports it

* lint: fix indent/cont. lines
2021-07-23 21:59:31 +09:00
..
2019-11-05 17:59:51 +01:00
2018-12-01 15:05:18 +09:00
2019-07-30 11:12:46 -04:00
2019-09-10 20:54:14 +01:00
2021-03-19 22:29:06 +00:00
2019-09-04 00:20:12 +02:00
2020-10-31 14:01:08 +08:00
2017-12-01 17:36:44 +00:00
2018-08-02 13:50:56 -07:00
2019-05-23 15:49:02 +01:00
2017-08-10 21:09:58 +01:00
2020-12-23 16:50:45 +01:00
2018-11-11 18:26:37 +01:00
2020-08-04 20:11:49 +01:00
2021-01-23 11:56:10 +09:00
2018-09-08 16:05:34 -04:00
2019-01-20 19:39:47 -06:00
2019-01-27 12:14:34 +00:00
2018-05-04 21:44:32 +02:00
2019-11-14 14:50:21 +00:00
2021-03-24 09:02:17 +09:00
2018-09-26 20:09:37 +08:00
2018-09-06 21:59:03 -04:00
2021-02-18 23:51:11 +09:00
2021-01-22 23:51:29 +09:00
2018-09-28 16:18:40 -07:00
2018-04-21 22:09:38 +09:00
2018-02-10 13:17:53 -06:00
2018-10-26 17:29:17 +01:00
2018-06-25 10:28:59 +02:00
2020-11-21 20:58:34 +00:00
2020-09-14 07:57:22 -03:00
2020-12-17 09:19:19 +01:00
2019-08-31 12:34:57 +08:00
2018-12-06 11:23:31 -07:00
2020-07-30 09:00:20 -05:00
2020-08-28 09:25:40 +01:00
2017-08-02 23:05:19 +01:00
2021-01-23 00:43:33 +01:00
2018-08-03 21:13:48 +01:00
2021-07-23 21:59:31 +09:00