summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-05-17Merge remote-tracking branch 'Screwtapello/newlines-after-json-errors'Maxime Coste
2018-05-17Avoid needless constant allocation in StaticRegister::setMaxime Coste
2018-05-17compute_line_modifications: avoid potentially long iterationMaxime Coste
2018-05-17Handle all pending events before redrawingMaxime Coste
If new events happen while handling events, take care of those new events as well before redrawing.
2018-05-16Print a newline after errors in the JSON UI.Tim Allen
This makes them just a little easier to read.
2018-05-14Rename Context::Flags::Transient to Context::Flags::DraftMaxime Coste
Draft is well establish and all draft context are transient.
2018-05-14Do not push jumps implicitely in transient contextsMaxime Coste
This should improve performance in draft contexts.
2018-05-09Fix performance problem when generating many values for # registerMaxime Coste
Fixes #2008
2018-05-09Mark Client, Window, Buffer and OptionManager as finalMaxime Coste
Avoids warning about non virtual destructor calls on them, as they have a vtable due to OptionManagerWatcher.
2018-05-08Store the timestamp at which a display buffer was generatedMaxime Coste
Coordinates inside a display buffer are only valid for a certain buffer content, they cannot be used once the buffer has been modified. Fixes #2034
2018-05-07Fix wrong behaviour in select surroundingMaxime Coste
Fixes #2030
2018-05-05Remove out of date noexcept(false) on MessageWriter destructorMaxime Coste
This made sense when the writer was trying to send the message in its destructor, but this is not the case anymore.
2018-05-05Do not let exception propagate out of register restoring lambdaMaxime Coste
It is called during a std::vector destruction, which is noexcept, leading to terminate being called.
2018-05-03Add support for explicit menu selection from the UIMaxime Coste
the JsonUI now supports a "menu_select(int)" RPC call that should trigger explicit selection of the provided item index. As discussed for issue #2019.
2018-05-03JsonUI: Add support for a "mouse" RPC calls from the UIMaxime Coste
As discussed on issue #2019
2018-05-03Tweak the way register restorers are created to try to fix OSX compilationMaxime Coste
2018-05-02Refactor buffer undo treeMaxime Coste
Store the undo tree as an array of undo nodes, instead of as a pointer based tree.
2018-05-01Move ScopedEdition to context_wrapMaxime Coste
No need to create it both in context_wrap and in the called function.
2018-05-01Replace RegisterRestorer with a on_scope_end + lambdaMaxime Coste
2018-05-01Make OnScopeEnd valid even when non-copy elidedMaxime Coste
OnScopeEnd was relying on copy elision to avoid temporary destructor calls that would run the scope end function too soon.
2018-04-30Fix wrong use of constexprMaxime Coste
2018-04-29Fix tests after changes to json_ui outputMaxime Coste
2018-04-29Fix crash on quittingMaxime Coste
2018-04-29Rework the way UI can trigger a client quittingMaxime Coste
Add a UserInterface::is_ok method and return false on SIGHUP/stdin closing/socket dropping This should be cleaner and more robust than the previous SIGHUP handling code. Fixes #1594
2018-04-29Rename move to move_cursorMaxime Coste
move is pretty ambiguous and hard to find due to std::move.
2018-04-29JsonUI: add support for set_ui_options RPC callMaxime Coste
As discussed on #2019
2018-04-29Remove implicit conversion from String to DisplayAtom/DisplayLineMaxime Coste
2018-04-29Regex: small code style tweakMaxime Coste
2018-04-29Regex: Use only 128 characters in start desc and encode others as 0Maxime Coste
Using 257 was using lots of memory for no good reason, as > 127 codepoint are not common enough to be treated specially.
2018-04-29Regex: Use a custom 'DualThreadStack' structure to hold thread infoMaxime Coste
Instead of using two vectors, we can hold both current and next threads in a single buffer, with stacks growing on each end. Benchmarking shows this to be slightly faster, and should use less memory.
2018-04-28Docs: add exhaustive list of scoped objectsDelapouite
2018-04-28Merge remote-tracking branch 'Delapouite/unnamed-client' into HEADMaxime Coste
2018-04-28Merge remote-tracking branch 'lenormf/regex-format-string' into HEADMaxime Coste
2018-04-28fix potential overflow in dump_regexMaxime Coste
2018-04-27regex_impl: Fix a potential format string flawFrank LENORMAND
2018-04-27Add a debug regex command to dump regex instructionsMaxime Coste
2018-04-27Use indices instead of pointers for saves/instruction in ThreadedRegexVMMaxime Coste
Performance seems unaffacted, but memory usage should be lowered as the Thread struct is 4 bytes instead of 16.
2018-04-26Add a -always switch to hook command to ignore hooks disabledMaxime Coste
Hooks specified as always will run regardless of the hook disabled status.
2018-04-25Reserve data for # registerMaxime Coste
2018-04-25Refactor RegexIterator::next to directly use a ThreadedRegexVMMaxime Coste
2018-04-25Regex: Refactor ThreadedRegexVM state handlingMaxime Coste
Remove ExecState to store threads inside the ThreadedRegexVM so that memory buffers can be reused between executions. Extract an ExecConfig struct with all the data thats execution specific to avoid storing it needlessly inside the ThreadedRegexVM.
2018-04-23Change client default name: "unnamed0" → "client0"Delapouite
2018-04-22remove dragonflybsd specific logic since pkg-config works perfectly fine nowStephen Hassard
2018-04-19Complete word from the current buffer in regex_promptMaxime Coste
This allows to use Kakoune fuzzy matching to get the words we are looking for.
2018-04-19Move get_word_db to word_db.ccMaxime Coste
2018-04-19Extract a for_n_best algorithm from completion functionMaxime Coste
Provide the heap based n-best algorithm through a nice interface.
2018-04-19Fix handling of local client quitting during its creationMaxime Coste
If the local client was quitted during its creation (using -e quit for example), we could have been accessing a null pointer afterwards. Make the rest of the code aware that local_client might be null.
2018-04-14Makefile: use git-describe to get the version stringMaxime Coste
That means we can just tag releases and the version will be taken from the tag to generate the tarball.
2018-04-14Update startup message and include released version in itMaxime Coste
Having released version information in that message will be useful to allow user to know which breaking changes apply to them.
2018-04-11NCursesUI: Add support for shifted function keysMaxime Coste
Shifted function keys are not well standardized around terminals, Shift F(N) usually returns F(X) + N, with X=12 on xterm, X=10 on rxvt-unicode... Default to X=12 and make it configuable through the ncurses_shift_function_key ui_option. This fixes what #1898 tried to.