Commit Graph

216 Commits (14db2cc68b3e9911f64e675c32800f8cc7b2a5ed)

Author SHA1 Message Date
Blaž Hrastnik 28c167d71d doc: Be smarter about calculating modified status.
This way edit -> undo will properly show up as unmodified.
4 years ago
Blaž Hrastnik b5b650cfe7 Fix the last line calculation inside ensure_cursor_in_view 4 years ago
Blaž Hrastnik 3e5f24a9d5 lsp: support both utf-8 and utf-16 offsets.
Still need to implement the clangd encoding negotiation, but it's
a start. Should also manually override to utf8 for pyls.
4 years ago
Blaž Hrastnik 180521fefe Adjust scroll() to match kakoune: only scroll the view if cursor in bounds. 4 years ago
Blaž Hrastnik 978f5114d8 Horizontal scrolling! It only took a year to get around to it. 4 years ago
Blaž Hrastnik 52da68e49a Render a separator between vertical splits. 4 years ago
Blaž Hrastnik 9f318a8529 Fix an issue with closing nested splits.
The parent id was never assigned to the split, so removing the container
when it became empty failed.
4 years ago
Blaž Hrastnik 8b33ba2284 Correct the naming issue with vsplit and hsplit being swapped. 4 years ago
Blaž Hrastnik bc4e54c0c4 Load config files from ~/.config/helix, fallback to defaults. 4 years ago
Blaž Hrastnik 91462af546 Allow starting hx without a file. A new blank file will be created. 4 years ago
Blaž Hrastnik cf7b19d711 Always update selection: Empty transactions can still change selections. 4 years ago
Blaž Hrastnik 0dbd5b61ef Simplify code by providin cx.current() = (view, doc). 4 years ago
Blaž Hrastnik ceea5eacd8 clippy lint 4 years ago
Blaž Hrastnik 15c9a33ebc Drop doc.state. Use doc.text + doc.selections. 4 years ago
Blaž Hrastnik 6c4093c946 Weave through view_id references so that views into one file have independent selects. 4 years ago
Blaž Hrastnik 9eaef6e333 Fully drop State references. 4 years ago
Blaž Hrastnik 1b5316ea74 Track document modified state. 4 years ago
Blaž Hrastnik 742b3a709f Store intra-files jumps (goto) on the jumplist. 4 years ago
Blaž Hrastnik c1f2a14453 view: document.rs cleanup 4 years ago
Blaž Hrastnik aefafc25cd Replace Mode::Goto with just using on_next_key. 4 years ago
Blaž Hrastnik cf0e191a6a Clippy lint 4 years ago
Blaž Hrastnik a65395d94b Load theme from toml file. 4 years ago
Blaž Hrastnik e3c4edae32 Add the machinery to load syntax config from TOML.
It's embedded into the binary at build time for now, but it's progress.
4 years ago
Blaž Hrastnik 8657c57cf2 Trivial jumplist implementation. 4 years ago
Blaž Hrastnik 4b176caded Reset first_line when changing files. 4 years ago
Blaž Hrastnik 8a0ab447ec editor.open can now either replace the current view or open in a split. 4 years ago
Blaž Hrastnik b24cdd1295 Derive a separate ViewId type. 4 years ago
Blaž Hrastnik 8328fe926d Drop refcell use, make view simply ref doc.id. 4 years ago
Blaž Hrastnik bf95ee27aa Store Document on the Editor type, make View reference it. 4 years ago
Blaž Hrastnik 5e6716c89c Add tab_width and indent_unit config. 4 years ago
Blaž Hrastnik cbcacb1063 Merge some imports. 4 years ago
Blaž Hrastnik c4792efead clippy lints 4 years ago
Blaž Hrastnik c331721565 Finish hiding doc.state / State as an implementation detail. 4 years ago
Blaž Hrastnik 8ba1e15d29 Expose doc.syntax() via accessor. 4 years ago
Blaž Hrastnik 2b64f49f2c Document::new should just take a rope. 4 years ago
Blaž Hrastnik e261f3c50d Expose doc.language_server as an accessor. 4 years ago
Blaž Hrastnik 59e6024186 Remove State from a few more signatures. 4 years ago
Blaž Hrastnik 8eaf9a432d Make Transaction::change only rely on the rope. 4 years ago
Blaž Hrastnik 51c15da3c3 Hold a reference to executor on the Editor type. 4 years ago
Blaž Hrastnik e3ec5e31ec Fix goto code before merging. 4 years ago
Jan Hrastnik eadad13efa preparing for gd merge 4 years ago
Jan Hrastnik 4e461bea2f editor.open now checks if view already exists 4 years ago
Jan Hrastnik 3869d7713e added goto functions in helix-term 4 years ago
Jan Hrastnik b738ae1bc7 more goto lsp functions 4 years ago
Blaž Hrastnik d8599f3a14 ui: Syntax highlight code inside markdown popups. 4 years ago
Blaž Hrastnik 54a7e893b7 lsp: Wire up didClose notification on editor.close. 4 years ago
Blaž Hrastnik eca2a73ad0 lsp: Pass through language_id on didOpenTextDocument. 4 years ago
Blaž Hrastnik 143cfe13e0 minor: TODO comment cleanup 4 years ago
Blaž Hrastnik dd91090a1a Implement keep_selections (filter selections on regex). 4 years ago
Blaž Hrastnik bb87b08fc9 Configure language servers via LanguageConfiguration. 4 years ago
Blaž Hrastnik 1cf887dea9 Cleanup: use doc.selection() instead of doc.state.selection(). 4 years ago
Blaž Hrastnik 6cbfb050e2 lsp: Emit didSave notifications. 4 years ago
Blaž Hrastnik 9dcfe25e4a Use diagnostic.severity to distinguish between error colors. 4 years ago
Blaž Hrastnik a5c4314940 commands: Improve scroll functions.
Followed kakoune's implementation, it's no longer janky and can scroll
all the way in either direction.
4 years ago
Blaž Hrastnik 8f4ff4c646 editor: We still want to be able to calculate cursor pos. 4 years ago
Blaž Hrastnik ec4dd0a176 Add a selection mode again. 4 years ago
Blaž Hrastnik 00808afe3c ui: Make editor more resilient about being shrunk too small. 4 years ago
Blaž Hrastnik 6336c1da20 view: Reposition cursors on tree resize. 4 years ago
Blaž Hrastnik 8289bd1cb0 minor, fix clippy lint 4 years ago
Blaž Hrastnik 01907b3497 commands: Implement count for a few more commands. 4 years ago
Blaž Hrastnik 87a6d4e736 minor: Simplify some code. 4 years ago
Blaž Hrastnik 8b9b02f08b minor 4 years ago
Blaž Hrastnik 3b6c9648f3 fix clippy lint 4 years ago
Blaž Hrastnik 9132c6a591 Make some Document fields read-only. 4 years ago
Blaž Hrastnik 7da6bd6a71 commands: Simplify some code, only calling cx.doc() once. 4 years ago
Blaž Hrastnik 7877647cf0 Allow closing individual views. 4 years ago
Blaž Hrastnik 0827c45d94 view: Disable tree.fullscreen for now to appease clippy. 4 years ago
Blaž Hrastnik c9dd1c930e treewide: &RopeSlice -> RopeSlice. It's Copy so no reason to pass by ref 4 years ago
Blaž Hrastnik d5f9622e2e lsp: edit events change ranges need to affect each other. 4 years ago
Blaž Hrastnik 1ffd1e7633 Send updates to the lsp on undo/redo. 4 years ago
Blaž Hrastnik b7da7f83c3 lsp: Test changeset_to_changes. 4 years ago
Blaž Hrastnik de5170dcda Parse input counts: 10w, etc. 4 years ago
Blaž Hrastnik 5e73f83efa Implement vertical split calculations. 4 years ago
Blaž Hrastnik d4b85ce18d popup: wip work on completion popups 4 years ago
Blaž Hrastnik a924ad2885 simplify. 4 years ago
Blaž Hrastnik c70080dd68 Work around rendering errors for positions offscreen. 4 years ago
Blaž Hrastnik 8f0ddf9632 Address clippy warnings. 4 years ago
Blaž Hrastnik 9c33b5340a A dumb "next view" implementation that works. 4 years ago
Blaž Hrastnik 5554910e08 Forgot to add the tree.rs definition... 4 years ago
Blaž Hrastnik 446a7e5743 Don't render selections/cursors on views not in focus. 4 years ago
Blaž Hrastnik 448c1abba0 View tree implementation: render multiple split views.
Cursors are still a bit buggy and we should render in focus statusbar
differently than in the other pane.
4 years ago
Blaž Hrastnik 05c7fb98df Refactoring: move language_servers into Editor, proper load for doc. 4 years ago
Blaž Hrastnik 777a80917d Address clippy lints. 4 years ago
Blaž Hrastnik 3cbab20908 lsp: Fix pos_to_lsp_pos calculation. 4 years ago
Blaž Hrastnik 2ab069bb3f lsp: Work on syncing the state with the language server. 4 years ago
Blaž Hrastnik ea502c8665 fix change -> change -> undo -> change -> undo -> undo. 4 years ago
Blaž Hrastnik d181027225 fix: undo/redo selection handling. 4 years ago
Blaž Hrastnik 0b63e838e0 Port over Doc::relative_path. 4 years ago
Blaž Hrastnik 5103dc9617 move commands and keymap back to terminal.
Command needs to be able to deal with UI. We'll separate it again later
on.
4 years ago
Blaž Hrastnik 39bf1ca825 Update deps. 4 years ago
Blaž Hrastnik a7869c728c wip 4 years ago
Blaž Hrastnik 3f707c19f4 Save command 4 years ago
Blaž Hrastnik 8f0bcfe286 Introduce a command context that carries the executor and other fields. 4 years ago
Blaž Hrastnik ae8a9e5bac lsp: Make base request methods take &self instead of &mut self. 4 years ago
Blaž Hrastnik cc6bdf8f66 Text change generation, RPC call handling. 4 years ago
Blaž Hrastnik eff6fac9ec clippy lint 4 years ago
Blaž Hrastnik f5981f72c2 Introduce Selection::point. 4 years ago
Blaž Hrastnik 55fa86248c Introduce doc.selection()/set_selection() 4 years ago
Blaž Hrastnik e4070d4de0 Bump document version on undo/redo. 4 years ago
Blaž Hrastnik efc5aa2016 Simplify old_state handling. 4 years ago