Maxime Coste
d3be78cca2
Only commit undo groups when buffer was modified
...
This fixes an interaction with kak-lsp that would trigger undo group
commit when setting a buffer option value.
2018-09-12 20:02:57 +10:00
Maxime Coste
57baad4afd
Make FaceRegistry scoped
...
set-face now takes a scope argument, and faces can be overridden on
a buffer or window basis.
colorscheme apply on global scope, which should be good enough for
now.
Fixes #1411
2018-04-07 16:27:50 +10:00
Maxime Coste
0baf562c93
Support full redraws during shell execution and handle resize there
...
Fixes #1973
2018-03-30 09:58:18 +11:00
Maxime Coste
4b06c09c68
Make edit
command work fine when running from an empty context
...
This way, the kind of context we get from a piped command allows
for opening a buffer and working with it directly.
2017-12-12 18:22:05 +11:00
Delapouite
a071e5b226
Add count support to jumps (<c-o> and <c-i>). Add jumps tests
2017-11-13 08:38:43 +01:00
Delapouite
6b339b7a97
Add status info when navigating through jumplist (<c-o>, <c-i>)
2017-09-27 17:26:39 +02:00
Maxime Coste
28bcb45b92
Fix bug where idle timers of disabled modes were still run
2017-05-22 16:57:22 +01:00
Maxime Coste
468bd63569
Tweak buffer change code so that WinDisplay hooks can use info boxes
2017-05-13 11:18:21 +01:00
Maxime Coste
d470bd2cc9
Make numeric registers setable
...
Fixes #1214
2017-02-14 00:02:01 +00:00
Maxime Coste
a7cac87753
Display a status line message when Kakoune is waiting on a shell to complete
...
If a shell commands takes more than 1s to execute, a message will appear
on the status line notifying the user, along with the time Kakoune has
been waiting for.
2016-10-29 11:25:58 +01:00
Maxime Coste
34c8e6a9cf
Clear up info/menus and eventual prompts when reseting to normal mode
...
Fixes #697
2016-06-16 19:35:43 +01:00
Maxime Coste
3987463e75
Remove direct access to ui, go through client
...
Client can now update menu/info positions when the window move
around.
2016-02-27 17:23:13 +00:00
Maxime Coste
c16b9a2ec4
Set window dimensions when setting it in a context
2015-12-25 07:17:36 +00:00
Maxime Coste
669fccc5e9
Remove drop jump (c-d)
2015-12-23 02:47:32 +00:00
Maxime Coste
aa92ca96c8
Use an index for jump list current rather than an iterator
2015-12-23 02:31:03 +00:00
Maxime Coste
411e5a9486
Extract jump list handling in a JumpList struct
2015-12-23 01:56:54 +00:00
Maxime Coste
9e664318af
Tweak Context::push_jump implementation, simplify code
2015-12-22 22:18:25 +00:00
Maxime Coste
a8d81e395b
Support dropping last jump and use it to fix :tag double jump push
...
Fixes #492
2015-11-27 13:57:46 +00:00
Viktor Palmkvist
b53d9e282e
Fix segfault in edge case when jumping backwards in jumplist
...
Closes #380
2015-08-26 11:54:51 +02:00
Maxime Coste
905af05c61
Move Context scope access helpers as inline methods
2015-07-13 13:43:52 +01:00
Maxime Coste
ddd70fd09a
Make empty context construction more explicit
2015-04-19 18:47:52 +01:00
Maxime Coste
1dfa2d7fe4
Avoid unneeded update of selections when we are going to overwrite them
2015-04-19 15:12:16 +01:00
Maxime Coste
9f65a4e6dd
Remove Context::set_selections, use Context::selections() = ...
2015-04-19 15:00:37 +01:00
Maxime Coste
da562e03a0
replace all std::vector with Vector
2015-01-12 13:58:41 +00:00
Maxime Coste
1c8ee78d1a
Do not register timers for transient input handlers
2014-12-18 23:12:58 +00:00
Maxime Coste
e8c8833211
Do not reset edition level to 0 on buffer change
...
Keep it as is, commit undo in current buffer, and we will commit it in
the new buffer when edition level gets back to 0.
2014-11-21 18:56:39 +00:00
Maxime Coste
e38ba6ce3d
Add scope class and encapsulate Options, Keymaps, Aliases and Hooks in it
2014-10-30 14:04:57 +00:00
Maxime Coste
185b980718
Add scoped aliases
...
aliases are now stored in window, buffer, or globally.
2014-10-30 14:02:13 +00:00
Maxime Coste
729e55573f
Support changing buffer when an edition is in progress
2014-10-10 14:00:24 +01:00
Maxime Coste
b934c8ede5
Fix crash in Context::main_sel_register_value
2014-06-23 13:16:51 +01:00
Maxime Coste
7235180614
Use main selection index as default when accessing only one register value
...
Fixes #117
2014-06-21 11:31:08 +01:00
Maxime Coste
26f69b199e
Rework and fix corner cases in selection updating code
2014-06-05 19:44:56 +01:00
Maxime Coste
a5e028e1b1
Add Context::set_selections(std::vector<Selection>)
...
This methods avoids updating the context selection needlessly as
they are going to get replaced anyway.
2014-06-01 16:01:38 +01:00
Maxime Coste
bf98b38afd
Use a plain SelectionList for Context, remove DynamicSelectionList
2014-05-14 19:49:04 +01:00
Maxime Coste
a06094b00e
Use simple SelectionList for the Context::JumpList
2014-05-13 20:09:37 +01:00
Maxime Coste
ea3e92aa5e
SelectionList know its buffer and timestamp
2014-05-13 20:09:06 +01:00
Maxime Coste
39983e54d0
minor code style tweak
2014-04-04 00:00:06 +01:00
Maxime Coste
9455303a1e
Do not allow changing buffer when the context is editing
2014-01-06 20:07:08 +00:00
Maxime Coste
c0973075fa
Get rid of Editor for good
...
ClientManager now stores only the free windows, clients take
ownership of its own.
2013-12-20 20:14:57 +00:00
Maxime Coste
d1ac813f61
Pass a Context rather than a Window to highlighters
2013-12-16 23:24:08 +00:00
Maxime Coste
ea95632709
Move Editor::selections_content to Context
2013-12-15 20:37:07 +00:00
Maxime Coste
7267b8281f
Move insert and erase to normal.cc, and move edition management to context
2013-12-15 20:23:02 +00:00
Maxime Coste
935bc3cec9
Add Context::selections method, and use it in priority to the Editor's one
2013-12-15 14:25:23 +00:00
Maxime Coste
f8cadc0c57
move Client::m_name to context, no more need for DraftUI
2013-11-14 20:51:25 +00:00
Maxime Coste
ad275d1d1c
Extract InputHandler from Client
2013-11-14 18:09:15 +00:00
Maxime Coste
2c09da50be
Add key mapping support
2013-10-25 00:30:46 +01:00
Maxime Coste
fe0a4f0d11
Reset normal mode when changing the current editor
2013-10-15 18:50:43 +01:00
Maxime Coste
6331fb5a61
Add <c-s> for saving current selection in the jump list
2013-10-02 18:49:06 +01:00
Maxime Coste
06e06d6ea6
remove print_status from UserInterface, pass status line to draw
...
Client store the current status line. This way calls to print status
do not force the user interface to display directly.
2013-09-16 19:15:13 +01:00
Maxime Coste
823812fd1a
rename InputHandler to Client
2013-09-12 23:47:23 +02:00