<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kakoune.git/test/compose, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/'/>
<entry>
<title>Revert "Switch undo storage from a tree to a plain list"</title>
<updated>2023-06-17T07:31:57+00:00</updated>
<author>
<name>Maxime Coste</name>
<email>mawww@kakoune.org</email>
</author>
<published>2023-06-17T07:30:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=5901d2e06b7c43fd0e6156a49761b81b747ea908'/>
<id>5901d2e06b7c43fd0e6156a49761b81b747ea908</id>
<content type='text'>
Moving across history moved to &lt;c-j&gt;/&lt;c-k&gt; to keep &lt;a-u&gt;/&lt;a-U&gt;
for selection undo/redo

This reverts commit e0d33f51b36c9f0be7ae2467dab455d211bbf561.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Moving across history moved to &lt;c-j&gt;/&lt;c-k&gt; to keep &lt;a-u&gt;/&lt;a-U&gt;
for selection undo/redo

This reverts commit e0d33f51b36c9f0be7ae2467dab455d211bbf561.
</pre>
</div>
</content>
</entry>
<entry>
<title>Switch undo storage from a tree to a plain list</title>
<updated>2023-04-17T08:25:51+00:00</updated>
<author>
<name>Olivier Perret</name>
<email>Olivier.Perret@mailbox.org</email>
</author>
<published>2023-04-17T08:25:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=e0d33f51b36c9f0be7ae2467dab455d211bbf561'/>
<id>e0d33f51b36c9f0be7ae2467dab455d211bbf561</id>
<content type='text'>
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 &lt;a-u&gt; and &lt;a-U&gt; 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;a-u&gt; and &lt;a-U&gt; 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Move user mappings to &lt;space&gt; and keep/remove selection to ,</title>
<updated>2022-07-04T22:43:40+00:00</updated>
<author>
<name>Maxime Coste</name>
<email>mawww@kakoune.org</email>
</author>
<published>2022-04-14T22:14:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=2d8456db102e13f37a5cd271868c330d73580f6d'/>
<id>2d8456db102e13f37a5cd271868c330d73580f6d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>The `enabled` check was actually was not being run by the test infrastructure.</title>
<updated>2021-12-14T11:24:50+00:00</updated>
<author>
<name>Sidharth Kshatriya</name>
<email>sid.kshatriya@gmail.com</email>
</author>
<published>2021-12-14T11:19:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=e013385a582260bc8aa4ae8f736c18f60d43ce85'/>
<id>e013385a582260bc8aa4ae8f736c18f60d43ce85</id>
<content type='text'>
Now that it is, we get the following error when trying to execute
`test/compose/select-display-columns`

```sh
./enabled: 2: [: 4: unexpected operator
```

This commit fixes the enabled check
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that it is, we get the following error when trying to execute
`test/compose/select-display-columns`

```sh
./enabled: 2: [: 4: unexpected operator
```

This commit fixes the enabled check
</pre>
</div>
</content>
</entry>
<entry>
<title>Only compute command coordinates when necessary</title>
<updated>2021-06-24T07:20:37+00:00</updated>
<author>
<name>Maxime Coste</name>
<email>mawww@kakoune.org</email>
</author>
<published>2021-06-24T06:42:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=be9b2de0ee811e8c4ec25e5b4b9ec1318c3799ed'/>
<id>be9b2de0ee811e8c4ec25e5b4b9ec1318c3799ed</id>
<content type='text'>
Tracking the line/column of each token takes a surprising big part
of the command parsing logic runtime and is only necessary when we
hit an error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tracking the line/column of each token takes a surprising big part
of the command parsing logic runtime and is only necessary when we
hit an error.
</pre>
</div>
</content>
</entry>
<entry>
<title>Restore previous line-compose test</title>
<updated>2021-04-18T06:27:15+00:00</updated>
<author>
<name>Maxime Coste</name>
<email>mawww@kakoune.org</email>
</author>
<published>2021-04-18T06:27:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=6f56f02924e463fa0dea3c153f8ca28d717d8e52'/>
<id>6f56f02924e463fa0dea3c153f8ca28d717d8e52</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix line completion with prefix</title>
<updated>2021-04-11T03:54:48+00:00</updated>
<author>
<name>Tw</name>
<email>tw19881113@gmail.com</email>
</author>
<published>2021-04-11T03:54:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=41833d7b7d1b8b08b887984d6ac744f1e6d7ed78'/>
<id>41833d7b7d1b8b08b887984d6ac744f1e6d7ed78</id>
<content type='text'>
There's a bug in current line completion, fix it.

Signed-off-by: Tw &lt;tw19881113@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's a bug in current line completion, fix it.

Signed-off-by: Tw &lt;tw19881113@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Ignore indent when completing lines</title>
<updated>2020-11-20T20:00:46+00:00</updated>
<author>
<name>Andrew Vos</name>
<email>andrew.vos@gmail.com</email>
</author>
<published>2020-11-16T16:02:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=f3f3f806243efcd15d8000b96119608dd79163ab'/>
<id>f3f3f806243efcd15d8000b96119608dd79163ab</id>
<content type='text'>
When doing line completion, we previously used to not complete the line
if it had different indent to the potential completion.

This commit changes the behaviour to ignore indentation when completing lines.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When doing line completion, we previously used to not complete the line
if it had different indent to the potential completion.

This commit changes the behaviour to ignore indentation when completing lines.
</pre>
</div>
</content>
</entry>
<entry>
<title>Expand env vars as list of strings</title>
<updated>2020-03-02T09:53:28+00:00</updated>
<author>
<name>Maxime Coste</name>
<email>mawww@kakoune.org</email>
</author>
<published>2020-03-01T02:28:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=0a66eb9c47ba9a7d3b90286d66a70b5bd7eee15a'/>
<id>0a66eb9c47ba9a7d3b90286d66a70b5bd7eee15a</id>
<content type='text'>
This makes it possible to do :select `%val{selections_decs}` and to
correctly combine $kak_quoted with those.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes it possible to do :select `%val{selections_decs}` and to
correctly combine $kak_quoted with those.
</pre>
</div>
</content>
</entry>
<entry>
<title>Few style changes on history exposition code</title>
<updated>2020-01-02T11:36:26+00:00</updated>
<author>
<name>Maxime Coste</name>
<email>mawww@kakoune.org</email>
</author>
<published>2020-01-02T10:27:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vinkies.net/kakoune.git/commit/?id=8b6ed26e8ce1cd0266deeb720d17d92b43e0ceff'/>
<id>8b6ed26e8ce1cd0266deeb720d17d92b43e0ceff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
