Commit Graph

517 Commits (main)

Author SHA1 Message Date
Tim Zenner eeb18f6174
Update README.asciidoc 2023-09-21 00:42:13 -05:00
Maxime Coste 7027cccf82 Fix typo in README 2023-06-17 18:14:15 +10:00
Maxime Coste 5901d2e06b Revert "Switch undo storage from a tree to a plain list"
Moving across history moved to <c-j>/<c-k> to keep <a-u>/<a-U>
for selection undo/redo

This reverts commit e0d33f51b3.
2023-06-17 17:31:57 +10:00
Olivier Perret e0d33f51b3 Switch undo storage from a tree to a plain list
Whenever a new history node is committed after some undo steps, instead
of creating a new branch in the undo graph, we first append the inverse
modifications starting from the end of the undo list up to the current
position before adding the new node.

For example let's assume that the undo history is A-B-C, that a single undo
has been done (bringing us to state B) and that a new change D is committed.
Instead of creating a new branch starting at B, we add the inverse of C
(noted ^C) at the end, and D afterwards. This results in the undo history
A-B-C-^C-D. Since C-^C collapses to a null change, this is equivalent to
A-B-D but without having lost the C branch of the history.

If a new change is committed while no undo has been done, the new history
node is simply appended to the list, as was the case previously.

This results in a simplification of the user interaction, as two bindings
are now sufficient to walk the entire undo history, as opposed to needing
extra bindings to switch branches whenever they occur.
The <a-u> and <a-U> bindings are now free.

It also simplifies the implementation, as the graph traversal and
branching code are not needed anymore. The parent and child of a node are
now respectively the previous and the next elements in the list, so there
is no need to store their ID as part of the node.
Only the committing of an undo group is slightly more complex, as inverse
history nodes need to be added depending on the current position in the
undo list.

The following article was the initial motivation for this change:
https://github.com/zaboople/klonk/blob/master/TheGURQ.md
2023-04-17 10:25:51 +02:00
Eve 5df614330d Remove mention of in README 2023-01-23 09:09:36 -05:00
Maxime Coste bfa3c568cc Small fixup on how non-modified keys are written in README 2022-11-06 20:10:33 +11:00
Adria Arrufat 32e7e57873
Reflect the new behavior of `x` and `<a-x>` 2022-11-03 13:56:02 +09:00
Johannes Altmanninger 4f15f4179c README: clarify that change commands work on each selection
I think "current selection" could be misinterpreted as "main
selection", so let's use "each selection".
2022-10-16 20:00:22 +02:00
Johannes Altmanninger 4b3749c492 README: don't emphasize that <a-p> selects because now p does too
Note that these sentences talk about the "current" selection but
actually mean "each" selection. The next commit will change this.
2022-10-16 19:57:39 +02:00
Johannes Altmanninger 5822e7e9f2 README: fix typos 2022-10-16 19:49:43 +02:00
Jakub Wasilewski 69f4d1261b Correct and unify descriptions of normal mode C key behavior
Fixes #4747
2022-10-11 08:39:34 +02:00
Maxime Coste 2d8456db10 Move user mappings to <space> and keep/remove selection to , 2022-07-05 08:43:40 +10:00
Pound_Hash ecf7e0be18 Amendments to grammar and punctuation.
I'm being told to commit changes before rebasing.
2022-04-16 09:58:46 -07:00
Hugo Musso Gualandi 73f0de4085 Improved installation instructions for Ubuntu
Added information on how to install from the repositories. Improved the instructions for how to build from source, for those that don't want an ancient version of Kakoune. On Ubuntu 20.04 and earlier, GCC 10 is not the default so we have to explicitly tell `make` to use GCC 10.

See also: https://github.com/mawww/kakoune/issues/4571
2022-03-20 16:22:27 +01:00
Maxime Coste 1d6476d329 Document the GCC >= 10.3 instead of just >= 10 requirement 2022-03-06 10:13:14 +11:00
Grégoire Geis 04cd927869 readme: update build instructions 2021-11-25 21:27:10 +01:00
Frank LENORMAND c52b1a3f22 travis: Drop TravisCI 2021-09-15 14:18:02 +03:00
Maxime Coste 874b72a63c Require GCC 8 or later
We hit some compiler bugs around C++17 support and at this point in
time it does not seem worth it to try to work around GCC 7 issues.

Closes #4318
2021-09-02 20:48:12 +10:00
Waldir Pimenta 7e72b78b9f
README: Add Nix installation instructions 2021-07-31 20:00:36 +01:00
Maxime Coste 7e66846172 Rename NCursesUI to TerminalUI 2021-07-12 10:25:58 +10:00
maciderio ec07374e76
Update README.asciidoc
Gentoo has a wiki page documenting Kakoune installation. The method given here ("emerge kakoune") will not work on a default Gentoo installation, as Kakoune is currently in the Testing branch rather than in the Stable branch. A link to the documentation explaining how to install Kakoune on Gentoo seems pertinent.
2021-07-03 15:36:38 +02:00
syntonym 3be80f711e update IRC channel location 2021-06-13 16:54:19 +02:00
Herby Gillot 5d56a71c94
readme: Add MacPorts installation instructions 2021-02-03 18:10:50 -05:00
Claes 94340f7fe7
Add installation command for Gentoo.
The other package managers have their explicit commands listed, so I figured it only made sense to have it for Gentoo as well.
2020-11-10 16:29:39 +01:00
samueldple 59c6c071de
Fix grammar in manual entry 2020-09-12 11:05:14 +01:00
icefoxen 9440adf85a
Update README.asciidoc
...If you want them.  Versions available are listed here: <https://packages.debian.org/search?keywords=kakoune&searchon=names&suite=all&section=all>
2020-08-06 11:12:45 -04:00
beardedsakimonkey 0e4f6a69fd
Fix example in README 2020-07-01 21:22:58 -07:00
Fred. G df84a41e06
Update OpenBSD's README tip
I have made an OpenBSD port. It is now available for -current.
2020-06-15 10:18:46 +02:00
Miguel de Val-Borro 3efb3a3e43 Fix some typos in docs 2020-05-02 11:43:33 -04:00
Maxime Coste aad4612387 Recommend clang >= 6 as current code triggers a bug in clang 5 2020-03-03 21:15:38 +11:00
Waldir Pimenta 8a8d0522db
README: change http links to https
Also fix one instance of uncapitalized "kakoune"
2020-01-01 22:47:41 +00:00
Maxime Coste 10fd65f204 Merge branch 'master' of http://github.com/bonds/kakoune 2019-12-20 07:16:53 +11:00
Jiri Konecny 2dd950147f
Add Fedora daily builds back to README
Also upper `k` in Kakoune for OpenSUSE to make it consistent with the rest.
2019-12-19 15:24:45 +01:00
Frank LENORMAND 1b2bd2c977 cirrus: Fix the URL of the build badge 2019-12-15 09:19:02 +01:00
Frank LENORMAND 2966d980d3 readme: Add a Cirrus build badge 2019-12-14 08:45:01 +01:00
Scott Bonds dc9d12a272 Add OpenBSD section to README 2019-12-07 12:53:42 -08:00
Artem Polishchuk af6acfc3ab Update Fedora installation info
Add RHEL/CentOS 8 installtaion info
2019-11-29 08:47:05 +02:00
Steven vanZyl 7c95f3b96d
Update OpenSUSE install instructions
Kakoune is now in the official OpenSUSE repositories
so it is no-longer necessary to use the editors repo.
2019-10-01 12:40:52 -04:00
josephrocca e8a555f3fb
Update README.asciidoc
Works fine on 18.04 too
2019-08-28 22:18:17 +10:00
Joachim Henke 4c61f82fb2 fix a few typos 2019-07-06 17:37:30 +02:00
Maxime Coste 11b7fb78b8 Remove out of date link in README
Fixes #2956
2019-06-23 16:38:45 +10:00
Alex Leferry 2 9b203cdf9c Fix typo 2019-06-09 19:31:07 +02:00
Maxime Coste eb2c238d43 Tweak readme formatting 2019-04-20 10:28:41 +02:00
Delapouite 4ce37c1211 doc: move aliases explanation from README to commands.asciidoc 2019-04-19 23:13:23 +02:00
Maxime Coste 45995ad572 Update README regarding compiler compatibility 2019-01-22 19:39:45 +11:00
Maxime Coste 1c7a124339 Merge branch 'improve-readme' of http://github.com/jbrains/kakoune 2018-12-19 19:34:15 +11:00
J. B. Rainsberger 39c8d05cfa Clarified the difference between movement 'f' and 't'. 2018-12-18 07:30:55 -05:00
J. B. Rainsberger dff86ce195 Minor improvements: grammar and spacing. 2018-12-18 07:28:14 -05:00
J. B. Rainsberger b590fad7ef Made it easier to notice instructions for extending the selection. 2018-12-18 07:27:40 -05:00
Maxime Coste fc9a20cb22 Merge branch 'patch-3' of http://github.com/FranzSkuffka/kakoune 2018-10-23 20:22:26 +11:00