aboutsummaryrefslogtreecommitdiff
path: root/helix-core/src
Commit message (Collapse)AuthorAge
* Add the machinery to load syntax config from TOML.Blaž Hrastnik2021-03-25
| | | | It's embedded into the binary at build time for now, but it's progress.
* wip: Hooks & trigger characters for completion/signature_help.Blaž Hrastnik2021-03-24
|
* clippy lintBlaž Hrastnik2021-03-24
|
* Fix a scrolling crash where it would jump past the end of the buffer.Blaž Hrastnik2021-03-22
|
* Implement m / match_brackets (using tree sitter).Blaž Hrastnik2021-03-22
|
* Provide a capacity on Selection::new's normalize.Blaž Hrastnik2021-03-22
|
* Add tab_width and indent_unit config.Blaž Hrastnik2021-03-22
|
* Merge some imports.Blaž Hrastnik2021-03-22
|
* clippy lintsBlaž Hrastnik2021-03-22
|
* Selection: fail early if new() is called with no ranges.Blaž Hrastnik2021-03-22
|
* Implement auto-pairs behavior for open and close.Blaž Hrastnik2021-03-22
|
* Implement iter() and len() directly on Selection.Blaž Hrastnik2021-03-19
|
* Finish hiding doc.state / State as an implementation detail.Blaž Hrastnik2021-03-18
|
* Remove State from a few more signatures.Blaž Hrastnik2021-03-18
|
* Move things out of state.rs.Blaž Hrastnik2021-03-18
|
* Make Transaction::change only rely on the rope.Blaž Hrastnik2021-03-18
|
* Clippy lintBlaž Hrastnik2021-03-16
|
* syntax: highlight_iter always returns Ok()Blaž Hrastnik2021-03-16
|
* syntax: Highlight using ropes, avoiding dumping whole doc to string.Blaž Hrastnik2021-03-16
|
* Implement keep_selections (filter selections on regex).Blaž Hrastnik2021-03-15
|
* ui: Render diagnostic errors in sideline.Blaž Hrastnik2021-03-15
|
* state.rs cleanupBlaž Hrastnik2021-03-15
|
* Configure language servers via LanguageConfiguration.Blaž Hrastnik2021-03-14
|
* Cleanup: use doc.selection() instead of doc.state.selection().Blaž Hrastnik2021-03-14
|
* syntax: Hide the TSParser internally, borrowing when needed.Blaž Hrastnik2021-03-13
|
* syntax: Reuse parser instances. highlight_iter() no longer needs &mut.Blaž Hrastnik2021-03-12
|
* Use diagnostic.severity to distinguish between error colors.Blaž Hrastnik2021-03-11
|
* Implement the f/t/F/T find/till family of commands.Blaž Hrastnik2021-03-11
|
* find-till (f) prototype, on_next_key mode implementation.Blaž Hrastnik2021-03-11
|
* search: draft f/tBlaž Hrastnik2021-03-10
|
* clippy lintsBlaž Hrastnik2021-03-01
|
* commands: Implement join_selections.Blaž Hrastnik2021-02-26
|
* graphemes: fix nth_prev_grapheme_boundary calculation.Blaž Hrastnik2021-02-26
|
* commands: Implement count for a few more commands.Blaž Hrastnik2021-02-25
|
* graphemes: Optimize nth_next/nth_prev operation.Blaž Hrastnik2021-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ž Hrastnik2021-02-24
|
* minor: Simplify some code.Blaž Hrastnik2021-02-24
|
* commands: Implement expand_selection.Blaž Hrastnik2021-02-22
|
* commands: add * as selection search.Blaž Hrastnik2021-02-22
|
* Make some Document fields read-only.Blaž Hrastnik2021-02-21
|
* indent: use_list indentation, fix indentation bug on open_belowBlaž Hrastnik2021-02-19
| | | | | | use std::{ time::Duration // <- pressing `o` here would use }'s indent instead of prev line }
* commands: Wire up toggle comments as ctrl-cBlaž Hrastnik2021-02-19
|
* more lintsBlaž Hrastnik2021-02-18
|
* core: Implement comment toggling module.Blaž Hrastnik2021-02-18
|
* treewide: &RopeSlice -> RopeSlice. It's Copy so no reason to pass by refBlaž Hrastnik2021-02-18
|
* transaction: Also modify map_pos to work with insert|delete order.Blaž Hrastnik2021-02-18
|
* minor changesBlaž Hrastnik2021-02-17
|
* Optimize Changeset::is_empty()Blaž Hrastnik2021-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ž Hrastnik2021-02-16
| | | | Produces the same output but will take the happy path.
* transaction: Use builder methods to generate compact changesets.Blaž Hrastnik2021-02-16
|