kakoune/src
Maxime Coste 3ae2a5c2f6 Fix performance issue with word completion
When pasting many words with <a-p> we can end-up with a huge
concatenated word and many selections, the previous code ended
up iterating from each selection cursor to that word start and
end to find the word under the cursor.

This could lead to performance issue as each selection would
trigger iteration on that huge word. This is unnecessary as
word completion has a word length limit, so we now take it into
account to avoid iterating to far from the cursor position.
2020-11-07 10:42:51 +11:00
..
.gdbinit Embed gdb pretty-printing script directly into Kakoune binary 2019-01-23 20:27:16 +11: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 Make FaceRegistry scoped 2018-04-07 16:27:50 +10:00
array_view.hh Refactor how InsetCompletionHide hook parameter is computed 2020-06-27 13:33:50 +10:00
assert.cc Fix undefined behavior in notify_fatal_error 2018-10-05 10:10:14 +01:00
assert.hh Add support for the shift modifier. 2018-04-11 15:15:45 +10: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 Add a new 'arrange-buffers' to let users change the order of the buflist 2020-02-24 09:41:46 +01:00
buffer_manager.hh Add a new 'arrange-buffers' to let users change the order of the buflist 2020-02-24 09:41:46 +01:00
buffer_utils.cc Refactor how InsetCompletionHide hook parameter is computed 2020-06-27 13:33:50 +10:00
buffer_utils.hh Refactor how InsetCompletionHide hook parameter is computed 2020-06-27 13:33:50 +10:00
buffer.cc Do not include non-primitive option value in *SetOption hook filter 2020-06-09 21:38:47 +10:00
buffer.hh Add 'history' and 'uncommitted_modifications' expansions 2020-01-01 19:47:29 -05:00
buffer.inl.hh Use BufferCoord sentinel type for regex matching on BufferIterators 2018-11-01 21:51:10 +11:00
changes.cc Fix overly strict backward_sorted_until 2017-02-20 19:46:12 +00:00
changes.hh Support empty ranges in replace-ranges highlighter 2020-04-06 11:23:47 +10:00
client_manager.cc Add a range based remove_if overload 2020-05-29 11:59:03 +10:00
client_manager.hh Prevent conversion to client on suspend from disconnecting other clients 2019-04-12 13:23:38 +10:00
client.cc Redraw relevant clients after adding/removing highlighters 2019-12-28 11:27:04 +11:00
client.hh Add support for markup in info boxes 2019-11-22 21:50:51 +11:00
clock.hh Remove DurationMs and slight code refactor 2018-12-28 06:27:35 +11:00
color.cc Add support for alpha channel in colors 2020-05-02 12:57:36 +10:00
color.hh Add support for alpha channel in colors 2020-05-02 12:57:36 +10:00
command_manager.cc Auto-insert best completion on space for menu completions 2020-10-19 21:43:03 +11:00
command_manager.hh Code style tweaks 2020-07-19 12:54:41 +10:00
commands.cc Replace write -atomic with write -method <method> 2020-10-27 20:20:18 +11:00
commands.hh Re-introduce kill_session::exit_status, @lenormf was right 2018-07-19 19:27:56 +10:00
completion.cc Do not expose C++ typeid().name to user facing errors on wrong option type 2018-05-26 10:01:26 +10:00
completion.hh Introduce Menu completion flags to auto select best candidate 2019-05-17 19:52:22 +10:00
constexpr_utils.hh Refactor Hook management to have a well defined list of hooks 2018-10-23 08:15:53 +11:00
context.cc Redraw relevant clients after adding/removing highlighters 2019-12-28 11:27:04 +11:00
context.hh Ensure current context switches away from buffer on delete-buffer 2019-07-22 20:26:39 +10:00
coord.hh Constexprify various hash functions 2017-10-20 12:21:22 +08:00
diff.hh Remove posB from information given by the diff algorithm 2020-03-20 20:27:50 +11:00
display_buffer.cc Support multi-line replace-ranges 2020-04-27 17:39:21 +10:00
display_buffer.hh Support multi-line replace-ranges 2020-04-27 17:39:21 +10:00
enum.hh Move constexpr compatible Array struct to meta.hh 2017-05-17 20:20:31 +01:00
env_vars.cc Do not copy environment strings, just refer to them 2019-03-21 20:43:24 +11:00
env_vars.hh Replace IdMap with HashMap 2017-03-07 01:12:37 +00:00
event_manager.cc Add illumos/Solaris support 2020-09-18 05:22:25 -05:00
event_manager.hh EventManager: Never block if a forced file descriptor is present 2018-06-03 12:17:38 +10:00
exception.cc exception::what returns a StringView rather than a const char* 2015-03-13 13:15:51 +00:00
exception.hh Rework fail command not to display command call stack 2018-05-26 21:31:17 +10:00
face_registry.cc Fix face attributes to string conversion with F shorthand 2020-08-30 10:12:21 +10:00
face_registry.hh Change faces alias to be a base that can be modified 2019-04-23 23:15:23 +01:00
face.hh Fix alpha of merged faces 2020-07-31 15:45:52 +10:00
file.cc Add illumos/Solaris support 2020-09-18 05:22:25 -05:00
file.hh src: Reload buffers when their contents' hash changes 2019-12-03 17:05:24 +01:00
flags.hh Add more constexpr to flags wrapping functions 2017-10-06 13:48:01 +08:00
hash_map.cc Fix use of removed std::random_shuffle 2019-01-20 22:59:28 +11:00
hash_map.hh Code style tweaks 2020-07-19 12:54:41 +10:00
hash.cc Fix various undefined behaviours detected by UBSan 2017-06-26 11:27:18 +01:00
hash.hh Header and dependency cleanup 2019-01-24 21:22:20 +11:00
highlighter_group.cc Add -override support to add-highlighter 2020-03-30 21:04:01 +11:00
highlighter_group.hh Rename DefinedHighlighters to SharedHighlighters 2020-08-08 11:19:02 +10:00
highlighter.cc Add -override support to add-highlighter 2020-03-30 21:04:01 +11:00
highlighter.hh Add -override support to add-highlighter 2020-03-30 21:04:01 +11:00
highlighters.cc Fix region regexes incorrectly matching ^$ at end of line 2020-10-12 12:41:21 +11:00
highlighters.hh Refactor option_from_string to return directly the option value 2018-05-27 13:00:50 +10:00
hook_manager.cc Add a range based remove_if overload 2020-05-29 11:59:03 +10:00
hook_manager.hh Add a RegisterModified hook 2020-07-19 12:56:55 +10:00
input_handler.cc Auto-insert prompt menu completions on <ret> if any text was entered 2020-11-01 10:32:44 +11:00
input_handler.hh Merge remote-tracking branch 'Anfid/scroll-test' 2020-03-15 12:32:54 +11:00
insert_completer.cc Fix performance issue with word completion 2020-11-07 10:42:51 +11:00
insert_completer.hh Refactor how InsetCompletionHide hook parameter is computed 2020-06-27 13:33:50 +10:00
json_ui.cc Refactor mouse press/release handling to support 3 buttons 2020-06-28 19:48:55 +10:00
json_ui.hh Add support for markup in info boxes 2019-11-22 21:50:51 +11:00
json.cc Fix invalid memory access in unit-tests 2020-03-04 12:08:16 +11:00
json.hh src: Move JSON parsing code to its own file 2019-11-17 09:27:46 +01:00
keymap_manager.cc Add a way to unmap all keys of a given mode at once 2018-09-23 19:40:38 +02:00
keymap_manager.hh Add a way to unmap all keys of a given mode at once 2018-09-23 19:40:38 +02:00
keys.cc src/ncurses_ui.cc: Teach Kakoune about ctrl-symbol keys. 2020-10-31 01:20:49 +11:00
keys.hh Refactor mouse press/release handling to support 3 buttons 2020-06-28 19:48:55 +10:00
line_modification.cc Add a range based remove_if overload 2020-05-29 11:59:03 +10:00
line_modification.hh Introduce FunctionRef to replace std::function when not storing 2019-09-01 13:04:47 +10:00
main.cc Replace write -atomic with write -method <method> 2020-10-27 20:20:18 +11:00
Makefile Add illumos/Solaris support 2020-09-18 05:22:25 -05:00
memory.cc Track more memory statistics 2019-03-21 20:35:22 +11:00
memory.hh Track more memory statistics 2019-03-21 20:35:22 +11:00
meta.hh Use BufferCoord sentinel type for regex matching on BufferIterators 2018-11-01 21:51:10 +11:00
ncurses_ui.cc Handle reading from stdin returning 0 2020-11-02 22:54:54 +11:00
ncurses_ui.hh Untie focus reporting and mouse handling 2020-03-27 07:54:21 +11:00
normal.cc Fix performance issue when pasting many selection 2020-11-07 10:14:18 +11:00
normal.hh Add static or const where useful 2019-11-09 12:53:45 -05:00
option_manager.cc Defer deletion of unsetted option to return to main loop 2019-01-20 22:46:40 +11:00
option_manager.hh Add support for removing from options 2020-09-09 21:00:30 +10:00
option_types.cc Change option lists to be specified as separate arguments on commands line 2018-07-05 07:54:28 +10:00
option_types.hh Add support for removing from options 2020-09-09 21:00:30 +10:00
option.hh Add support for removing from options 2020-09-09 21:00:30 +10:00
optional.hh Support piping data to client stdin 2020-05-10 19:30:13 +10:00
parameters_parser.cc Do not keep a reference to ParametersDesc inside ParameterParser 2019-05-10 23:46:16 +10:00
parameters_parser.hh Do not keep a reference to ParametersDesc inside ParameterParser 2019-05-10 23:46:16 +10:00
range.hh Refactor how InsetCompletionHide hook parameter is computed 2020-06-27 13:33:50 +10:00
ranges.cc Change pipe diffing to work linewise 2019-01-23 20:20:54 +11:00
ranges.hh Add a range based remove_if overload 2020-05-29 11:59:03 +10:00
ranked_match.cc Rank a word-boundary after a non-word-boundary 2019-09-07 22:53:29 +02: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 Fix regex start desc computation for case insensitive ranges 2020-02-07 07:37:29 +11:00
regex_impl.hh Do not decode utf-8 when looking for regex next start 2019-12-04 22:33:11 +11:00
regex.cc Try to bypass clang crash 2019-01-20 22:59:28 +11:00
regex.hh Split compile time regex flags from runtime ones 2019-01-20 22:59:28 +11:00
register_manager.cc Do not trigger RegisterModified hooks on register about to be restored 2020-07-21 20:27:42 +10:00
register_manager.hh Do not trigger RegisterModified hooks on register about to be restored 2020-07-21 20:27:42 +10:00
remote.cc Allow quiting last client with unsaved buffer in daemon mode 2020-10-19 20:39:25 +11:00
remote.hh Allow quiting last client with unsaved buffer in daemon mode 2020-10-19 20:39:25 +11:00
safe_ptr.hh Header and dependency cleanup 2019-01-24 21:22:20 +11:00
scope.cc Do not include non-primitive option value in *SetOption hook filter 2020-06-09 21:38:47 +10:00
scope.hh Add override 2019-11-09 12:53:45 -05:00
selection.cc Avoid to_remove vector in select helper function 2020-05-29 12:00:02 +10:00
selection.hh Avoid to_remove vector in select helper function 2020-05-29 12:00:02 +10:00
selectors.cc Ensure that the capture group actually matched in select_matches 2020-09-22 21:14:40 +10:00
selectors.hh Ensure that the capture group actually matched in select_matches 2020-09-22 21:14:40 +10:00
shared_string.cc Fix shared string registry ref count stats 2018-07-26 22:20:19 +10:00
shared_string.hh Replace uses of UnorderedMap with HashMap 2017-03-07 01:03:26 +00:00
shell_manager.cc Expand env vars as list of strings 2020-03-02 20:53:28 +11:00
shell_manager.hh Expand env vars as list of strings 2020-03-02 20:53:28 +11:00
string_utils.cc Output debug memory stats in a nice table 2020-05-19 17:16:37 +10:00
string_utils.hh Output debug memory stats in a nice table 2020-05-19 17:16:37 +10:00
string.cc Fix String::resize not zero-terminating 2019-11-17 09:50:18 +11:00
string.hh Fix empty strings not being zero terminated 2020-03-29 20:28:56 +11:00
unicode.hh Header and dependency cleanup 2019-01-24 21:22:20 +11:00
unit_tests.cc Remove posB from information given by the diff algorithm 2020-03-20 20:27:50 +11: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 Add support for markup in info boxes 2019-11-22 21:50:51 +11:00
utf8_iterator.hh Header and dependency cleanup 2019-01-24 21:22:20 +11:00
utf8.hh Rank a word-boundary after a non-word-boundary 2019-09-07 22:53:29 +02:00
utils.hh Do not trigger RegisterModified hooks on register about to be restored 2020-07-21 20:27:42 +10: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 Do not include non-primitive option value in *SetOption hook filter 2020-06-09 21:38:47 +10:00
window.hh Fix window_range expansion 2019-12-16 14:09:20 +11:00
word_db.cc Fix performance issue with word completion 2020-11-07 10:42:51 +11:00
word_db.hh Fix performance issue with word completion 2020-11-07 10:42:51 +11:00