summaryrefslogtreecommitdiff
path: root/src/word_db.hh
AgeCommit message (Collapse)Author
2025-04-02Tweak ranked match behaviour to consider the number of full wordsMaxime Coste
Tracking the number of query words that appear as full words in the candidate seems to fix a few cases where the existing fuzzy matching algorithm was not great. I have been running with this for a while and did not notice any annoyances, the whole RankedMatch code probably deserves more attention but this seems to go in the right direction.
2023-10-25Speed up WordSplitterMaxime Coste
Only do utf8 decoding once per codepoint instead of twice, limit the byte length instead of the codepoint length.
2020-11-07Fix performance issue with word completionMaxime Coste
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.
2019-08-31Limit the amounts of calls to get_extra_word_charsMaxime Coste
This is a relatively expensive function as it needs to resolve an option, which uses dynamic_cast.
2019-01-24Header and dependency cleanupMaxime Coste
2018-04-19Move get_word_db to word_db.ccMaxime Coste
2017-05-22Remove virtual destructor from OptionManagerWatcherMaxime Coste
We should never destruct anything through an OptionManagerWatcher pointer, so having all those destructor virtual makes no sense.
2017-03-16Fixes some clang-tidy warning and add a few missing meta.hh includeMaxime Coste
2017-03-07Replace uses of UnorderedMap with HashMapMaxime Coste
2017-01-08Apply clang-tidy modernize to the codebaseMaxime Coste
2016-08-24Introduce the 'completion_extra_word_chars' optionMaxime Coste
This string option is used to get all the additional characters that should be considered as "word" character for the purpose of insert mode completion. Fixes #758
2016-03-25Move UsedLetters with RankedMatchMaxime Coste
2016-02-05Get rid of SharedStringMaxime Coste
2016-01-28Small cleanupMaxime Coste
2015-10-22Extract WordDB::RankedWord as RankedMatch in its own fileMaxime Coste
2015-10-21Remove legacy WordDB::find_matching methodMaxime Coste
2015-10-18Experiment with ranked word completion depending on word boundariesMaxime Coste
2015-03-10Tweak WordDB implementationMaxime Coste
2015-03-01Use StringDataPtr alias for RefPtr<StringData>Maxime Coste
2015-03-01rename StringStorage to StringDataMaxime Coste
2015-02-19Rename safe_ptr and ref_ptr to SafePtr and RefPtrMaxime Coste
2015-01-27Store direct ref_ptr<StringStorage> for WordDB linesMaxime Coste
Storing a SharedString is a waste, we want the whole line.
2015-01-15Do not store lines to word in word db, just keep the old lines aliveMaxime Coste
2015-01-15Replace InternedStrings with SharedString, shared_ptr basedMaxime Coste
2015-01-13Style tweak in WordDBMaxime Coste
2015-01-12replace all std::vector with VectorMaxime Coste
2015-01-11Track some more memoryMaxime Coste
2015-01-07Add initial memory domain allocation tracking supportMaxime Coste
2014-12-23Remove trailing blank linesMaxime Coste
2014-12-23Code refactoring in WordDBMaxime Coste
2014-12-22Minor cleanupMaxime Coste
2014-12-16Rework hashing, use a more extensible framework similar to n3876 proposalMaxime Coste
std::hash specialization is a pain to work with, stop using that, and just specialize a 'size_t hash_value(const T&)' free function.
2014-10-28Refactor word_db, use an unordered mapMaxime Coste
2014-10-01Add support for interned stringsMaxime Coste
Use interned strings for Modification contents and word database. Interned strings are guaranteed not to move in memory and are reference counted.
2014-07-30Insert word completion: Use subsequence matching if prefix failedMaxime Coste
2014-05-14replace LineChangeWatcher with a free function compute_line_modificationsMaxime Coste
2014-04-22Preserve current word in word completion if found elsewhereMaxime Coste
If occurence count in the buffer if greater that one, do not remove it from the matches.
2014-01-27WordDB now uses a LineChangeWatcher based implementationMaxime Coste
2014-01-19WordDB: use an ordered map for storing wordsMaxime Coste
This way we can use lower_bound to find the first prefix match in logarithm time and we know all other prefix matches will follow.
2014-01-16Word completion use a WordDB stored as a buffer value.Maxime Coste