summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-01-20Add a peephole optimization pass to the regex compilerMaxime Coste
2019-01-20Refactor regex find next start not to be an instruction anymoreMaxime Coste
The same logic can be hard coded, avoiding one thread and 3 instructions, improving the regex matching speed.
2019-01-20Split compile time regex flags from runtime onesMaxime Coste
2019-01-20Support re-using the same ThreadedRegexVM for multiple iterationsMaxime 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-20Fix warning on gcc 8Maxime Coste
2019-01-20Fix use of removed std::random_shuffleMaxime Coste
2019-01-20Refactor parsed regex children iteration to use regular range-for loopsMaxime Coste
2019-01-20Refactor RegexIterator to use a SentinelMaxime Coste
2019-01-20Switch to compilation standard to C++17Maxime Coste
2019-01-20Kakoune v2019.01.20Maxime Coste
2019-01-20Defer deletion of unsetted option to return to main loopMaxime Coste
Fixes #2572
2019-01-19small code tweakMaxime Coste
2019-01-13Use an InvalidPolicy in utf8::dump and utf8::codepoint_sizeMaxime Coste
Do not throw on invalid codepoints by default, ignore them. Fixes #2686
2019-01-03Add support for named captures to the regex impl and regex highlighterMaxime Coste
ECMAScript is adding support for it, and it is a pretty isolated change to do. Fixes #2293
2019-01-03Add Optional::value_or_compute for lazy computation of default valueMaxime Coste
2018-12-28Remove DurationMs and slight code refactorMaxime Coste
2018-12-28Merge remote-tracking branch 'lenormf/unit-tests-timing'Maxime Coste
2018-12-27Use fork instead of vfork on CYGWINMaxime Coste
Fixes #2653
2018-12-23src: Run and display the time taken by unit tests to run in debug modeFrank LENORMAND
Knowing how much time the editor took to run unit tests gives users a notion of how fast it's performing on a given system.
2018-12-20src: Add support for right click eventsFrank LENORMAND
The current implementation treats left mouse button clicks as a generic "mouse press" modifier, this commit extends the list of modifiers by adding a "right mouse click" one. The proper way to implement this would be to ship the coordinates of mouse key press events in each `Key` object, and pass whichever button was clicked as a codepoint value (instead of coordinates currently), but this would require more work. This commit allows: * right clicks to set the cursor of the main selection * control-right clicks to merge all the selections, and then set its cursor Fixes #843
2018-12-19Add support for 'sanitizers=...' make optionMaxime Coste
Use make sanitizers=undefined,address to enable undefined and address sanitizers. Closes #2596
2018-12-19Do not pass thread to failed/consumed, capture it implicitelyMaxime Coste
2018-12-19Take iterators by const-ref in ThreadedRegexVM::execMaxime Coste
2018-12-13Add an option to only highlight trailing whitespaceClement Delafargue
2018-12-13Generate a coredump on quit due to SIGSEGVMaxime Coste
2018-12-13Improve deindent behaviour with mixed indentMaxime Coste
2018-12-12Remove support for 8-bit CSI as it breaks utf8 inputMaxime Coste
Fixes #2630
2018-12-11Merge remote-tracking branch 'lenormf/fix-makefile-test-rule'Maxime Coste
2018-12-09Fix compilation errorMaxime Coste
2018-12-09Merge branch 'patch-1' of http://github.com/gnull/kakouneMaxime Coste
2018-12-09Refactor parsing of keys and introduce a builtin key parser modeMaxime Coste
By setting the ncurses_builtin_key_parser ui_option to true, we can disable ncurses parsing of key strokes to get less portable parsing but support for more complex modifiers.
2018-12-09NCursesUI: Handle CSI in 8-bit mode as wellMaxime Coste
2018-12-09Merge remote-tracking branch 'jeapostrophe/master'Maxime Coste
2018-12-09Gather the list of hooks to run before running the parentMaxime Coste
This will prevent hooks added by the parent hook manager to be gathered, as was decided during the discussion for #2603
2018-12-08Very minor grammar fixIvan Oleynikov
Probably, the extra «s» at the end of «exist» was added accidentally. A verb after «does not» in Present Simple definitely shouldn't have this extra «s».
2018-12-07Fix dumb typoJay McCarthy
2018-12-07Simplify re: lenormfJay McCarthy
2018-12-07Update re lenormf's commentsJay McCarthy
2018-12-07Parse xterm-keys for motion directlyJay McCarthy
Ideally, something better should be done (re #2554) but this is a decent intermediate step for some useful keys. Note: NCurses supports parsing these keys when shifted (KEY_SR, _SLEFT, S_RIGHT, etc), but it does not do the same thing for the other modifiers.
2018-12-07Use _exit() after vfork()Jason Felice
Closes #2620 The docs for Mac OS X's vfork() requires it, and _exit() conforms to POSIX.1-2008. http://man7.org/linux/man-pages/man2/_exit.2.html
2018-12-06src: The `test` build target depends on `kak`Frank LENORMAND
Not having the `test` target (in the Makefile) depend on the `kak` one prevents users from running commands that make use of parallelism, e.g.: $ make -j all test The above command sometimes results in the test suite running before the binary has been compiled and symlinked, resulting in failures.
2018-12-06Use a dummy function for SIGPIPE instead of SIG_IGNMaxime Coste
SIG_IGN is inherited after 'execve' and requires us to reset that signal handler, which does not work well with vfork on OSX. Using an empty function does the trick and will be auto reset to default on exec.
2018-12-01src: Prevent `:prompt -on-change` from crashing the editorFrank LENORMAND
Fixes #1217
2018-11-28Fix hooks triggering on unset-option even if parent has same valueMaxime Coste
2018-11-27Support KAKOUNE_POSIX_SHELL environment variable to choose the shell pathMaxime Coste
The shell will always be run with 'sh' as argv[0] to make shells such as busybox sh supported. Closes #2547
2018-11-27ShellManager: Use vfork instead of forkMaxime Coste
When large buffers have been opened, copying Kakoune's memory page descriptors can get pretty slow, making fork more expensive than necessary. vfork avoids that problem. While not strictly conforming, it seems the few calls we do before execve (open, close, dup2 and set_signal_handler) would not cause any problems on platforms we care about.
2018-11-27Merge remote-tracking branch 'lenormf/fix-trim-selections'Maxime Coste
2018-11-27Merge remote-tracking branch 'Delapouite/face-helper'Maxime Coste
2018-11-27Make '_' the default extra_word_chars, and remove built-in supportMaxime Coste
Fixes #2599
2018-11-26Read initial remote message in Urgent EventModeMaxime Coste
Fixes #2497