Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Add tab_width and indent_unit config. | Blaž Hrastnik | 2021-03-22 |
| | |||
* | Merge some imports. | Blaž Hrastnik | 2021-03-22 |
| | |||
* | clippy lints | Blaž Hrastnik | 2021-03-22 |
| | |||
* | Selection: fail early if new() is called with no ranges. | Blaž Hrastnik | 2021-03-22 |
| | |||
* | Implement auto-pairs behavior for open and close. | Blaž Hrastnik | 2021-03-22 |
| | |||
* | Implement iter() and len() directly on Selection. | Blaž Hrastnik | 2021-03-19 |
| | |||
* | Finish hiding doc.state / State as an implementation detail. | Blaž Hrastnik | 2021-03-18 |
| | |||
* | Remove State from a few more signatures. | Blaž Hrastnik | 2021-03-18 |
| | |||
* | Move things out of state.rs. | Blaž Hrastnik | 2021-03-18 |
| | |||
* | Make Transaction::change only rely on the rope. | Blaž Hrastnik | 2021-03-18 |
| | |||
* | Clippy lint | Blaž Hrastnik | 2021-03-16 |
| | |||
* | syntax: highlight_iter always returns Ok() | Blaž Hrastnik | 2021-03-16 |
| | |||
* | syntax: Highlight using ropes, avoiding dumping whole doc to string. | Blaž Hrastnik | 2021-03-16 |
| | |||
* | Implement keep_selections (filter selections on regex). | Blaž Hrastnik | 2021-03-15 |
| | |||
* | ui: Render diagnostic errors in sideline. | Blaž Hrastnik | 2021-03-15 |
| | |||
* | state.rs cleanup | Blaž Hrastnik | 2021-03-15 |
| | |||
* | Configure language servers via LanguageConfiguration. | Blaž Hrastnik | 2021-03-14 |
| | |||
* | Cleanup: use doc.selection() instead of doc.state.selection(). | Blaž Hrastnik | 2021-03-14 |
| | |||
* | syntax: Hide the TSParser internally, borrowing when needed. | Blaž Hrastnik | 2021-03-13 |
| | |||
* | syntax: Reuse parser instances. highlight_iter() no longer needs &mut. | Blaž Hrastnik | 2021-03-12 |
| | |||
* | Use diagnostic.severity to distinguish between error colors. | Blaž Hrastnik | 2021-03-11 |
| | |||
* | Implement the f/t/F/T find/till family of commands. | Blaž Hrastnik | 2021-03-11 |
| | |||
* | find-till (f) prototype, on_next_key mode implementation. | Blaž Hrastnik | 2021-03-11 |
| | |||
* | search: draft f/t | Blaž Hrastnik | 2021-03-10 |
| | |||
* | clippy lints | Blaž Hrastnik | 2021-03-01 |
| | |||
* | commands: Implement join_selections. | Blaž Hrastnik | 2021-02-26 |
| | |||
* | graphemes: fix nth_prev_grapheme_boundary calculation. | Blaž Hrastnik | 2021-02-26 |
| | |||
* | commands: Implement count for a few more commands. | Blaž Hrastnik | 2021-02-25 |
| | |||
* | graphemes: Optimize nth_next/nth_prev operation. | Blaž Hrastnik | 2021-02-24 |
| | | | | | It's used a lot more than it used to in position calculation. Instead of throwing away state between boundary calculation, reuse it. | ||
* | Improve coords_at_pos & pos_at_coords, test with graphemes. | Blaž Hrastnik | 2021-02-24 |
| | |||
* | minor: Simplify some code. | Blaž Hrastnik | 2021-02-24 |
| | |||
* | commands: Implement expand_selection. | Blaž Hrastnik | 2021-02-22 |
| | |||
* | commands: add * as selection search. | Blaž Hrastnik | 2021-02-22 |
| | |||
* | Make some Document fields read-only. | Blaž Hrastnik | 2021-02-21 |
| | |||
* | indent: use_list indentation, fix indentation bug on open_below | Blaž Hrastnik | 2021-02-19 |
| | | | | | | use std::{ time::Duration // <- pressing `o` here would use }'s indent instead of prev line } | ||
* | commands: Wire up toggle comments as ctrl-c | Blaž Hrastnik | 2021-02-19 |
| | |||
* | more lints | Blaž Hrastnik | 2021-02-18 |
| | |||
* | core: Implement comment toggling module. | Blaž Hrastnik | 2021-02-18 |
| | |||
* | treewide: &RopeSlice -> RopeSlice. It's Copy so no reason to pass by ref | Blaž Hrastnik | 2021-02-18 |
| | |||
* | transaction: Also modify map_pos to work with insert|delete order. | Blaž Hrastnik | 2021-02-18 |
| | |||
* | minor changes | Blaž Hrastnik | 2021-02-17 |
| | |||
* | Update deps, switch tendril over to crates.io | Blaž Hrastnik | 2021-02-16 |
| | |||
* | 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 |
| | |||
* | fix test | Blaž Hrastnik | 2021-02-15 |
| | |||
* | Finally: Retain horizontal position when moving vertically. | Blaž Hrastnik | 2021-02-12 |
| | |||
* | simplify. | Blaž Hrastnik | 2021-02-05 |
| | |||
* | commands: Implement select_on_matches. | Blaž Hrastnik | 2021-01-22 |
| |