home/src
Maxime Coste e66073bc94 Detect infinit recursion in reference highlighting
Reference highlighters allow for potential mutual recursion between
highlighters. This is usually fine, but if the recursion happens on
the same buffer range, it means we will recurse infinitely.

Fixes #1920
2018-03-11 11:44:10 +11: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 Re-introduce aliases in command name completion 2018-02-20 23:32:31 +11: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 Avoid some warnings in optimized builds 2017-10-19 22:20:44 +02: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 BufferManager: Support missing ClientManager 2018-02-18 14:50:24 +11:00
buffer_manager.hh Small cleanup in BufferManager code 2016-11-29 19:12:10 +00:00
buffer_utils.cc Refuse modification of ReadOnly buffers and make Debug buffer readonly 2018-02-11 13:06:19 +11: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 Detect no-op replaces and do not act on them 2018-03-09 23:07:05 +11:00
buffer.hh Refuse modification of ReadOnly buffers and make Debug buffer readonly 2018-02-11 13:06:19 +11: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 Slight code cleanup in change update functions 2017-11-07 20:00:45 +08:00
client_manager.cc Do not block when waiting for next event if we have pending input 2018-01-21 12:00:40 +11:00
client_manager.hh Do not block when waiting for next event if we have pending input 2018-01-21 12:00:40 +11:00
client.cc Support changing autoreload option directly from the reload message 2018-03-05 11:17:57 +11:00
client.hh Do not block when waiting for next event if we have pending input 2018-01-21 12:00:40 +11:00
clock.hh Introduce chrono.hh 2016-07-24 21:25:05 +01:00
color.cc Rename br* colors to bright-* 2017-10-24 23:08:22 -04:00
color.hh Rename br* colors to bright-* 2017-10-24 23:08:22 -04:00
command_manager.cc Re-introduce aliases in command name completion 2018-02-20 23:32:31 +11:00
command_manager.hh CommandManager: refactor parsing of commands to iterate through tokens 2018-02-15 23:24:19 +11:00
commands.cc Docs: extend explanations about line_flags, ranges and replace-ranges 2018-03-06 12:15:55 +01:00
commands.hh Remove the exec_keys function 2015-12-27 23:15:09 +00:00
completion.cc Fix infinite loop shell_complete 2017-10-25 11:26:03 +08:00
completion.hh Fixes some clang-tidy warning and add a few missing meta.hh include 2017-03-16 23:34:02 +00:00
constexpr_utils.hh Remove Vector returning split functions, use range adaptor 2017-12-06 17:18:44 +08:00
context.cc Make edit command work fine when running from an empty context 2017-12-12 18:22:05 +11:00
context.hh Add count support to jumps (<c-o> and <c-i>). Add jumps tests 2017-11-13 08:38:43 +01:00
coord.hh Constexprify various hash functions 2017-10-20 12:21:22 +08:00
diff.hh diff: try to improve code readability 2018-02-09 21:31:10 +11: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 Do not block when waiting for next event if we have pending input 2018-01-21 12:00:40 +11:00
event_manager.hh Do not block when waiting for next event if we have pending input 2018-01-21 12:00:40 +11: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 Highlight cursors differently when they lie on an end of line 2018-02-24 21:32:01 +11:00
face_registry.hh FaceRegistry: pass face names as StringViews instead of const String& 2018-02-09 22:08:29 +11:00
face.hh Migrate WithBitOps template specialization to with_bit_ops function 2017-03-15 18:00:58 +00:00
file.cc Fallback to getpwuid in the unlikely case $HOME is underfined 2018-01-20 11:19:23 +11:00
file.hh Fallback to getpwuid in the unlikely case $HOME is underfined 2018-01-20 11:19:23 +11:00
flags.hh Add more constexpr to flags wrapping functions 2017-10-06 13:48:01 +08:00
hash_map.cc Use the _str and _sv string literals more often 2018-01-18 09:00:54 +11:00
hash_map.hh Fix ConstexprVector::resize 2017-11-01 14:05:15 +08:00
hash.cc Fix various undefined behaviours detected by UBSan 2017-06-26 11:27:18 +01:00
hash.hh Constexprify various hash functions 2017-10-20 12:21:22 +08:00
highlighter_group.cc Fix typos in C++ string literals 2018-02-22 20:28:01 +00:00
highlighter_group.hh Highlighters: Introduce unique highlighter support 2017-11-25 12:53:33 +08:00
highlighter.hh Highlighters: Introduce unique highlighter support 2017-11-25 12:53:33 +08:00
highlighters.cc Detect infinit recursion in reference highlighting 2018-03-11 11:44:10 +11:00
highlighters.hh Ensure line-specs and range-specs options are sorted internally 2017-11-02 09:51:15 +08:00
hook_manager.cc Small formating tweak 2017-11-25 13:46:55 +08:00
hook_manager.hh Move HookManager::Hook definition in the cpp 2017-10-06 13:58:04 +08:00
input_handler.cc Insert: Do not move end of line on open line (o/O) 2018-03-04 10:32:21 +11:00
input_handler.hh Move Array and ConstexprVector to a constexpr_utils.hh header 2017-11-12 13:01:18 +08:00
insert_completer.cc InsertCompleter: refactor line completer implementation 2018-02-28 15:40:42 +11:00
insert_completer.hh Add support for line completion in all buffers 2018-02-27 09:48:49 +01:00
json_ui.cc Json: Fix buffer overflow when reading json finishing with { or [ 2018-02-20 07:42:10 +11: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 Remove <scope> from user-modes commands 2018-03-02 09:28:27 +01:00
keymap_manager.hh Remove <scope> from user-modes commands 2018-03-02 09:28:27 +01:00
keys.cc Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
keys.hh Make the normal mode keymap a compile time hash map 2017-10-20 12:21:22 +08: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 Move WORD text object to <a-w> 2018-03-10 00:25:19 +11:00
Makefile src makefile: Fix the --static flag passed to pkg-config 2018-02-22 15:56:14 +03:00
memory.cc refactor slighly memory domain handling 2015-01-12 19:48:51 +00:00
memory.hh Regex: Introduce a Regex memory domain to track usage separately 2017-11-01 14:05:14 +08:00
meta.hh Move Array and ConstexprVector to a constexpr_utils.hh header 2017-11-12 13:01:18 +08:00
ncurses_ui.cc NCursesUI: Rework menu placement to fix missing menu on small window 2018-02-22 22:04:04 +11: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 Move WORD text object to <a-w> 2018-03-10 00:25:19 +11:00
normal.hh Add declare-user-mode / enter-user-mode commands 2018-02-12 14:19:58 +01:00
option_manager.cc Rewrite OptionManager::flatten_options to use ranges 2018-02-20 23:32:51 +11:00
option_manager.hh Rewrite OptionManager::flatten_options to use ranges 2018-02-20 23:32:51 +11:00
option_types.hh Use the _str and _sv string literals more often 2018-01-18 09:00:54 +11:00
option.hh Move Array and ConstexprVector to a constexpr_utils.hh header 2017-11-12 13:01:18 +08:00
optional.hh Code style tweak in optional.hh 2017-09-01 16:54:06 +07:00
parameters_parser.cc Commands: Refactor generate_switches_doc 2018-02-28 15:32:11 +11:00
parameters_parser.hh Move all non-core string code to string_utils.{hh,cc} 2017-10-10 10:52:32 +08:00
ranges.cc Ranges: add unit test and fix corner case in split view 2017-12-07 01:58:19 +08:00
ranges.hh Ranges: Fix copiability of some range view iterators 2018-02-28 15:16:49 +11:00
ranked_match.cc RankedMatch: Make punctuation ordered *before* alphanumeric characters 2017-12-06 13:58:34 +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 RefPtr: use inconditional noexcept specification on destructor 2018-02-28 15:04:00 +11:00
regex_impl.cc Regex: take the full subject range as a parameter 2018-03-05 05:48:10 +11:00
regex_impl.hh Regex: take the full subject range as a parameter 2018-03-05 05:48:10 +11:00
regex.cc Regex: Support forward and backward matching code in the same CompiledRegex 2017-12-01 19:57:02 +08:00
regex.hh Regex: take the full subject range as a parameter 2018-03-05 05:48:10 +11: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 Go back to getpwuid call to get user name from user id 2017-12-15 08:19:56 +11:00
remote.hh Replace uses of getpwuid which is incompatible with static linking 2017-12-04 15:19:57 +08:00
safe_ptr.hh Fix SafeCountable and RefCountable copy/move logic 2017-08-04 11:38:04 +07:00
scope.cc Add a GlobalSetOption hook 2018-03-05 10:39:14 +11:00
scope.hh Add a GlobalSetOption hook 2018-03-05 10:39:14 +11:00
selection.cc Detect no-op replaces and do not act on them 2018-03-09 23:07:05 +11:00
selection.hh Remove SelectionList::update_timestamp() 2018-03-04 10:35:24 +11:00
selectors.cc Regex: take the full subject range as a parameter 2018-03-05 05:48:10 +11:00
selectors.hh Text-Objects: Use regex to select surroundings 2017-12-03 17:15:24 +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 ShellManager: init from a static list of env vars 2018-02-18 14:52:29 +11:00
shell_manager.hh ShellManager: init from a static list of env vars 2018-02-18 14:52:29 +11:00
string_utils.cc Tweak unescape template function to unescape the escape char as well 2017-12-07 01:56:02 +08:00
string_utils.hh Tweak unescape template function to unescape the escape char as well 2017-12-07 01:56:02 +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 Constexprify various hash functions 2017-10-20 12:21:22 +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 Constexprify various hash functions 2017-10-20 12:21:22 +08: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 Fix crash when iterating through options on window creation 2018-02-21 22:47:41 +11:00
window.hh Move highlighters into Scopes 2017-10-28 13:43:04 +08: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