summaryrefslogtreecommitdiff
path: root/test/compose
AgeCommit message (Collapse)Author
2023-06-17Revert "Switch undo storage from a tree to a plain list"Maxime Coste
Moving across history moved to <c-j>/<c-k> to keep <a-u>/<a-U> for selection undo/redo This reverts commit e0d33f51b36c9f0be7ae2467dab455d211bbf561.
2023-04-17Switch undo storage from a tree to a plain listOlivier Perret
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
2022-07-05Move user mappings to <space> and keep/remove selection to ,Maxime Coste
2021-12-14The `enabled` check was actually was not being run by the test infrastructure.Sidharth Kshatriya
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
2021-06-24Only compute command coordinates when necessaryMaxime Coste
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.
2021-04-18Restore previous line-compose testMaxime Coste
2021-04-11fix line completion with prefixTw
There's a bug in current line completion, fix it. Signed-off-by: Tw <tw19881113@gmail.com>
2020-11-20Ignore indent when completing linesAndrew Vos
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.
2020-03-02Expand env vars as list of stringsMaxime Coste
This makes it possible to do :select `%val{selections_decs}` and to correctly combine $kak_quoted with those.
2020-01-02Few style changes on history exposition codeMaxime Coste
2020-01-01Add 'history' and 'uncommitted_modifications' expansionsJason Felice
2019-11-18Use fullwidth latin character in test to try to fix travisMaxime Coste
2019-11-17Try to fix select-display-column testMaxime Coste
2019-11-13Add select display columns testMaxime Coste
2019-11-12Add support for a -codepoint switch to the select commandMaxime Coste
2019-11-12Implement %val{selections_char_desc}Jason Felice
Fixes #3194
2019-10-13test: Allow expect-style UI tests, testing any varJason Felice
2019-05-13Support discarding selections in exec/eval -iterselMaxime Coste
Only fail if all selections are discarded. Fixes #2841
2019-04-15Support named captures in hooksMaxime Coste
Fixes #2857
2019-04-07Add support for %file{...} expansionsMaxime Coste
This should make the use case exposed in #2836 implementable.
2019-04-07Add a -to-file <filename> switch to the echo commandMaxime Coste
As discussed in #2836
2019-04-01Add -timestamp switch support to the select commandMaxime Coste
Fixes #2829
2019-03-05Make error description available as "%val{error}" during catch blocksMaxime Coste
Fixes #2761
2019-01-23Always select inserted text after pipingMaxime Coste
Relying on general selection update code is error prone due to diffing. Fixes #2394
2018-12-09Gather the list of hooks to run before running the parentMaxime Coste
This will prevent hooks added by the parent hook manager to be gathered, as was decided during the discussion for #2603
2018-11-28Fix hooks triggering on unset-option even if parent has same valueMaxime Coste
2018-07-05tests: Update selections files to match the new selection list syntaxMaxime Coste
2017-02-23test: Fix UTF8 compliant locale detectionFrank LENORMAND
2016-07-26Rework compute_modified_rangesMaxime Coste
Fixes #743
2015-11-16Support auto disabling of unit tests with an optional enabled scriptMaxime Coste
Restore the unicode test case using that.
2015-11-16Revert "Add an unicode to upper case test", needs an utf8 localeMaxime Coste
This reverts commit 6aa892ef49c3a7c67512ed42de8ce2f24e0c02ce.
2015-11-15Add an unicode to upper case testMaxime Coste
2015-09-14Fix backward search searching from on char before the corret one.Maxime Coste
Fixes #406
2015-06-28Merge overlapping selections before erasingMaxime Coste
Overlapping selections on erase confuse the ForwardChangeTracker and will confuse the user, Fixes #298
2015-03-06Fix additional eol inserted when replace piping at end of bufferMaxime Coste
2015-01-23Fix bug when deleting end of buffer text using multiple selectionsMaxime Coste
2014-06-30add testing frameworkAlex Leferry 2