Maxime Coste
600ba45189
Add missing include to meta.hh
2017-10-21 05:30:43 +08:00
Maxime Coste
d6cb10d693
Disable constexpr keymap as it breaks compilation with gcc 5
2017-10-20 19:12:21 +08:00
Maxime Coste
723bb2b175
Merge remote-tracking branch 'fsub/master'
2017-10-20 17:28:06 +08:00
Maxime Coste
7c06667bdf
Make the normal mode keymap a compile time hash map
...
This hash map is now fully constexpr, and ends up stored in the read
only data segment instead of being recomputed at each startup.
2017-10-20 12:21:22 +08:00
Maxime Coste
d486ea84e5
Constexprify various hash functions
2017-10-20 12:21:22 +08:00
Maxime Coste
ddff35e5ab
Move keymap as an implementation detail of the normal mode keys
...
Only expose a free function that tries to get the NormalCmd from a
key.
2017-10-20 12:21:22 +08:00
fsub
a70128a4cf
Avoid some warnings in optimized builds
2017-10-19 22:20:44 +02:00
Maxime Coste
ddc307b8e9
Optimize CommandManager::execute handling of tokens
...
Instead of walking a list of tokens and inserting eventual new
ones in the middle, use a stack of token and push new ones on top.
2017-10-17 10:25:20 +08:00
Maxime Coste
145cf843dd
Add a fail
command to explicitely raise an error
2017-10-17 10:25:16 +08:00
Maxime Coste
89f016d871
Refactor column highlighter to make it more robust
...
Support arbitrary orders for column highlighters (it was previously
failing when column highlighters were not applied in column order).
Fix show_matching tab handling at the same time (horizontal scrolling,
tab characters and show_matching were behaving badly).
Window highlighting now runs user highlighters, then built-ins for each
phases, instead of running all phases for user highlighters, then all
phases for built-ins.
We now consider unprintable character to be 1-column width as we know
we will display them as "�".
Fixes #1615
Fixes #1023
2017-10-12 14:46:15 +08:00
Maxime Coste
78d7d512cb
Fix utf8::to_previous that could go before the begin iterator
2017-10-10 10:53:24 +08:00
Maxime Coste
079cfbc6ac
Remove unused forward declaration
2017-10-10 10:52:58 +08:00
Maxime Coste
6ada6e6d77
Move all non-core string code to string_utils.{hh,cc}
2017-10-10 10:52:32 +08:00
Maxime Coste
d1b9c24afc
Make Server outlive buffer manager
...
Fixes crashes when trying to access the server to get the session
on hooks run during destruction of other managers.
Fixes #1622
2017-10-10 10:49:30 +08:00
Maxime Coste
80d2506c34
Make utf8_iterator traits clear about it returning non-references
2017-10-07 21:54:59 +08:00
Maxime Coste
e18836aea7
Add is_upper and is_lower helper unicode functions
2017-10-07 21:54:55 +08:00
Maxime Coste
ca17fbbeb9
Merge remote-tracking branch 'Delapouite/docs-scroll'
2017-10-07 21:51:37 +08:00
Maxime Coste
a5ae21d70d
Move HookManager::Hook definition in the cpp
...
This avoids including regex.hh in the header.
2017-10-06 13:58:04 +08:00
Maxime Coste
18705a0097
Add missing operator+= and -= on utf8_iterator
...
Fix operator== and != that were non-const as well.
2017-10-06 13:57:54 +08:00
Maxime Coste
cbb6e9ea0f
Merge remote-tracking branch 'Delapouite/client_list'
2017-10-06 13:53:55 +08:00
Maxime Coste
8900d06646
Merge remote-tracking branch 'Delapouite/complete-line'
2017-10-06 13:50:42 +08:00
Maxime Coste
3cfd3a3276
Merge remote-tracking branch 'Delapouite/debug-mappings'
2017-10-06 13:49:52 +08:00
Maxime Coste
1b22472ce8
Remove unneeded regex.hh include in color.cc
2017-10-06 13:48:30 +08:00
Maxime Coste
1a20e26cc4
Allow itersel with draft context to change the buffer
...
That way we can cater to the use case of executing some keys for
`:grep` matches with `exec -itersel -draft :grep-jump<ret>...`
2017-10-06 13:48:16 +08:00
Maxime Coste
30ab437777
Add more constexpr to flags wrapping functions
2017-10-06 13:48:01 +08:00
Maxime Coste
75d2eb2b79
formatting tweak
2017-10-06 13:47:30 +08:00
Delapouite
d03858280a
Add client_list var
2017-10-05 16:41:36 +02:00
Delapouite
0e62518d89
Docs: add missing normal keys <c-[bfud]>
2017-10-04 12:47:56 +02:00
Delapouite
a63cf00b05
Add debug mappings
2017-10-03 23:00:08 +02:00
Delapouite
6bfc99bf08
Add 'line' in completers option as a way to force explicit <c-x>f
2017-10-02 18:45:11 +02:00
Maxime Coste
0da5cabbfe
Distinguish between modes being disabled temporarily and definitely
...
That way, insert mode knows when it can restore selections/avoid eol
instead of (wrongly) doing it in the destructor that ends up running
unpredictibly (as the mode is kept alive during its on_key call, even
though it can happen that it is not the active mode anymore at the end
of that call).
Fixes #1580
2017-09-28 11:11:29 +08:00
Maxime Coste
100be4b836
Merge remote-tracking branch 'Delapouite/runtime-error'
2017-09-28 10:39:44 +08:00
Maxime Coste
a727e0fa0a
Merge remote-tracking branch 'Delapouite/jump'
2017-09-28 10:38:42 +08:00
Delapouite
c7c8c14561
Display selections count in insert mode the same it's displayed in normal mode
2017-09-27 18:47:37 +02:00
Delapouite
7224fe3840
Convert status info into proper runtime_errors
2017-09-27 17:53:52 +02:00
Delapouite
6b339b7a97
Add status info when navigating through jumplist (<c-o>, <c-i>)
2017-09-27 17:26:39 +02:00
Maxime Coste
76f072a786
Removing the local client due to SIGHUP is not graceful
...
That means we will now backup modified buffers if that client was
the last.
Should improve things for #1590
2017-09-27 11:08:55 +08:00
Delapouite
25f25df8f5
Add selections_desc format to select autoinfo
2017-09-26 12:51:52 +02:00
Maxime Coste
626ccc09cc
Merge remote-tracking branch 'Delapouite/next-history-id'
2017-09-23 13:18:58 +09:00
Maxime Coste
3a5bb051a8
Small code style tweak
2017-09-23 13:18:00 +09:00
Maxime Coste
002e77534f
Merge remote-tracking branch 'occivink/quit-on-esc'
2017-09-23 13:13:51 +09:00
Maxime Coste
8107087510
Merge remote-tracking branch 'Delapouite/commands-docstring'
2017-09-23 13:12:03 +09:00
Maxime Coste
0dd9bdd11f
Merge remote-tracking branch 'Delapouite/indent-count'
2017-09-23 13:11:19 +09:00
Delapouite
0b310b64ad
Add count support for indent / deindent
2017-09-21 12:26:22 +02:00
Olivier Perret
a20ecf6b00
Use <esc> to exit on-key modes
2017-09-21 11:53:10 +02:00
Delapouite
3c05b11196
Fix missing spaces / new lines in commands docstring
2017-09-21 10:56:20 +02:00
Delapouite
b46c9ac630
Add max_history_id in status printed with <a-u> and <a-U>
2017-09-20 07:32:45 +02:00
Delapouite
17520a0886
Add '[debug]' context_info for debug buffers
2017-09-19 18:16:11 +02:00
Maxime Coste
3aaf646eda
Fix compilation
2017-09-18 10:30:21 +09:00
Maxime Coste
3d79395e63
Document custom text object move in breaking changes
2017-09-18 10:06:41 +09:00