summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-11-01Regex: store saves in a copy on write structureMaxime Coste
2017-11-01Regex: small code style tweakMaxime Coste
2017-11-01Regex: fix handling of negative escaped character classesMaxime Coste
2017-11-01Regex: Replace boost regex_iterator impl with our ownMaxime Coste
Ensure we check the results from our own regex impl in all uses of regexs in Kakoune.
2017-11-01Regex: introduce RegexExecFlags to control various behavioursMaxime Coste
2017-11-01Regex: small code tweak in ThreadedRegexVMMaxime Coste
2017-11-01Regex: Fix use of not-yet-constructed CompiledRegex in TestVM implMaxime Coste
2017-11-01Regex: Ensure we dont have a thread explosion in ThreadedRegexVMMaxime Coste
Always remove threads with lower priority that end up on the same instruction as a higher priority thread (as we know they will behave the same from now on)
2017-11-01Regex: min/max quantifiers can be non greedy as wellMaxime Coste
2017-11-01Regex: validate that our custom impl gets the same results as boost regexMaxime Coste
In addition to running boost regex, run our custom regex and compare the results to ensure the two regex engine agree.
2017-11-01Regex: support escaping characters in character classesMaxime Coste
2017-11-01Regex: add support for case insensitive matching, controlled by (?i)Maxime Coste
2017-11-01Regex: use \A \z for subject start/endMaxime Coste
This is the most common syntax in various regex variants.
2017-11-01Regex: Implement lookarounds for fixed literal stringsMaxime Coste
We do not support anything else than a plain literal string for lookarounds.
2017-11-01Regex: Support non greedy quantifiersMaxime Coste
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
2017-11-01Add another assert to try to catch #1506Maxime Coste
2017-10-31Highlighters does not need to inherit from HighlighterGroupMaxime Coste
Just compose, to avoid coupling Highlighters with the Highlighter interface. And yeah, that naming is a bit confusing.
2017-10-31Prompt: display the fallback text everytime the prompt is emptyMaxime Coste
2017-10-30Do not auto apply the fallback regex when in regex promptsMaxime Coste
Fixes #1653
2017-10-30Do not allow opening files whose size we cannot express in an intMaxime Coste