summaryrefslogtreecommitdiff
path: root/src/regex_impl.cc
AgeCommit message (Collapse)Author
2017-11-01Regex: Add support for \h and \H "horizontal blank" character classesMaxime Coste
2017-11-01Regex: Add support for `\K` that reset the start captureMaxime Coste
2017-11-01Regex: Add support for \Q...\E quoted partsMaxime Coste
2017-11-01Regex: small error message improvementMaxime Coste
2017-11-01Regex: fix support for `-` at end of a character classMaxime Coste
2017-11-01Regex: Disable dumping regex instructions by default in unit testsMaxime Coste
2017-11-01Regex: slight cleanup of the unit testsMaxime Coste
2017-11-01Regex: Refactor regex compilation to a regular RegexCompiler classMaxime Coste
2017-11-01Regex: improve regex parse error reportingMaxime Coste
Display the place where parsing failed, refactor code to make RegexParser a regular object.
2017-11-01Regex: support escaped character classesMaxime Coste
2017-11-01Regex: fix handling of strict quantifiers {N}Maxime Coste
Previous behaviour was treating {N} as {N,}
2017-11-01Regex: Use a std::function based "Matcher" op to implement character classesMaxime Coste
This is more extensible and should allow easier support for non ranges classes.
2017-11-01Regex: whenever Kakoune compiles a regex, pass it to the custom impl as wellMaxime Coste
That way we can see which features are missing.
2017-11-01Regex: work on unicode codepoints instead of raw bytesMaxime Coste
2017-11-01Regex: when in full match mode, do not accept trailing dataMaxime Coste
2017-11-01Regex: Implement leftmost matchingMaxime Coste
Ensure threads are maintained in "priority" order, by having two split instruction (prioritizing parent or child).
2017-11-01Regex: Add initial support for character rangesMaxime Coste
2017-11-01Regex: Add support for searchingMaxime Coste
Always compile a `.*` as the first instructions in a regex bytecode, depending on the match or search mode, the RegexVM will either execute this or skip it and start directly at the matching bytecode.
2017-11-01Regex: cleanup and reorganize regex code and improve capture supportMaxime Coste
Introduce the CompiledRegex class, rename ThreadedExecutor to ThreadedRegexVM, remove the RegexProgram namespace.
2017-11-01Regex: WIP support for saving capturesMaxime Coste
2017-11-01Regex: Small comment tweaksMaxime Coste
2017-11-01Regex: Add support for curly braces count expressionsMaxime Coste
2017-11-01Regex: Add support for subject begin/end assertion (\` and \')Maxime Coste
2017-11-01Regex: Add word boundary assertion supportMaxime Coste
2017-11-01Regex: Ensure we only ever have a single thread on a given instructionMaxime Coste
2017-11-01Regex: add unit test to check the ".*" constructMaxime Coste
2017-11-01Regex: Make the Split op only take a single offset parameterMaxime Coste
Split now creates a new thread and keep the current one running, as all of its uses are compatible with this behaviour, which enable a more compact compiled code.
2017-11-01Regex: Introduce RegexProgram::ThreadedExecutor and add line end/begin implMaxime Coste
2017-11-01Regex: Code cleanup in the regex implMaxime Coste
2017-11-01Regex: Add initial, exploratory work on a custom regex engineMaxime Coste