kakoune/src
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
..
.gdbinit update gdbinit 2014-01-27 19:51:58 +00:00
alias_registry.cc Rename containers.hh to ranges.hh (and Container to Range) 2017-08-29 15:23:03 +07:00
alias_registry.hh Fix SafeCountable and RefCountable copy/move logic 2017-08-04 11:38:04 +07:00
array_view.hh More use of std::enable_if_t alias 2017-07-19 08:55:24 +02:00
assert.cc Fix xmessage handling in assert.cc 2017-07-17 18:13:20 +09:00
assert.hh Use false instead of 0 in the kak_assert do while 2017-02-23 00:03:11 +00:00
backtrace.cc Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
backtrace.hh Return a String in Backtrace::desc 2015-05-29 13:35:54 +01:00
buffer_manager.cc Rename containers.hh to ranges.hh (and Container to Range) 2017-08-29 15:23:03 +07:00
buffer_manager.hh Small cleanup in BufferManager code 2016-11-29 19:12:10 +00:00
buffer_utils.cc Do less implicit parse_filename calls 2017-08-29 09:42:04 +07:00
buffer_utils.hh Add a -debug flag to :edit to set the buffer as debug data 2017-03-08 19:33:25 +00:00
buffer.cc Make Buffer::Modification an aggregate 2017-09-01 17:32:03 +07:00
buffer.hh Add max_history_id in status printed with <a-u> and <a-U> 2017-09-20 07:32:45 +02:00
buffer.inl.hh Simplify a bit buffer iteration functions 2017-06-12 06:10:18 +01:00
changes.cc Fix overly strict backward_sorted_until 2017-02-20 19:46:12 +00:00
changes.hh Update ranges highlighter options according to buffer changes 2017-01-13 13:52:55 +00:00
client_manager.cc Rename containers.hh to ranges.hh (and Container to Range) 2017-08-29 15:23:03 +07:00
client_manager.hh Expose client pid as $kak_client_pid 2017-08-28 13:12:45 +07:00
client.cc Add '[debug]' context_info for debug buffers 2017-09-19 18:16:11 +02:00
client.hh Expose client pid as $kak_client_pid 2017-08-28 13:12:45 +07:00
clock.hh Introduce chrono.hh 2016-07-24 21:25:05 +01:00
color.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
color.hh Rename some string conversion function to the common 'to_string' 2017-09-12 11:31:57 +08:00
command_manager.cc Make Token a simple aggregate 2017-09-01 17:09:34 +07:00
command_manager.hh Make Token a simple aggregate 2017-09-01 17:09:34 +07:00
commands.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
commands.hh Remove the exec_keys function 2015-12-27 23:15:09 +00:00
completion.cc Cleanup include dependencies a bit 2016-11-28 23:58:08 +00:00
completion.hh Fixes some clang-tidy warning and add a few missing meta.hh include 2017-03-16 23:34:02 +00:00
context.cc Add status info when navigating through jumplist (<c-o>, <c-i>) 2017-09-27 17:26:39 +02:00
context.hh Add status info when navigating through jumplist (<c-o>, <c-i>) 2017-09-27 17:26:39 +02:00
coord.hh Make LineAndColumn an aggregate as well 2017-09-01 17:21:50 +07:00
diff.hh Small code simplifications 2017-09-07 19:38:34 +08:00
display_buffer.cc Refactor column highlighter to make it more robust 2017-10-12 14:46:15 +08:00
display_buffer.hh avoid literal eol in status lines, replace them with another symbol 2017-08-29 10:01:43 +07:00
enum.hh Move constexpr compatible Array struct to meta.hh 2017-05-17 20:20:31 +01:00
env_vars.cc Replace IdMap with HashMap 2017-03-07 01:12:37 +00:00
env_vars.hh Replace IdMap with HashMap 2017-03-07 01:12:37 +00:00
event_manager.cc Rename containers.hh to ranges.hh (and Container to Range) 2017-08-29 15:23:03 +07:00
event_manager.hh Formatting fixes 2017-07-07 13:59:53 +09:00
exception.cc exception::what returns a StringView rather than a const char* 2015-03-13 13:15:51 +00:00
exception.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
face_registry.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
face_registry.hh Add debug faces 2017-09-11 15:49:33 +02:00
face.hh Migrate WithBitOps template specialization to with_bit_ops function 2017-03-15 18:00:58 +00:00
file.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
file.hh src: Implement a write! command 2017-04-20 17:13:42 +03:00
flags.hh Add more constexpr to flags wrapping functions 2017-10-06 13:48:01 +08:00
hash_map.cc Use microseconds instead of milliseconds for built-in profiling 2017-06-07 20:06:47 +01:00
hash_map.hh Revert "Change HashCompatible trait to a variable template" 2017-08-18 08:17:02 +07:00
hash.cc Fix various undefined behaviours detected by UBSan 2017-06-26 11:27:18 +01:00
hash.hh Revert "Change HashCompatible trait to a variable template" 2017-08-18 08:17:02 +07:00
highlighter_group.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
highlighter_group.hh Move passes logic to the base Highlighter class 2017-05-07 16:26:14 +01:00
highlighter.hh Fix wrapping support 2017-06-09 16:00:22 +01:00
highlighters.cc Refactor column highlighter to make it more robust 2017-10-12 14:46:15 +08:00
highlighters.hh Add an update-option command to update range-descs/line-descs options 2017-05-25 19:54:08 +01:00
hook_manager.cc Move HookManager::Hook definition in the cpp 2017-10-06 13:58:04 +08:00
hook_manager.hh Move HookManager::Hook definition in the cpp 2017-10-06 13:58:04 +08:00
input_handler.cc Distinguish between modes being disabled temporarily and definitely 2017-09-28 11:11:29 +08:00
input_handler.hh Respecify EnumDescs array sizes manually to workaround clang-3.6 bug 2017-08-18 08:15:18 +07:00
insert_completer.cc Add 'line' in completers option as a way to force explicit <c-x>f 2017-10-02 18:45:11 +02:00
insert_completer.hh Add 'line' in completers option as a way to force explicit <c-x>f 2017-10-02 18:45:11 +02:00
json_ui.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
json_ui.hh Place hardware terminal cursor at the current main cursor/prompt cursor position 2017-04-12 10:39:17 +01:00
keymap_manager.cc Preserve order of definition of mappings when listing them 2017-07-11 09:51:56 +09:00
keymap_manager.hh Replace uses of UnorderedMap with HashMap 2017-03-07 01:03:26 +00:00
keys.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
keys.hh Fixes some clang-tidy warning and add a few missing meta.hh include 2017-03-16 23:34:02 +00:00
line_modification.cc Fix the Buffer::end() madness 2017-06-11 12:01:40 +01:00
line_modification.hh Rewrite line modifications, hopefully with easier to comprehend code 2015-01-31 23:50:24 +00:00
main.cc Make Server outlive buffer manager 2017-10-10 10:49:30 +08:00
Makefile Change documentation directory towards $kak_runtime/doc 2017-08-03 15:00:02 +07:00
memory.cc refactor slighly memory domain handling 2015-01-12 19:48:51 +00:00
memory.hh Remove redundant types inside Kakoune::Allocator 2017-08-12 15:49:38 +07:00
meta.hh Try to get make_array to compile with older compiler version 2017-08-18 07:45:38 +07:00
ncurses_ui.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
ncurses_ui.hh Place hardware terminal cursor at the current main cursor/prompt cursor position 2017-04-12 10:39:17 +01:00
normal.cc Docs: add missing normal keys <c-[bfud]> 2017-10-04 12:47:56 +02:00
normal.hh Use a HashMap to store the normal mode keymap 2017-03-16 23:40:38 +00:00
option_manager.cc Use an HashMap to store options in option manager 2017-06-23 09:54:21 +01:00
option_manager.hh Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
option_types.hh Fix typo: to many → too many 2017-09-07 21:45:46 +02:00
option.hh src: Add a commands debug flag 2017-06-17 11:27:07 +03:00
optional.hh Code style tweak in optional.hh 2017-09-01 16:54:06 +07:00
parameters_parser.cc Do not reject switch parameters starting with - 2017-07-23 23:21:51 +02:00
parameters_parser.hh Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
ranges.hh Rename containers.hh to ranges.hh (and Container to Range) 2017-08-29 15:23:03 +07:00
ranked_match.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
ranked_match.hh Make non smart case full match better than smart case full match 2017-07-19 20:18:47 +02:00
ref_ptr.hh Fix SafeCountable and RefCountable copy/move logic 2017-08-04 11:38:04 +07:00
regex.cc Fixes some clang-tidy warning and add a few missing meta.hh include 2017-03-16 23:34:02 +00:00
regex.hh Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
register_manager.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
register_manager.hh Migrate code to c++14 2017-07-19 08:47:14 +02:00
remote.cc Tolerate unwritable socket when trying to send the disconnection message 2017-09-07 19:37:58 +08:00
remote.hh Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
safe_ptr.hh Fix SafeCountable and RefCountable copy/move logic 2017-08-04 11:38:04 +07:00
scope.hh small code formatting fix 2015-04-09 16:28:13 +01:00
selection.cc Remove now trivial Selection::merge_with method 2017-08-18 08:52:40 +07:00
selection.hh Remove now trivial Selection::merge_with method 2017-08-18 08:52:40 +07:00
selectors.cc Cleanup some code with C++14 features 2017-07-19 08:47:14 +02:00
selectors.hh Remove unused forward declaration 2017-10-10 10:52:58 +08:00
shared_string.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
shared_string.hh Replace uses of UnorderedMap with HashMap 2017-03-07 01:03:26 +00:00
shell_manager.cc Use microseconds instead of milliseconds for built-in profiling 2017-06-07 20:06:47 +01:00
shell_manager.hh Migrate WithBitOps template specialization to with_bit_ops function 2017-03-15 18:00:58 +00:00
string_utils.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
string_utils.hh Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
string.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
string.hh Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
unicode.hh Refactor column highlighter to make it more robust 2017-10-12 14:46:15 +08:00
unit_tests.cc More refactoring of the diff code in order to make it cleaner 2017-07-18 16:11:24 +02:00
unit_tests.hh Small refactor in unit tests 2015-05-24 22:34:05 +01:00
units.hh Make StringView and unit types trivial types 2017-01-29 13:49:45 +00:00
user_interface.hh Place hardware terminal cursor at the current main cursor/prompt cursor position 2017-04-12 10:39:17 +01:00
utf8_iterator.hh Make utf8_iterator traits clear about it returning non-references 2017-10-07 21:54:59 +08:00
utf8.hh Fix utf8::to_previous that could go before the begin iterator 2017-10-10 10:53:24 +08:00
utils.hh Migrate code to c++14 2017-07-19 08:47:14 +02:00
value.hh Small code simplifications 2017-09-07 19:38:34 +08:00
vector.hh Modernize the way we compute memory domains from type 2017-05-26 07:59:18 +01:00
window.cc Refactor column highlighter to make it more robust 2017-10-12 14:46:15 +08:00
window.hh Hide info/menu when they are anchored to an invisible buffer coord 2017-06-16 10:19:08 +01:00
word_db.cc Use the extra_word_chars option in word based normal commands 2017-06-26 15:28:41 +01:00
word_db.hh Remove virtual destructor from OptionManagerWatcher 2017-05-22 10:31:56 +01:00