Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | fix: Compose where changes.compose(empty_other) | Blaž Hrastnik | 2021-10-25 |
| | |||
* | remove unsafe | Brian Shu | 2021-08-27 |
| | |||
* | Fix tests broken by the State change | Blaž Hrastnik | 2021-08-26 |
| | |||
* | Reduce State use a bit further | Blaž Hrastnik | 2021-08-26 |
| | | | | This is a legacy type that should be fully removed. | ||
* | Remove ExactSizeIterator requirement on Transaction::change | Blaž Hrastnik | 2021-07-19 |
| | | | | Size hint is enough. | ||
* | Fix all remaining warnings in helix-core except for two. | Nathan Vegdahl | 2021-07-02 |
| | | | | | I'm not sure how to address them, because they look like they might be bugs, and code is involved. Will poke the relevant people. | ||
* | Remove #[allow(unused)] from helix-core, and fix unused imports. | Nathan Vegdahl | 2021-07-02 |
| | | | | Still a bunch more warnings to fix in core, but it's a start. | ||
* | fix ca98210d2016d96d1c441932d7a67bbc6e5eccb7 | Blaž Hrastnik | 2021-06-28 |
| | |||
* | fix: insert() | delete() would calculate the new insert incorrectly | Blaž Hrastnik | 2021-06-28 |
| | | | | Refs #386 | ||
* | Derive debug without feature | Ivan Tham | 2021-06-10 |
| | | | | Note that this also removed those `finish_non_exhaustive()`. | ||
* | Implement Debug for data structure as a feature | notoria | 2021-06-10 |
| | |||
* | Fix Unicode (#135) | Kirawi | 2021-06-08 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * init * wip * wip * fix unicode break * fix unicode break * Update helix-core/src/transaction.rs Co-authored-by: Benoît Cortier <benoit.cortier@fried-world.eu> * clippy * fix * add changes * added test * wip * wip * wip * wip * fix * fix view * fix #88 Co-authored-by: Benoît Cortier <benoit.cortier@fried-world.eu> | ||
* | Fixing Multiple Panics (#121) | Kirawi | 2021-06-05 |
| | | | | | | | * init * wip * wip | ||
* | Separate document history into Cell | Ivan Tham | 2021-06-02 |
| | | | | | As history is used separately from the rest of the edits, separating it can avoid needless borrowing and cloning. But one need to be aware later. | ||
* | core: Improve changeset composition behavior. | Blaž Hrastnik | 2021-04-06 |
| | | | | It would fail to combine with an empty set. | ||
* | Fully drop State references. | Blaž Hrastnik | 2021-03-31 |
| | |||
* | Transaction: Add a changes_iter() that can convert back to a list of Changes | Blaž Hrastnik | 2021-03-29 |
| | |||
* | Transaction: need to consume insert | delete properly. | Blaž Hrastnik | 2021-03-29 |
| | |||
* | clippy lint | Blaž Hrastnik | 2021-03-24 |
| | |||
* | Merge some imports. | Blaž Hrastnik | 2021-03-22 |
| | |||
* | Selection: fail early if new() is called with no ranges. | Blaž Hrastnik | 2021-03-22 |
| | |||
* | Implement iter() and len() directly on Selection. | Blaž Hrastnik | 2021-03-19 |
| | |||
* | Remove State from a few more signatures. | Blaž Hrastnik | 2021-03-18 |
| | |||
* | Make Transaction::change only rely on the rope. | Blaž Hrastnik | 2021-03-18 |
| | |||
* | Cleanup: use doc.selection() instead of doc.state.selection(). | Blaž Hrastnik | 2021-03-14 |
| | |||
* | transaction: Also modify map_pos to work with insert|delete order. | Blaž Hrastnik | 2021-02-18 |
| | |||
* | minor changes | Blaž Hrastnik | 2021-02-17 |
| | |||
* | Optimize Changeset::is_empty() | Blaž Hrastnik | 2021-02-16 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checked the ASM output for these three options: pub enum Operation { /// Move cursor by n characters. Retain(usize), /// Delete n characters. Delete(usize), /// Insert text at position. Insert(String), } pub struct A { changes: Vec<Operation>, len: usize, } impl A { pub fn is_empty1(&self) -> bool { match self.changes.as_slice() { [] => true, [Operation::Retain(_)] => true, _ => false, } } /// `true` when the set is empty. pub fn is_empty2(&self) -> bool { let len = self.changes.len(); len == 0 || ( len == 1 && self.changes[0] == Operation::Retain(self.len) ) } pub fn is_empty3(&self) -> bool { match self.changes.as_slice() { [] | [Operation::Retain(_)] => true, _ => false } } } | ||
* | Since insert preceedes deletes, follow that ordering in Transaction::changes. | Blaž Hrastnik | 2021-02-16 |
| | | | | Produces the same output but will take the happy path. | ||
* | transaction: Use builder methods to generate compact changesets. | Blaž Hrastnik | 2021-02-16 |
| | |||
* | transaction: Merge consecutive inserts on compose. | Blaž Hrastnik | 2021-02-15 |
| | |||
* | Address clippy lints. | Blaž Hrastnik | 2021-01-08 |
| | |||
* | Text change generation, RPC call handling. | Blaž Hrastnik | 2020-12-03 |
| | |||
* | Refactor: Document type as a wrapper around barebones State. | Blaž Hrastnik | 2020-12-03 |
| | |||
* | Validate compose len after applying a is same as before applying b. | Blaž Hrastnik | 2020-10-14 |
| | |||
* | Fix overlapping (insert | delete) compose | Blaž Hrastnik | 2020-10-14 |
| | |||
* | Fix compose not merging certain changesets correctly. | Blaž Hrastnik | 2020-10-14 |
| | |||
* | Don't try to compose zero-width deletes. | Blaž Hrastnik | 2020-10-13 |
| | |||
* | Simplify changeset tracking. | Blaž Hrastnik | 2020-10-13 |
| | |||
* | Cleanup | Blaž Hrastnik | 2020-10-13 |
| | |||
* | Simple yank/paste registers. | Blaž Hrastnik | 2020-10-13 |
| | |||
* | Fix changeset composition, lengths don't have to match. | Blaž Hrastnik | 2020-10-13 |
| | |||
* | Hacky undo/redo integration. | Blaž Hrastnik | 2020-10-13 |
| | |||
* | Undo tree draft. | Blaž Hrastnik | 2020-10-13 |
| | | | | | We keep a tree of transactions. This allows for persistent undo by simply serializing the changesets. | ||
* | Fix transaction.invert()/.apply() using byte counts instead of char counts. | Blaž Hrastnik | 2020-10-04 |
| | |||
* | Implement Transaction::invert. | Blaž Hrastnik | 2020-10-02 |
| | |||
* | Split selection on regex, fix InputEdit generation. | Blaž Hrastnik | 2020-09-28 |
| | |||
* | Extend selection commands. | Blaž Hrastnik | 2020-09-28 |
| | |||
* | Command needs access to view information for certain changes. | Blaž Hrastnik | 2020-09-19 |
| | |||
* | More work on the UI. | Blaž Hrastnik | 2020-09-19 |
| |