commit 59a4c57c9cf0357bbbc98eaf2fe1f7bdaf8a875f
Author: Peter Pentchev <roam@debian.org>
Date: Wed Jul 29 20:03:24 2026 +0300
Add a to-do to figure out the i386 FTBFS
commit 629e4bfec632c6ac11b184a018f977059aa8b026
Author: Peter Pentchev <roam@debian.org>
Date: Wed Jul 29 20:02:47 2026 +0300
Salsa CI: re-enable the uscan job
commit 1776eb5d32b2aa7a14c8e9f30235aca0a7e6b495
Author: Peter Pentchev <roam@debian.org>
Date: Wed Jul 29 19:53:39 2026 +0300
Update the Debian packaging for kakoune 2026.05.21
commit 2b0f3d20bed8c7ff392bbaa23c994560487f2474
Merge: 2aaac877 36ad52eb
Author: Peter Pentchev <roam@debian.org>
Date: Wed Jul 29 19:52:54 2026 +0300
Merge kakoune 2026.05.21 into the Debian packaging branch
commit 2aaac877507216297100610bf66a2f8da2ff5686
Author: Peter Pentchev <roam@debian.org>
Date: Wed Jul 29 19:22:42 2026 +0300
Update the changelog file
commit 8dfa021d9cd95f4afe30d4a2d6db5349b7d7d43f
Author: Peter Pentchev <roam@ringlet.net>
Date: Wed Jul 29 19:18:16 2026 +0300
Temporarily disable uscan on Salsa CI
...it will certainly fail for the moment.
commit c5928a3827e043710376302b0a38175edff02173
Author: Peter Pentchev <roam@ringlet.net>
Date: Wed Jul 29 19:16:47 2026 +0300
Salsa CI: disable the build-any and build-all jobs
commit 35fa5ee5428448fcefc11f38d002a94b0a8eafc2
Author: Peter Pentchev <roam@ringlet.net>
Date: Wed Jul 29 19:15:58 2026 +0300
Salsa CI: disable the build-twice job, debrebuild does that now
commit 3e1dc87b46fdd1fc701e8a6ef66d7cc15fcdc90e
Author: Peter Pentchev <roam@ringlet.net>
Date: Wed Jul 29 19:15:33 2026 +0300
Move the `debputy reformat` test to Salsa CI
commit 9ef8c8dbe6b2004fd676f50e87d8f30cad1e5cad
Author: Peter Pentchev <roam@ringlet.net>
Date: Wed Jul 29 19:12:40 2026 +0300
Switch back to debhelper-compat now that debhelper 14 is out
commit b1ee60bd2e8024b0bd27ff80e3e0fe8255f65761
Author: Peter Pentchev <roam@ringlet.net>
Date: Wed Jul 29 19:11:49 2026 +0300
Declare compliance with Policy 4.7.4, drop the implied Priority: optional
commit 36ad52ebf983c1b23182caccd4f792517235b06d
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu May 21 11:23:10 2026 +1000
Kakoune 2026.05.21
commit 2a58d8b4af70b2d92be9cef155856a2c51ef7591
Merge: 285bb5ea aeb61a43
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu May 21 10:44:43 2026 +1000
Merge remote-tracking branch 'Delapouite/fix/public-access'
commit 285bb5ea4e591f1588934271b83e08c2c61b0488
Merge: 25c7b13b 080889bb
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu May 21 10:43:22 2026 +1000
Merge remote-tracking branch 'Blezzing/master'
commit 25c7b13b244fd1ddacc63ecfe1784b5ebc2ba825
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu May 21 10:39:46 2026 +1000
Fix escaping issues in autorestore.kak
Ensure filenames are escaped when echo'ed, and validate that we only
have posix portable characters (i.e. [A-Za-z0-9_.-]) as part of the
suffix, as mkstemp is specified to behave.
commit aeb61a43237fd2b15258b942e4c3faafae43345b
Author: Delapouite <delapouite@gmail.com>
Date: Tue May 19 18:22:00 2026 +0200
fix: remove extra `public` access specifier
The preceding lines of `DisplayAtom` are already in a `public` section
commit 080889bbb905b5c63179e8aee74f1571e715c6f3
Author: Morten Hansen <mmhmaster@hotmail.com>
Date: Sun May 17 12:09:46 2026 +0200
Add -back switch to arrange-buffers command
This extends the arrange-buffers command to allow moving buffers to
either end of the list, rather than only the front.
Using the buffer list as a LRU list is then trivial.
commit 0d7a9ab67e970131bd69a8aa708f06343122f058
Author: Paal Øye-Strømme <paal.o.eye@gmail.com>
Date: Sun May 17 20:28:53 2026 +0200
fix(rust): highlight regression
Signed-Off-By: Paal Øye-Strømme <paal.o.eye@gmail.com>
commit 3531bd878ee128073df4d42ae210fee194f291aa
Author: Morten Hansen <mmhmaster@hotmail.com>
Date: Sun May 17 12:36:49 2026 +0200
Morten Hansen Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
commit 2f7ac6fdac46f3e46e27cd9f0012618a1b8f4fd8
Author: Delapouite <delapouite@gmail.com>
Date: Wed May 13 19:33:27 2026 +0200
fix: remove duplicated include
commit 86b8ac1032ce195067a28a3857490270a74fa604
Author: Delapouite <delapouite@gmail.com>
Date: Mon May 11 19:46:41 2026 +0200
refactor: reuse `filename_arg_completer` for `change-directory`
It turns out this completer has the same `OnlyDirectories` definition.
commit 36f68db7b78635f99b7b8466d9db5c8305fa2822
Author: Maxime Coste <mawww@kakoune.org>
Date: Mon May 11 13:10:09 2026 +1000
Fix select_nested_sentence crash at end of buffer
Fixes #5489
commit 6c23095bf07da861bfdab529bf20e8e7bce9e88c
Author: Delapouite <delapouite@gmail.com>
Date: Sat May 9 14:53:27 2026 +0200
fix(i3): highlight `focus_wrapping` keyword
The old `force_focus_wrapping` keyword has been deprecated in favor of `focus_wrapping force`
https://github.com/i3/i3/commit/50edf495aa3971bfb67471c3aaf2eb72e7abd443
close #4490
commit 717c665e0a1796ce04c9d4518471991f6f83d375
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu May 7 18:48:46 2026 +1000
Fix consistency between sr.ht build task names
debian builds were using <compiler>-<phase> when freebsd was
using <phase>-<compiler>...
commit 0abe83f7cf9a4da3a8d8b1797450ee26f8389459
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu May 7 18:29:37 2026 +1000
Remove workaround that treats tab as <c-i> in normal keymap
This was necessary for terminals that do not support CSI u and send
a tab key for <c-i>. Users still relying on such a terminal can map
tab to <c-i> in normal mode in their kakrc.
Closes #2209
commit 3eb9ab900b5b7f68a2e49eb5a7f83ceb0efcf0a3
Merge: 1b620c59 ad9b455f
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu May 7 13:59:52 2026 +1000
Merge remote-tracking branch '4hnme/master'
commit 1b620c59c0fe009531758dcc6e32fc6f0d1ab597
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu May 7 10:23:12 2026 +1000
Support forwarding count and register to user modes
Add switches to pass a specfic register and count to the user mode
underlying normal mode. This is explicit as implicitely passing register
and count could lead to surprising behaviours if user mode mappings
do not actively defend against their first normal mode command using
an arbitrary count/register.
enter-user-mode -count %val{count} -register %val{register} <mode-name>
is the expected idiom to forward them through. This also makes
it possible to have different mapping entering user modes passing
different registers/count.
Fixes #4192
commit ad9b455f77682fdda36f2b46959f99a2f9b93d14
Author: hotsadboi <hotsadboi@tuta.io>
Date: Wed May 6 17:29:18 2026 +0500
fix odin character highlighting
commit 290446bb59a1f60616efe627a418bd10c03e15b5
Merge: edf18ff3 a33307f9
Author: Maxime Coste <mawww@kakoune.org>
Date: Wed May 6 19:43:20 2026 +1000
Merge remote-tracking branch 'Delapouite/combine-mode'
commit edf18ff3401a43cf676132de1f8f3f1f43c8a355
Merge: 930034c4 ff67d595
Author: Maxime Coste <mawww@kakoune.org>
Date: Wed May 6 08:27:33 2026 +1000
Merge remote-tracking branch 'allenyade/groovy-hl'
commit ff67d59546bac79d35c59739ceed1fb302edf390
Author: movva <disruptivemovva@disroot.org>
Date: Mon May 4 21:27:27 2026 +0200
movva Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
commit a33307f90bd1b8b4ab578bbad9605d1494736b3c
Author: Delapouite <delapouite@gmail.com>
Date: Fri May 1 11:56:49 2026 +0200
feat: allow mapping keys to `combine` mode (`<a-z>`, `<a-Z>`)
Refer to https://github.com/mawww/kakoune/issues/3572 for more details.
commit 930034c4d4ce880b0e168bcf6d4055f6264eee51
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri May 1 13:02:46 2026 +1000
Fix Wrap corner case with a ReplacedRange of exactly line width
When a ReplacedRange is exactly the line width, we also need to split
*after* it, else we may try to split in the middle of that atom which
assert (or loop infinitely in release).
Also update the other similar check to do it only when we go to the
next atom, avoiding unnecessary tests on each character.
Fixes #5483
commit 4548f95a64c6e86b1759070320a8fe3becde4e97
Merge: faf61b54 9a36f5a5
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri May 1 11:55:02 2026 +1000
Merge remote-tracking branch 'unrealapex/typo-fix'
commit faf61b540ac335fec61b9f63c0fb9f9dfffd73b7
Merge: c9be234a a0334e2b
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri May 1 11:54:25 2026 +1000
Merge remote-tracking branch 'Screwtapello/ctags-polish'
commit c9be234a459ed918f4aec8f03ff9d575a5989225
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri May 1 11:48:57 2026 +1000
Use a custom bool_t type for regex_vm instruction boolean fields
PowerPC bools can use 4 bytes, which breaks the expected sizeof
those structs. Instead of disabling the static_assert, @barracuda156
suggested using uint8_t would work.
Fixes #5478
commit e670b97d7704821434513ecfd0c0902c58265199
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri May 1 11:38:25 2026 +1000
Convert existing uses of `[^\n]` in rc/ to \N
commit 43b7ccd6f3727f60d05b5f7e729536f605558b07
Merge: 4320e8e8 0070c526
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri May 1 11:38:17 2026 +1000
Merge remote-tracking branch 'jo-he/master'
commit 4320e8e890dea5d62af7ad12c365a046a00f44e1
Merge: 1698e81c 3665b6b9
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri May 1 11:29:38 2026 +1000
Merge remote-tracking branch 'vanillajonathan/patch-1'
commit 9a36f5a5079687e3c8041f795e129da66495b487
Author: Grace John <unrealapex@disroot.org>
Date: Sun Apr 26 12:08:45 2026 -0700
Fix typo in word surrounding
commit bc99046ead6ea991a84debd7f0285dbb42012962
Author: Grace John <unrealapex@disroot.org>
Date: Sun Apr 26 12:07:52 2026 -0700
Grace John Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public
at large and to the detriment of my heirs and successors. I intend
this dedication to be an overt act of relinquishment in perpetuity
of all present and future rights to this software under copyright
law.
commit a0334e2b78b97a7da06c16e16e426615c4d1ba93
Author: Tim Allen <thristian@gmail.com>
Date: Fri Apr 24 18:22:59 2026 +1000
ctags.kak: Intepret ctagscmd with eval.
The supported way to make ctags ignore files that have been .gitignored, is to
use an external program like ripgrep that interprets .gitignore files, and send
the list of files to ctags, like this:
rg --files | ctags -L -
Unfortunately, putting that in ctagscmd requires interpreting it with eval -
otherwise, the pipe character is interpeted as another argument to rg.
This brings ctags.kak in line with format.kak.
commit 09723e3d5c9c27b8c8975620292e204427ed9930
Author: Tim Allen <thristian@gmail.com>
Date: Fri Apr 24 17:41:17 2026 +1000
ctags.kak: Update docstrings.
Add some details to the docstrings that I wanted to know when exploring the
plugin, but had to go source-diving to find out.
Also, we have "set-option -remove" these days, so we don't need to shell out
to disable the completion feature.
commit 6d7f8990929adb1554ad10395a833aa8ddc0d2c6
Author: movva <disruptivemovva@disroot.org>
Date: Tue Apr 21 15:39:39 2026 +0200
fixes shell generated groovy highlighters and static words
commit 1698e81c98b080ed7e35901cbaacdb368dea99a2
Author: Johannes Altmanninger <aclopte@gmail.com>
Date: Thu Apr 16 13:27:10 2026 +0800
rc windowing kitty: proper error if remote control is disabled
Commit 15bf1c7614 (updated kitty integration to use the no-response
switch, 2018-09-01) added the "--no-response" switch. Presumably to
suppress stdout on successful "kitty @". But that didn't seem necessary
because for "kitty @ new-window" we already ignored the output, and
"kitty @ focus-window" doesn't seem to produce output on success.
When ~/.config/kitty/kitty.conf does not include "allow_remote_control yes",
then "kitty @" commands will fail and print an error to stderr
$ kitty @ launch
Error: Remote control is disabled
and, if "--no-response" was given, kitty writes the error to the PTY(!)
instead of to stderr. This makes such user errors easily discoverable
inside interactive shells:
$ kitty @ launch --no-response
$ kitty-cmd{"ok": false, "error": "Remote control is disabled"}
But it can cause confusion in a modal editor; if in normal mode,
we'll execute "k", "i" and insert the rest into the calling buffer.
This can be reproduced with
$ HOME=$(mktemp -d) kitty -e kak -e new
As reported in https://github.com/kakoune-lsp/kakoune-lsp/issues/889,
this is especially surprising with support scripts like "jump.kak"
whose ":jump" command runs "try %{ focus %opt{jumpclient} }", inserting
garbage into the buffer.
When kitty's remote control is disabled this command should fail,
and the "try" should silence that failure (except for *debug* logs).
Replace the --no-response switch with a redirect of stdout to /dev/null.
Also add a proper error (using "fail") to point the user towards the
root cause.
Reported-by: v@anomalous.eu
commit 3665b6b93cc67f5c71f886b763ff1fce87331b0f
Author: Jonathan <vanillajonathan@users.noreply.github.com>
Date: Sun Apr 12 14:38:38 2026 +0200
Improve PRQL highlighter
commit 9d5fb1992e0149130706aa6c9cb3ab474c580597
Author: Daeho Ro <40587651+daeho-ro@users.noreply.github.com>
Date: Sun Apr 12 21:17:33 2026 +0900
Add `algorithm` in `changes.hh`
commit 61845c79424dc53793a9dfddd5c35fac5f1464bf
Author: Daeho Ro <40587651+daeho-ro@users.noreply.github.com>
Date: Sun Apr 12 21:19:56 2026 +0900
Daeho Ro Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
commit 5a5bd5fe5ca1a24ad4519b94d633c6e893c9c1fc
Author: Maxime Coste <mawww@kakoune.org>
Date: Sun Apr 12 12:23:52 2026 +1000
Kakoune 2026.04.12
commit 1446bf006170d19fc7c728256f3d0f78ab023e1d
Merge: 901cb9f0 d79b2803
Author: Maxime Coste <mawww@kakoune.org>
Date: Sun Apr 12 12:22:12 2026 +1000
Merge remote-tracking branch 'nojhan/feat-filetype-Snakefile'
commit 901cb9f0f9ad3d30983d27add1d6a24e7ad7d5fd
Author: Maxime Coste <mawww@kakoune.org>
Date: Wed Apr 8 11:12:12 2026 +1000
Disable diff-jump test when perl is absent
commit d79b280352db7e57de46d1e00815de38d062150b
Author: nojhan <nojhan@nojhan.net>
Date: Fri Apr 3 16:33:23 2026 +0200
feat(filetype): Snakefile(s) from SnakeMake
commit afc035ac0e17a6280edec511dfe8da1c0dd565ab
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu Apr 2 09:59:53 2026 +1100
Add shebang to blocking-editor-in-client and make it executable
This makes filetype detection work better, and paves the way towards
removing explicit interpreter calls when using helper scripts.
commit 0c64439f338b1cdd26bee539049e2afe586d95fe
Merge: 1355294e cae9b565
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu Apr 2 09:58:18 2026 +1100
Merge remote-tracking branch 'phillipwood/improve-git-commit'
commit 1355294ef3c5deac37e3cdd9a124fe3002e2751a
Merge: 217eb488 ac056550
Author: Maxime Coste <mawww@kakoune.org>
Date: Wed Mar 25 16:31:57 2026 +1100
Merge remote-tracking branch 'falbru/master'
commit ac0565504927bffae0f2d8af4ec0b135b9190f95
Author: Falk Bruskeland <falk.bruskeland@gmail.com>
Date: Wed Mar 25 13:33:03 2026 +0900
Fix mouse events at coordinate (0, 0) not registering
commit 217eb48892da8e6e1943bf4c71d311771b37906a
Author: Maxime Coste <mawww@kakoune.org>
Date: Tue Mar 24 17:03:38 2026 +1100
Add a test for diff-jump
commit cae9b5658cfe0715a0d84f54f8b3c6e4c96c407d
Author: Phillip Wood <phillip.wood@dunelm.org.uk>
Date: Wed Apr 30 14:22:23 2025 +0100
git.kak: improve "git commit" wrapper
When git would have prompted the user to edit the commit message,
the wrapper for "git commit" runs it twice. Once with a failing editor
to generate the commit message template and then again to create the
commit after the user has edited the commit message. To do this, the
wrapper needs to know if git would have prompted the user to edit
the message which is not straight forward to predict. For example
"git commit --fixup=<commit>" does not prompt the user to edit the
message, but "git commit --fixup=reword:<commit>" does but the wrapper
does not prompt the user to edit the message in either case. Another
example is that if the pre-commit hook fails then git does not prompt
the user to edit the commit message but the wrapper prompts the user
to edit the message template (which is empty because the hook failed)
even though it cannot create the commit.
This commit runs "git commit" in the background with an editor that
calls back into the kakoune client that started it, and so it no
longer has to know in advance if git is going to prompt the user
to edit the commit message. This means that if the pre-commit hook
fails user is informed of the error rather than being prompted to
edit a message for a commit that cannot be created and "git commit
--fixup=amend:<commit>" opens the editor as expected.
The commit is created when the user writes the commit message buffer,
and can be cancelled by deleting the commit message buffer.
commit 1e9c06d0c2752cb481023f8ffadc6af50a9f0d8b
Author: Phillip Wood <phillip.wood@dunelm.org.uk>
Date: Mon Mar 23 16:14:27 2026 +0000
Phillip Wood Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
commit e569dce8ff6c10840654e011167c550c014ef776
Merge: 9f1c6a54 65939843
Author: Maxime Coste <mawww@kakoune.org>
Date: Sat Mar 21 22:51:27 2026 +1100
Merge branch 'doc-a-x' of https://github.com/falsifian/kakoune
commit 9f1c6a5456e34a085bde6f16a4fc7620ee49df5c
Merge: 4e395c44 10c65704
Author: Maxime Coste <mawww@kakoune.org>
Date: Sat Mar 21 22:50:08 2026 +1100
Merge remote-tracking branch 'stacyharper/wbarraco/pxzoqruyokyz'
commit 4e395c4422ad9872f901032723bb13dcc39c7199
Author: Maxime Coste <mawww@kakoune.org>
Date: Sat Mar 21 22:49:41 2026 +1100
Fix extra tests with new status style
commit 13da06604ee9c55958dffbca693b773dfd0ee5eb
Merge: 4d0a484b ca2c9347
Author: Maxime Coste <mawww@kakoune.org>
Date: Sat Mar 21 22:46:03 2026 +1100
Merge remote-tracking branch 'Yus314/add-context-to-draw-status'
commit 659398437afe2691c90dae512c2f92d6b6088f61
Author: James Cook <falsifian@falsifian.org>
Date: Sat Mar 21 02:58:14 2026 +0000
Change description of how <a-x> handles eol.
Thanks to Screwtape on IRC.
commit 10c657049c3ab9924d23470921086ff5660e73a6
Author: Willow Barraco <contact@willowbarraco.fr>
Date: Fri Mar 20 16:44:03 2026 +0100
filetype/hare: highlight @undefined
As a new attribute:
https://harelang.org/blog/2026-02-13-hare-0.26.0-released/
commit ca2c93470352e89cde62cecf2507110509d7be20
Author: Yus314 <shizhaoyoujie@gmail.com>
Date: Fri Mar 20 13:12:01 2026 +0900
Change StatusStyle::Status serialization from "" to "status"
Match the MenuStyle / InfoStyle convention where all enum values
use named strings.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
commit 4d0a484b2d0e96e03c9829d04d649a5feb5d3352
Merge: b2118369 c719016c
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri Mar 20 14:33:59 2026 +1100
Merge remote-tracking branch 'paaloeye/ci/tools-darwin-deadlock'
commit b2118369cdb66581719569f231025c30ae983733
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri Mar 20 11:40:48 2026 +1100
Add error handling to command fifo creation
This silences a warning and could avoid some pretty frustrating
debugging sessions.
commit 1fb77529370fafbd8fbf0c022f4e9cfb4461262f
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri Mar 20 11:26:16 2026 +1100
Avoid pulling unnecessary lines with multi-line replace ranges
commit a6ef808a1e689e9c70ae31bb34e500cc87e03855
Author: Maxime Coste <mawww@kakoune.org>
Date: Fri Mar 20 11:10:48 2026 +1100
Add support for newlines in replace-ranges replacing text
Fixes #3689
Fixes #5382
commit 322df24bd15dc976d6de7dbd33bc2bf885509f45
Author: Yus314 <shizhaoyoujie@gmail.com>
Date: Mon Mar 16 00:56:48 2026 +0900
Fix missing StatusStyle argument in startup error print_status call
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
commit f57dc68158f59720d47f60a773bf93693ab64ba0
Author: Yus314 <shizhaoyoujie@gmail.com>
Date: Mon Mar 16 00:33:33 2026 +0900
Add style parameter to draw_status in json-ui
Add a StatusStyle enum and a 6th parameter `style` to the
`draw_status` message, allowing frontends to distinguish what kind
of status is being displayed: "command" for : prompts, "search"
for /,? prompts, "prompt" for general prompts, or "" for normal
status messages.
Uses PromptFlags::Command to explicitly identify command prompts,
avoiding fragile string matching on the prompt text.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
commit 67ed03ad0252ded00b7612400a5a6f49f858a93e
Merge: a1fe4766 2dfec65c
Author: Maxime Coste <mawww@kakoune.org>
Date: Wed Mar 11 16:09:54 2026 +1100
Merge remote-tracking branch 'Yus314/expose-widget-columns-in-draw'
commit a1fe4766c7783ac3ec6e3352467df16e5f62427d
Author: Willow Barraco <contact@willowbarraco.fr>
Date: Tue Mar 10 19:29:11 2026 +0100
filetype/jinja: fix triple { and } highlights
In case of three consecutive char, the wrong ones get highlighted. Using
negative lookahead and negative lookbehind fix this.
commit 2dfec65ce4e54d918b0a47ad607c553477cc7984
Author: Yus314 <shizhaoyoujie@gmail.com>
Date: Wed Mar 11 00:17:56 2026 +0900
Expose widget_columns in json-ui draw message
Add widget_columns as an explicit parameter to draw(), allowing
json-ui front-ends to determine how many columns at the start of
each line are used by flag-lines highlighters (e.g. number-lines).
The value is sourced from Window::last_display_setup().
commit 151ed71c5ab15194e4fa4024fd866a680e5a1c3c
Author: Yus314 <shizhaoyoujie@gmail.com>
Date: Wed Mar 11 00:17:42 2026 +0900
Yus314 Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
commit 1d710346b31a4430c4d876ae75eae4219e5702d4
Author: Maxime Coste <mawww@kakoune.org>
Date: Tue Mar 10 19:45:22 2026 +1100
Fix handling of buffer=... paths when adding/removing highlighters
The use of the same separator (/) for file paths and highlighter
paths led to some issues when trying to access a specific buffer.
Fix this by prioritising buffer names, then treat extra path
components as highlighter path. On top of this, to avoid doing this
prioritisation logic twice, rewrite redraw_relevant_clients based
off the root highlighter group instead of parsing the path again.
Fixes #5424
commit 4aec64a89aa985bc57c6a56368c3f4c6a20c1c06
Author: Maxime Coste <mawww@kakoune.org>
Date: Tue Mar 10 16:51:44 2026 +1100
Fix crash when moving vertically to the EOL of a line with invalid utf8
When targetting the EOL of a line whose last byte before EOL is a
multibyte utf8 prefix, swallowing the EOL inside the utf8 multibyte
sequence, that EOL does not have its own column (as its considered
part of another codepoint).
This can lead to the code selecting one-past-eol as the new coordinate,
which breaks invariants. Fix this by explicitely using std::min to
ensure we never select a byte past the eol.
commit 55478aac65c5890328da29b05ca3a7900853a39c
Author: Maxime Coste <mawww@kakoune.org>
Date: Mon Mar 9 17:39:27 2026 +1100
Add support for finaleol in editorconfig.kak
commit 600c418eb60538a8d423e406f8c07cfa9268ab6c
Author: Maxime Coste <mawww@kakoune.org>
Date: Mon Mar 9 16:12:17 2026 +1100
Preserve missing eol at eof and add an finaleol option to control it
After some compelling extra use cases were mentionned, because
@krobelus showed this change could be relatively compact, and probably
because I am just getting old and compromising, I changed my mind on
this and decided to add this feature.
This change is based off commit 7fed1949b1442769d15ad9bf4cfe8574aaab8ca3,
rebased onto latest master and modified to use an option for storage.
Fix the various tests that were relying on extra eol at eof being always
added by Kakoune.
Closes #2147
Closes #3724
commit ee316056e6ae305978310fd67ab7bbe4f587cffd
Author: Maxime Coste <mawww@kakoune.org>
Date: Mon Mar 9 15:45:01 2026 +1100
Execute test/run directly from main directory in `make test`
This make it outupt test paths relative to main directory allowing
direct use of those paths to open test files.
commit ee9e35689824e38981b39c40c18ce6269b46461a
Author: Maxime Coste <mawww@kakoune.org>
Date: Mon Mar 9 15:38:21 2026 +1100
Fix handling of expected failures in test runnner
Using kill instead of kill! was not killing sessions with an unsaved
buffer, which led to some tests working around this unnecessarily.
Cleanup the way those test work and ensure we have a proper error
file for tests that are expected to fail.
commit fbe752f363a06c913a4e0034283e82e2ed01e575
Author: Maxime Coste <mawww@kakoune.org>
Date: Mon Mar 9 14:42:39 2026 +1100
Detect tests whose rc fails and fix the existing ones
A couple tests were relying on outdated hook names but were passing
because errors being raised from the rc file were tolerated as a side
effect of ignoring missing rc file in tests.
Use `edit -existing` in a try block to distinguish non-existing rc
file from ones that fail to source and emit the error to stderr for
diagnostics by the test author.
commit 0f70799dfba3fc3b002757041fe6bed6a57fd7d4
Author: Maxime Coste <mawww@kakoune.org>
Date: Mon Mar 9 10:47:19 2026 +1100
Replace sole use of std::array with our custom Array
commit 47000abf277de3a9bd67d61994cf7dc5025b74e4
Author: Maxime Coste <mawww@kakoune.org>
Date: Mon Mar 9 10:43:45 2026 +1100
Add a couple comments to explain how DualThreadStack works
commit 6c007ca83a046851de71f0e28a96e73abbbde7db
Author: Maxime Coste <mawww@kakoune.org>
Date: Sun Mar 8 22:06:20 2026 +1100
Remove redundant <vector> include
commit c719016c245407bb8b86783069e4e2ead571eeca
Author: Paal Øye-Strømme <paal.o.eye@gmail.com>
Date: Sat Mar 7 16:14:56 2026 +0100
fix(ci): prevent git tools deadlock in ci
- drain fifo in git blame test to prevent deadlock on Darwin
- added 10-minute timeout to prevent indefinite hanging in CI builds
That fix doesn't eliminate the deadlock completely, but it makes it less probable.
From what I gathered, the reason it is only a Darwin problem, is the difference between
fifo kernel buffer size (8kb vs 64kb) on Darwin and Linux, as well as heavy usage of
fifos for bidirectional communication in git.kak.
Signed-Off-By: Paal Øye-Strømme <paal.o.eye@gmail.com>
commit 4c579defddb51bd07372dcdef137e264c366a43a
Author: Paal Øye-Strømme <paal.o.eye@gmail.com>
Date: Wed Mar 4 03:45:47 2026 +0100
feat(swift): modernise syntax highlighting
- added better numeric literal support (hex, binary, octal, floats with underscores)
- expanded keyword list with async/await, actor, protocol, and other modern Swift keywords
- expanded type list including standard library types and SIMD types
- added compilation directive support (#if, #available, etc.)
- added discard literal (_) highlighting
- updated attributes list with modern Swift modifiers
- added support for escaped identifiers using backticks
Signed-Off-By: Paal Øye-Strømme <paal.o.eye@gmail.com>
commit b4ce128a34daba5dc5252c0b890c5d1cf60d89ae
Author: Paal Øye-Strømme <paal.o.eye@gmail.com>
Date: Mon Mar 2 06:12:53 2026 +0100
feat(swift): add string interpolation highlighting
- added support for \() interpolation syntax in Swift strings
- added support for both regular strings and multiline strings
Signed-Off-By: Paal Øye-Strømme <paal.o.eye@gmail.com>
commit d1aa77cf254095e530c73aa13c3266841e68661c
Author: Paal Øye-Strømme <paal.o.eye@gmail.com>
Date: Mon Mar 2 04:46:44 2026 +0100
feat(swift): add auto-indentation support
- added InsertChar hooks for newline and closing brace
- added comment continuation for // and /// comments
- added automatic indentation after opening braces
- added automatic de-indentation for closing braces
- added automatic de-indentation for closures
- added basic tests
- implementation based on zig.kak patterns
Signed-Off-By: Paal Øye-Strømme <paal.o.eye@gmail.com>
commit d45ba9b63c1a4f2fce2e494dad71bb4acce6fc77
Author: Paal Øye-Strømme <paalo.eye@gmail.com>
Date: Wed Jan 14 22:28:47 2026 +0000
Paal Øye-Strømme Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
commit 03019caf858888cac0e30e92b357416c0113e7d8
Author: Paal Øye-Strømme <paal.o.eye@gmail.com>
Date: Wed Mar 4 06:13:01 2026 +0100
fix(client): refresh only if m_ui_pending is not empty
Fixes regression introduced in 551b20a where moving `generate_mode_line`
after `update_display_buffer` removed the early return check. This caused
`refresh` to be called even when no UI updates were needed, breaking tests
that expected specific message sequences.
Fixes: 551b20a34aeab6e1736da42d9ae5b0356678a7f3
Signed-Off-By: Paal Øye-Strømme <paal.o.eye@gmail.com>
commit db987ffae94a6859d81d86113d7cae8f35eba067
Merge: 551b20a3 e4adc05c
Author: Maxime Coste <mawww@kakoune.org>
Date: Tue Mar 3 11:14:45 2026 +1100
Merge remote-tracking branch '3m4r5-contrib/master'
commit e4adc05c525e3b85ea63beaff6def5a8a79c805f
Author: 3m4r5 <63432932+3m4r5@users.noreply.github.com>
Date: Tue Mar 3 03:03:54 2026 +0300
Update logo size and URL in README
use kakoune_logo_32.png to avoid rescaling
commit 551b20a34aeab6e1736da42d9ae5b0356678a7f3
Author: Maxime Coste <mawww@kakoune.org>
Date: Tue Mar 3 10:46:11 2026 +1100
Add a hidden indicator in the normal mode mode line
This should make it more obvious that some selections are not visible,
helping users avoid unintended off-screen modifications of the buffer.
Fixes #5425
Fixes #2727
commit 06b7b12fd9793a461688949a4eaacee23370fbc0
Author: Kovacsics Robert <kovirobi@gmail.com>
Date: Sat Feb 28 19:55:29 2026 +0000
rc git: Add more completions (diff/show/log)
In particular `git diff --cached` is something I use frequently,
but also added some others that might be useful from the editor.
commit 529533f917b9c12ef87f5340f11940bfacc95633
Author: Kovacsics Robert <kovirobi@gmail.com>
Date: Sat Feb 28 19:55:12 2026 +0000
Kovacsics Robert Copyright Waiver
I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.
commit bdd49da664d3a3ac7bfdb897a392b8307e8af98f
Author: 3m4r5 <63432932+3m4r5@users.noreply.github.com>
Date: Fri Feb 27 12:45:36 2026 +0300
Fix Kakoune logo URL in README
Updated logo URL to point to the new image location.
commit ea23355926f9cd7e80b96d292ae9500d99f11386
Merge: 7ee28e3e 36927894
Author: Maxime Coste <mawww@kakoune.org>
Date: Thu Feb 19 15:02:26 2026 +1100
Merge remote-tracking branch 'lobre/fix/c-o-always-jumps-back'
commit 36927894040d2f2631567eeece3c550e6cd9bd1a
Author: Loric Brevet <loric.brevet@gmail.com>
Date: Mon Feb 16 23:58:27 2026 +0100
normal: make <c-o> always jump backward when snapshotting current selection
JumpList::backward used to sometimes consume <c-o> without moving:
when the current selection had diverged from the jump at m_current,
we first pushed the current selection, then subtracted count.
With count=1, this landed on the freshly pushed entry itself, so
<c-o> behaved like "save checkpoint" instead of "jump backward".
This was especially visible after going back into the middle of history,
moving, then pressing <c-o> again: the first <c-o> could be a no-op
from the user point of view.
Fix by treating the implicit push as an extra internal step:
if we push current before jumping, move back by count + 1.
This keeps the "preserve current position for <c-i>" behavior, while
making <c-o> consistently perform an actual backward jump.
Add regression test: test/normal/jump/backward-dirty-middle
Fixes #5066
Among the 7 debian patches available in version 2024.05.18-2 of the package, we noticed the following issues: