kakoune/src
Maxime Coste d9abc2a156 Refactor StringData and StringRegistry to remove need for purging
Purging unused strings could get pretty expensive with a lot of
interned strings as it requiered iterating on all of them. Use
a flag on the refcount of the StringData to see if the string
is interned, and notify the StringRegistry in this case.

This should improve the speed of editing big files with many words,
such as the one described in #1195
2017-02-23 00:03:32 +00:00
..
.gdbinit update gdbinit 2014-01-27 19:51:58 +00:00
alias_registry.cc Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
alias_registry.hh Use ranked match based completion for command names 2016-03-08 13:56:37 +00:00
array_view.hh Make ArrayView::subrange size arguement optional 2016-11-20 11:15:15 +00:00
assert.cc Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00: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 Small cleanup in BufferManager code 2016-11-29 19:12:10 +00:00
buffer_manager.hh Small cleanup in BufferManager code 2016-11-29 19:12:10 +00:00
buffer_utils.cc Fix fifo reading not handling potential errors from the read call 2017-01-25 13:55:20 +00:00
buffer_utils.hh Propagate the hooks disabled state through prompt, menu, and command execution 2016-11-14 19:39:35 +00:00
buffer.cc Rename BufNew and BufOpen hooks to BufNewFile and BufOpenFile 2017-02-19 13:08:06 +00:00
buffer.hh Fix performance of word completion with many different selections 2017-02-20 19:28:02 +00:00
buffer.inl.hh Fix performance of word completion with many different selections 2017-02-20 19:28:02 +00: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 Remove unused WindowAndSelections timestamp field 2017-01-29 12:50:16 +00:00
client_manager.hh Remove unused WindowAndSelections timestamp field 2017-01-29 12:50:16 +00:00
client.cc Add a RawKey hook for raw user input hooking 2017-01-24 23:57:36 +00:00
client.hh Fix some uninitialized values 2017-01-29 23:37:42 +00:00
clock.hh Introduce chrono.hh 2016-07-24 21:25:05 +01:00
color.cc Move Colors enum class as NamedColor enum inside Color struct 2015-04-25 10:47:39 +01:00
color.hh Move Colors enum class as NamedColor enum inside Color struct 2015-04-25 10:47:39 +01:00
command_manager.cc Detect too deep command call stack 2017-01-29 13:56:05 +00:00
command_manager.hh Detect too deep command call stack 2017-01-29 13:56:05 +00:00
commands.cc Fix hook list in commands.cc 2017-02-19 14:14:22 +00: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 Add more memory domains to certain data 2016-11-28 13:59:55 +00:00
containers.hh better support for plain pointer iterators in containers.hh 2017-01-02 05:13:58 +00:00
context.cc Make numeric registers setable 2017-02-14 00:02:01 +00:00
context.hh Display a status line message when Kakoune is waiting on a shell to complete 2016-10-29 11:25:58 +01:00
coord.hh Support codepoints of variable width 2016-10-01 13:45:00 +01:00
diff.hh Remove unused Diff::posA field 2017-01-29 12:49:52 +00:00
display_buffer.cc Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
display_buffer.hh Rename DisplayAtom::Types to avoid conflicts with struct BufferRange 2016-10-13 19:55:15 +01:00
enum.hh Support set -add on flag types 2016-12-27 21:52:53 +00:00
env_vars.cc Keep it simple, remove all that sorted id map thing 2015-09-18 13:52:32 +01:00
env_vars.hh Use IdMap instead of UnorderedMap for ui options and env vars 2015-09-16 19:04:19 +01:00
event_manager.cc Ensure timers are still alive when trying to run them 2016-12-06 13:55:53 +00:00
event_manager.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00: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 Convert some uses of lambda to more concise std::mem_fn 2016-10-10 23:44:18 +01:00
face_registry.hh Fix face completion, avoid a spurious temporary 2016-02-12 19:14:06 +00:00
face.hh Add an exclusive attribute that overrides existing face 2015-10-23 13:46:41 +01:00
file.cc Make StringView and unit types trivial types 2017-01-29 13:49:45 +00:00
file.hh Fix remaining uses of hardcoded /tmp to get the socket paths 2017-01-01 13:10:08 +00:00
flags.hh Tweak RankedMatch behaviour and fix bug in its comparison function 2016-11-14 19:39:35 +00:00
hash.cc Rework hashing, use a more extensible framework similar to n3876 proposal 2014-12-16 18:57:19 +00:00
hash.hh Add a combine_hash helper function 2015-06-20 15:04:31 +01:00
highlighter_group.cc Rework container helpers, use pipe syntax and cleanup implementation 2016-03-08 21:35:56 +00:00
highlighter_group.hh Add missing 'override' specifiers 2015-05-25 13:54:18 +01:00
highlighter.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
highlighters.cc Refactor show_whitespaces a bit 2017-02-09 23:52:38 +00:00
highlighters.hh Initial, WIP spelling implementation 2015-12-17 04:07:49 +00:00
hook_manager.cc Fix handling of disabled_hooks regex 2017-02-19 13:59:34 +00:00
hook_manager.hh Small naming tweak in HookManager 2017-02-19 11:52:31 +00:00
id_map.hh Keep it simple, remove all that sorted id map thing 2015-09-18 13:52:32 +01:00
input_handler.cc Make numeric registers setable 2017-02-14 00:02:01 +00:00
input_handler.hh Add more memory domains to certain data 2016-11-28 13:59:55 +00:00
insert_completer.cc Fix performance of word completion with many different selections 2017-02-20 19:28:02 +00:00
insert_completer.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
json_ui.cc Higher level implementation of attributes to json formatting 2017-01-04 23:19:18 +00:00
json_ui.hh Simplify greatly UI input handling 2016-11-29 21:59:36 +00:00
keymap_manager.cc ArrayView content is not const anymore 2015-03-09 13:54:09 +00:00
keymap_manager.hh Add remapping of text object keys 2015-07-01 17:53:38 +02:00
keys.cc Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
keys.hh Rework NCurses key parsing to properly handle <a-special key> 2017-01-30 13:38:56 +00:00
line_modification.cc Use variadic macros for kak_assert to remove the need for COMMA 2016-05-17 19:39:55 +01:00
line_modification.hh Rewrite line modifications, hopefully with easier to comprehend code 2015-01-31 23:50:24 +00:00
main.cc Refactor StringData and StringRegistry to remove need for purging 2017-02-23 00:03:32 +00:00
Makefile Fix option name in haskell.kak 2017-01-29 16:10:48 +00:00
memory.cc refactor slighly memory domain handling 2015-01-12 19:48:51 +00:00
memory.hh Add more memory domains to certain data 2016-11-28 13:59:55 +00:00
ncurses_ui.cc Fix non-returning parse_key lambda 2017-02-13 14:02:09 +00:00
ncurses_ui.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
normal.cc Make numeric registers setable 2017-02-14 00:02:01 +00:00
normal.hh Use a static array to store the keymap 2015-03-09 13:55:55 +00:00
option_manager.cc Correctly handle mutation of the watcher list while iterating on them 2017-02-20 13:50:30 +00:00
option_manager.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
option_types.hh Use a struct WorstMatch instead of varargs for the fallback option_add 2016-12-30 06:43:32 +00:00
optional.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
parameters_parser.cc Detect when switches are specified more than once 2017-02-15 18:55:11 +00:00
parameters_parser.hh Port even more code to use format function 2015-06-01 21:15:59 +01:00
ranked_match.cc Tweak ranked match ordering 2017-01-31 22:30:23 +00:00
ranked_match.hh Make StringView and unit types trivial types 2017-01-29 13:49:45 +00:00
ref_ptr.hh Add some noexcept to pointer policies 2017-01-31 21:45:55 +00:00
regex.cc Go back to libc locale and use c_regex_traits 2016-05-19 21:45:23 +01:00
regex.hh Fix regex.hh compilation 2016-12-14 23:50:29 +00:00
register_manager.cc Fix register alternate name doc and dash -> hash for '#' 2016-10-10 23:19:57 +01:00
register_manager.hh Try to please clang-3.5 2017-02-22 09:44:19 +00:00
remote.cc Support the +line syntax for clients as well. 2017-01-21 12:17:49 +00:00
remote.hh Support the +line syntax for clients as well. 2017-01-21 12:17:49 +00:00
safe_ptr.hh Add some noexcept to pointer policies 2017-01-31 21:45:55 +00:00
scope.hh small code formatting fix 2015-04-09 16:28:13 +01:00
selection.cc Update ranges highlighter options according to buffer changes 2017-01-13 13:52:55 +00:00
selection.hh Use <a-'> for backward rotate selection and move rotate content to <a-"> 2017-02-01 22:53:42 +00:00
selectors.cc Add gi to go to first non-blank character on line 2017-01-22 23:53:08 +00:00
selectors.hh Add gi to go to first non-blank character on line 2017-01-22 23:53:08 +00:00
shared_string.cc Refactor StringData and StringRegistry to remove need for purging 2017-02-23 00:03:32 +00:00
shared_string.hh Refactor StringData and StringRegistry to remove need for purging 2017-02-23 00:03:32 +00:00
shell_manager.cc Fix some bugs in non blocking pipe writing 2017-02-03 18:40:03 +00:00
shell_manager.hh Use a POSIX guaranteed way of getting the shell path 2016-12-15 23:04:53 +00:00
string.cc Fix horrible leak in String::Data::operator=(String::Data&&) 2016-11-23 01:09:09 +00:00
string.hh Make StringView and unit types trivial types 2017-01-29 13:49:45 +00:00
unicode.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
unit_tests.cc Small refactor in unit tests 2015-05-24 22:34:05 +01: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
unordered_map.hh Fix UnorderedSet allocator 2015-04-16 23:46:26 +01:00
user_interface.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
utf8_iterator.hh Avoid underlying iterator copies in utf8_iterator 2016-07-27 21:36:32 +01:00
utf8.hh Rename get_width to codepoint_width 2016-10-01 13:45:00 +01:00
utils.hh Tweak useage of skip_while and move the functions in utils.hh 2016-03-06 15:12:36 +00:00
value.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
vector.hh Try to fix travis compilation errors 2015-01-21 13:35:23 +00:00
window.cc Small formating fix 2016-12-06 23:08:18 +00:00
window.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00
word_db.cc Introduce the 'completion_extra_word_chars' option 2016-08-24 23:47:09 +01:00
word_db.hh Apply clang-tidy modernize to the codebase 2017-01-08 22:39:01 +00:00