summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-06-17src: Add a `commands` debug flagFrank LENORMAND
This commit allows setting the `commands` flag to the `debug` option, in order to have the engine write on the *debug* buffer the commands that are being executed, along with their arguments.
2017-06-17Update startup info messageMaxime Coste
Remove some old breaking changes, add the lint/make/grep command changes.
2017-06-17Disable -Wnoexcept-type warningMaxime Coste
We dont really care that the mangled name will change, Kakoune is not built as a library. Fixes #1436
2017-06-16Trim whitespaces surrounding docstringsMaxime Coste
Closes #1439
2017-06-16Add fallthrough comment to silence gcc-7 warningMaxime Coste
Until we switch to C++17 and can use the proper attributes there. Fixes #1437
2017-06-16Support hitting escape to cancel a selection combine operationMaxime Coste
Fixes #1443
2017-06-16Hide info/menu when they are anchored to an invisible buffer coordMaxime Coste
Fixes #1444
2017-06-16Fix some remaining uses of invalid atom coordinatesMaxime Coste
2017-06-15Fix some other uses of invalid buffer coordinates in display codeMaxime Coste
2017-06-15Move tolerance for one past end of line coordinates to highlighter codeMaxime Coste
The rest of Kakoune's code now requires coord passed to Buffer::iterator_at to be valid.
2017-06-15Fix crash recently introduced when deleting at buffer start in insert modeMaxime Coste
2017-06-15Go back to window lines ending at one past the end of the buffer lineMaxime Coste
Change Buffer::iterator_at so that this case is tolerated, and fixes the coord to next line start instead of clamping to last line char.
2017-06-15Change window display to not use invalid buffer coordinatesMaxime Coste
Fixes #1435
2017-06-15Respect scroll offset even when wrapping linesMaxime Coste
Fixes #1433 although in a slightly different way than requested: We ensure that scrolloff *displayed* lines are visible below the cursor, not scrolloff *buffer* lines.
2017-06-14Change custom text object desc trigger from ':' to 'c' - Fix #1362Delapouite
2017-06-13Always store InclusiveBufferRange with first < secondMaxime Coste
Closes #1434
2017-06-12minor style tweakMaxime Coste
2017-06-12Simplify a bit buffer iteration functionsMaxime Coste
Dont try to ensure the returned value is valid, incrementing past the end/decrementing before begin is the caller's error.
2017-06-12Use read_fd to get pipe command from stdin instead of ad-hoc codeMaxime Coste
read_fd will also now throw on read error instead of just returning the data read so far as if nothing failed.
2017-06-11Fix corner case in compute_modified_rangesMaxime Coste
2017-06-11Fix the Buffer::end() madnessMaxime Coste
Until now, buffer had multiple recognized end coordinates, either { line_count, 0 } or { line_count - 1, line[line_count - 1].length }. Now the only correct end coord is { line_count, 0 }, removing the need for various special cases.
2017-06-09Fix wrapping supportMaxime Coste
2017-06-09Remove unused only_buffer mode for DisplayLine::trimMaxime Coste
2017-06-09Simplify column highlighter and make it more robustMaxime Coste
Fixes #1382
2017-06-09Fix bug in word completerMaxime Coste
A bug could be triggered in the word completer when a multiselection would trigger word completion with one selection being at buffer first character.
2017-06-09Proper linear time insert completion insertionMaxime Coste
The previous solution, ad9b090ddf362220e7879370538db0b5cd14fe34, was failing when completion was not replacing any text, as going through SelectionList was not permitting to replace empty ranges. Handle replacement as first a deletion then an insert to get fast update, as having a list of forward deletions and then a list for forwad insertion is much faster to update than a list of interleaved delete/insert.
2017-06-09Rework partial line display logicMaxime Coste
Instead of highlighting full lines and then trim them to make them fit in the window, highlight only the visible portion, and rely on the compute_display_setup system introduced for wrapping to setup our buffer range correctly
2017-06-09More explicit and simpler codeMaxime Coste
2017-06-08Remove spurious double underscoreMaxime Coste
2017-06-08Do not show startup info when piping into kakMaxime Coste
Fixes #1340
2017-06-08Fix quadratic behaviour in when selecting an insert completionMaxime Coste
Use the fast, linear time SelectionList::insert algorithm instead of an ad-hoc one that needs to call SelectionList::update after each modification of the buffer. Fixes #1417
2017-06-08Disable idle timers on all transient contextsMaxime Coste
2017-06-08Merge remote-tracking branch 'Delapouite/rotate-forward'Maxime Coste
2017-06-08Add `-width <max_width>` support in the wrap highlighterMaxime Coste
Will always wrap at the minimum between max_width and actual window width. Fixes #1424
2017-06-07Move variable closer to its point of useMaxime Coste
2017-06-07Filter debug buffers before creating the SafePtr vector in -buffer *Maxime Coste
2017-06-07Do not disable incsearch option in context wrapMaxime Coste
It will only trigger on idle, which should not happen during non- interactive contexts.
2017-06-07Only trigger PromptEvent::Change on idleMaxime Coste
There is no need to trigger that event on every keystroke, we can trigger it only when we hit the idle timeout, avoiding computations when input keys are pasted.
2017-06-07Use microseconds instead of milliseconds for built-in profilingMaxime Coste
2017-06-07Run BufCreate hook *before* Buf{Open,New}FileMaxime Coste
2017-06-07Use range based find_if wrapper for finding shell env varsMaxime Coste
2017-06-07Change merge_overlapping to guarantee we dont break the sortingMaxime Coste
In certain cases, we could end up with a unsorted selection list, leading to broken invariant.
2017-06-07Fix memory errors due to sharing the MatchResults in the Hooks structMaxime Coste
A hook execution triggered by another hook execution would change the shared MatchResults object, which is a wrong behaviour and makes it point to dead string data.
2017-06-07Remove unneeded unknown_expand exception typeMaxime Coste
2017-06-07Use range based accumulate wrapper instead of std::accumulateMaxime Coste
2017-06-07Do not allow whitespaces as % string delimitersMaxime Coste
2017-06-07Move hook executing logic into HookManagerMaxime Coste
The existing HookManager was able to run arbitrary hook functions, but in practice was only used for user provided textual hooks. That separation was causing some suboptimal performances, by moving that logic directly in the hook manager we can improve hook filtering performance which is a big part of startup time when opening lots of files.
2017-06-07Avoid expensive copies of Hooks in HookManager::run_hooksMaxime Coste
Use a deferred deletion mechanism to ensure hooks are kept alive for the duration of run_hooks.
2017-06-07Move NestedBool to utils.hhMaxime Coste
2017-06-07Small style tweakMaxime Coste