summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-07-19Add a RegisterModified hookMaxime Coste
This one has been a long time coming, I am still concerned this could impact performance a lot. This hook does *not* trigger for capture registers (0-9) or any other dynamic registers (that are not writable). Fixes #859
2020-07-19Code style tweaksMaxime Coste
2020-07-07Handle SIGTERM as a graceful exit, similar to the `:kill!` commandMaxime Coste
Do not backup modified files, go through graceful destruction of singletons. Fixes #3528
2020-07-05Fix selections getting unsorted on scrollMaxime Coste
Fixes #3478
2020-07-04Add User hook supportMaxime Coste
2020-06-28Fix 'error: non-constant-expression cannot be narrowed...'Igor Böhm
ncurses_ui.cc:759:59: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'Key::MouseButton' in initializer list [-Wc++11-narrowing] return mouse_button(mod, Key::MouseButton{code}, coord, c == 'm'); ^~~~
2020-06-28Refactor mouse press/release handling to support 3 buttonsMaxime Coste
Change button to be an additional parameter instead of having separate events for left/right buttons. Fixes #3471
2020-06-27Refactor how InsetCompletionHide hook parameter is computedMaxime Coste
Keep track of inserted ranges instead of trying to re-derive them. Fixes #3556
2020-06-25Merge remote-tracking branch 'lenormf/key-percent'Maxime Coste
2020-06-16A module is not loaded after failing during loadMaxime Coste
distinguish the loading from loaded state, detect recursive loading.
2020-06-09Do not include non-primitive option value in *SetOption hook filterMaxime Coste
Only include the value for int/str/bool options, for the rest just write '<option name>=...'. This should reduce the cost of some patterns such as repeatedly adding a value inside a list option. It seems very unlikely that the actual value would be matched by a hook regex string for non primitive types.
2020-06-07Fix select wiping capturesMaxime Coste
It turns out `v = std::move(v)` with v a std::vector is not a no-op, it clears the vector.
2020-06-03src: Introduce a <percent> named keyFrank LENORMAND
Similarly to the <semicolon> key, make it easier to write `:execute-keys` commands by replacing <percent> with `%`. Highlighters can keep escaping the sign when regular expressions are not quoted, but built-in scripts that use `%` as an editing primitive have been modified to use the named key, for clarity.
2020-06-01Replace some tag dispatch with if constexprMaxime Coste
2020-05-30Merge commit 'krobelus/05-highlight-replace-ranges-crash^'Maxime Coste
2020-05-29Fix unintended interpretation of ranges length syntaxMaxime Coste
Ranges specified with a +<length> were inconsistent, with +0 meaning an empty range, while +1 meant a two character long range (first character + the following one). Change that to mean a single character. Fixes #3479
2020-05-29Avoid to_remove vector in select helper functionMaxime Coste
Remove the need to allocate anything when removing selections.
2020-05-29Add a range based remove_if overloadMaxime Coste
2020-05-28refactor: remove extra semicolonsJohannes Altmanninger
2020-05-28Fix invalid regions with begin > end being generatedMaxime Coste
Fixes #3495
2020-05-19Merge remote-tracking branch 'krobelus/paragraph-begin-oob'Maxime Coste
2020-05-19Output debug memory stats in a nice tableMaxime Coste
2020-05-17Fix crash when selecting previous paragraph at buffer beginJohannes Altmanninger
Fixes #3489 When there are multiple empty lines between a paragraph and the cursor (C in the example below), <a-[>p skips over one of them. Prevent the check for the extra newline from going out of bounds. ``` a paragraph C after <a-[>p, the first two lines will be selected ```
2020-05-17Refactor: use is_eol() as elsewhere in this functionJohannes Altmanninger
2020-05-17Fix use of unportable MSG_CMSG_CLOEXECMaxime Coste
2020-05-12Fix CSI u parsing of some special keysMaxime Coste
2020-05-10Support piping data to client stdinMaxime Coste
Pass the client stdin fd to the server and open a fifo buffer from it. Fixes #3394
2020-05-10Fix select_sentence going past the end of the bufferMaxime Coste
Fixes #3472
2020-05-03Merge remote-tracking branch 'krobelus/kak-c-initial-buffer-pos'Maxime Coste
2020-05-02Fix traling whitespacesMaxime Coste
2020-05-02Add support for alpha channel in colorsMaxime Coste
This makes it easier to define faces that lighten/darken whatever they apply on.
2020-05-01Fix +line:col initial buffer position when connecting to sessionJohannes Altmanninger
A command line argument like +line[:column] can be used to specify a target line and column for the first file. This did not work when connecting to a session, because the client opens its file parameter with `-e "edit file1; edit file2"` which is executed after the initial buffer position is set. Work around this by passing the position to the first file and avoid moving the cursor in unrelated files. Reproduce: kak -s foo kak -c foo +4:11 README.asciidoc
2020-04-27Fix clang compilationMaxime Coste
2020-04-27Merge branch 'netbsd-1' of https://github.com/krytarowski/kakouneMaxime Coste
2020-04-27Support multi-line replace-rangesMaxime Coste
This likely has lots of rough edges, but should be an initial proof of concept to support folding.
2020-04-27Do not replace partially selected ranges in replace-ranges highlighterMaxime Coste
Partially selected ranges should not be replaced to make it possible to see what is actually selected.
2020-04-27Fix highlighting empty ranges at end of line and begin of lineMaxime Coste
2020-04-27Factor option based highlightersMaxime Coste
2020-04-23Fix get_kak_binary_path() for NetBSDKamil Rytarowski
Pass correct mib[] to sysctl(3).
2020-04-21Fix issue with select object and empty matchesMaxime Coste
2020-04-13Parse ascii newline/tab/escape as special keys instead of control keysMaxime Coste
Fixes #3439
2020-04-13Fix internal command namingMaxime Coste
2020-04-13Merge remote-tracking branch 'lenormf/fix-3410'Maxime Coste
2020-04-09Merge branch 'netbsd' of http://github.com/niacat/kakouneMaxime Coste
2020-04-06Support empty ranges in replace-ranges highlighterMaxime Coste
2020-03-30Add -override support to add-highlighterMaxime Coste
This allow replacing a highlighter in place, not loosing its current position in its parent. Fixes #3436
2020-03-29Fix empty strings not being zero terminatedMaxime Coste
2020-03-27Untie focus reporting and mouse handlingMaxime Coste
2020-03-22|| -> or for consistencynia
2020-03-22Fix build on NetBSDnia