| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-03-22 | Make CompiledRegex not a RefCountable | Maxime Coste | |
| Keep this closer to the point of use, avoid pull ref_ptr.hpp into regex_impl.hpp | |||
| 2023-11-13 | Quote completions of regex options | Johannes Altmanninger | |
| Recent changes to `make_error_pattern` added a space to the default value. This means that set g make_error_pattern <tab> now produces an invalid command because regexes are not quoted. We do quote strings; regexes are not all that different so quote them too. | |||
| 2023-10-25 | Default comparison operators that can be | Maxime Coste | |
| 2023-10-25 | Remove redundant comparison operators | Maxime Coste | |
| Since C++20 (a != b) get automatically rewritten as !(a == b) if the != operator does not exist. | |||
| 2023-05-21 | Add an idle callback to be called regularly while regex matching | Maxime Coste | |
| This paves the way towards being able to cancel long regex matching operations | |||
| 2023-01-23 | Fix incorrect use of subject end/begin in regex execution | Maxime Coste | |
| This could lead to reading past subject string end in certain conditions Fixes #4794 | |||
| 2022-11-20 | Change BufferIterator comparison to assert same buffer | Maxime Coste | |
| Comparing iterators between buffers should never happen, and the only place we did was with default constructed BufferIterator which we replace by casting the iterator to bool. This should improve performance on iterator heavy code. | |||
| 2022-05-21 | Stop using deprecated std::iterator | Johannes Altmanninger | |
| As reported in #4615 and others, GCC 12.1 emits deprecation warnings because we use std::iterator. Replace it with the modern equivalent. Closes #4615 | |||
| 2019-01-20 | Split compile time regex flags from runtime ones | Maxime Coste | |
| 2019-01-20 | Support re-using the same ThreadedRegexVM for multiple iterations | Maxime Coste | |
| This should reduce the number of allocations as the memory allocated for the thread stack and the saves can be re-used between runs instead of being cleared every time. | |||
| 2019-01-20 | Refactor RegexIterator to use a Sentinel | Maxime Coste | |
| 2019-01-03 | Add support for named captures to the regex impl and regex highlighter | Maxime Coste | |
| ECMAScript is adding support for it, and it is a pretty isolated change to do. Fixes #2293 | |||
| 2018-05-27 | Refactor option_from_string to return directly the option value | Maxime Coste | |
| 2018-04-25 | Refactor RegexIterator::next to directly use a ThreadedRegexVM | Maxime Coste | |
| 2018-03-05 | Regex: take the full subject range as a parameter | Maxime Coste | |
| To allow more general look arounds out of the actual search range, pass a second range (the actual subject). This allows us to remove various flags such as PrevAvailable or NotBeginOfSubject, which are now easy to check from the subject range. Fixes #1902 | |||
| 2018-03-05 | Regex: Remove helper functions from regex_impl.hh | Maxime Coste | |
| They were close duplicates from the ones in regex.hh and not used anywhere else. | |||
| 2017-12-29 | Correctly set the NotBeginOfSubject/NotEndOfSubject flags for regex matching | Maxime Coste | |
| Fixes #1778 | |||
| 2017-12-03 | Regex: Introduce backward_regex_search helper function | Maxime Coste | |
| 2017-12-02 | Regex: make RegexIterator iterable and able to iter backwards | Maxime Coste | |
| 2017-12-01 | Regex: Support forward and backward matching code in the same CompiledRegex | Maxime Coste | |
| No need to have two separate regexes to handle forward and backward matching, just passing RegexCompileFlags::Backward will add support for backward matching to the regex. For backward only regex, pass RegexCompileFlags::NoForward as well to disable generation of forward matching code. | |||
| 2017-11-29 | Regex: avoid unneeded allocations and moves by reusing MatchResults storage | Maxime Coste | |
| 2017-11-12 | Regex: Use MemoryDomain::Regex for captures and MatchResults contents | Maxime Coste | |
| 2017-11-01 | Regex: Remove boost related code | Maxime Coste | |
| 2017-11-01 | Regex: move try/catch blocks inside boost specific code | Maxime Coste | |
| 2017-11-01 | Make use of custom regex backward searching support for reverse search | Maxime Coste | |
| 2017-11-01 | Regex: Make boost checking disableable at compile time | Maxime Coste | |
| 2017-11-01 | Regex: switch to custom impl, use boost for checking | Maxime Coste | |
| 2017-11-01 | Regex: Fix handling of match_prev_avail for boost regex | Maxime Coste | |
| We were passing around iterators that were not allowed to go before the begin iterator. | |||
| 2017-11-01 | Regex: Introduce RegexExecFlags::PrevAvailable | Maxime Coste | |
| Rework assertion code as well. | |||
| 2017-11-01 | Regex: Find potential start position using a map of valid start chars | Maxime Coste | |
| With this optimization we get close to performance parity with boost regex on the common use cases in Kakoune. | |||
| 2017-11-01 | Regex: Replace boost regex_iterator impl with our own | Maxime Coste | |
| Ensure we check the results from our own regex impl in all uses of regexs in Kakoune. | |||
| 2017-11-01 | Regex: introduce RegexExecFlags to control various behaviours | Maxime Coste | |
| 2017-11-01 | Regex: validate that our custom impl gets the same results as boost regex | Maxime Coste | |
| In addition to running boost regex, run our custom regex and compare the results to ensure the two regex engine agree. | |||
| 2017-10-10 | Move all non-core string code to string_utils.{hh,cc} | Maxime Coste | |
| 2017-08-14 | Style tweak for regex code | Maxime Coste | |
| 2016-12-14 | Fix regex.hh compilation | Maxime Coste | |
| Repeat after me: I will not blindly push commits that I havent compiled. Fixes #990 | |||
| 2016-12-14 | Make Regex a class rather than a struct to avoid mismatched tags warnings | Maxime Coste | |
| 2016-11-28 | Fix matching flags not being forwarded to regex_search | Maxime Coste | |
| Still does not fully fix #921 | |||
| 2016-09-06 | Do not let boost regex errors propagate, convert them to Kakoune errors. | Maxime Coste | |
| 2016-08-18 | Try to fix travis ci | Maxime Coste | |
| 2016-08-06 | Add information of types of options | Maxime Coste | |
| 2016-05-19 | Go back to libc locale and use c_regex_traits | Maxime Coste | |
| Unfortunately, cygwin does not support c++ locales. | |||
| 2016-05-10 | Use boost::wregex implementation and manually utf8 decode into it | Maxime Coste | |
| That way we get proper unicode support in regular expressions as long as the current locale treats wchar_t as unicode codepoints. Fixes #638 Fixes #595 Fixes #162 | |||
| 2016-04-16 | Remove iterator based regex constructor | Maxime Coste | |
| 2016-02-04 | String usage cleanups | Maxime Coste | |
| 2015-12-23 | Pass flags to the regex engine to correct anchors | Maxime Coste | |
| Current behaviour was matching ^ $ for the current search start/end (and \b was always matching begin/end as well). Fixes #536 | |||
| 2015-09-15 | Fix compilation with std regex | Maxime Coste | |
| 2015-07-14 | Transform boost/std regex_error to Kakoune::regex_error at Regex construction | Maxime Coste | |
| Fixes #318 | |||
| 2015-04-29 | Fix formatting | Maxime Coste | |
| 2015-04-08 | Regex comparison operator are const | Maxime Coste | |
