Commit Graph

222 Commits (6fb2d2679dc63ca34be0d02efb543c3e0b49cb74)

Author SHA1 Message Date
Blaž Hrastnik d00414f81a Start moving more LSP calls into callbacks/futures without capturing self 3 years ago
Blaž Hrastnik 1ad0581ddd Eliminate a few more futures dependencies. 3 years ago
Blaž Hrastnik 355ad3cb82 Tokio migration. 3 years ago
Blaž Hrastnik b6a22e955b Closer to a full flake build via naersk.
Blocked on https://github.com/NixOS/nix/issues/4423, build doesn't see
submodules.
3 years ago
Blaž Hrastnik b0bdcab970 doc: Note about diagnostic mapping. 3 years ago
Blaž Hrastnik 28c167d71d doc: Be smarter about calculating modified status.
This way edit -> undo will properly show up as unmodified.
3 years ago
Blaž Hrastnik b5b650cfe7 Fix the last line calculation inside ensure_cursor_in_view 3 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.
3 years ago
Blaž Hrastnik 180521fefe Adjust scroll() to match kakoune: only scroll the view if cursor in bounds. 3 years ago
Blaž Hrastnik 978f5114d8 Horizontal scrolling! It only took a year to get around to it. 3 years ago
Blaž Hrastnik 52da68e49a Render a separator between vertical splits. 3 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.
3 years ago
Blaž Hrastnik 8b33ba2284 Correct the naming issue with vsplit and hsplit being swapped. 3 years ago
Blaž Hrastnik bc4e54c0c4 Load config files from ~/.config/helix, fallback to defaults. 3 years ago
Blaž Hrastnik 91462af546 Allow starting hx without a file. A new blank file will be created. 3 years ago
Blaž Hrastnik cf7b19d711 Always update selection: Empty transactions can still change selections. 3 years ago
Blaž Hrastnik 0dbd5b61ef Simplify code by providin cx.current() = (view, doc). 3 years ago
Blaž Hrastnik ceea5eacd8 clippy lint 3 years ago
Blaž Hrastnik 15c9a33ebc Drop doc.state. Use doc.text + doc.selections. 3 years ago
Blaž Hrastnik 6c4093c946 Weave through view_id references so that views into one file have independent selects. 3 years ago
Blaž Hrastnik 9eaef6e333 Fully drop State references. 3 years ago
Blaž Hrastnik 1b5316ea74 Track document modified state. 3 years ago
Blaž Hrastnik 742b3a709f Store intra-files jumps (goto) on the jumplist. 3 years ago
Blaž Hrastnik c1f2a14453 view: document.rs cleanup 3 years ago
Blaž Hrastnik aefafc25cd Replace Mode::Goto with just using on_next_key. 3 years ago
Blaž Hrastnik cf0e191a6a Clippy lint 3 years ago
Blaž Hrastnik a65395d94b Load theme from toml file. 3 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.
3 years ago
Blaž Hrastnik 8657c57cf2 Trivial jumplist implementation. 3 years ago
Blaž Hrastnik 4b176caded Reset first_line when changing files. 3 years ago
Blaž Hrastnik 8a0ab447ec editor.open can now either replace the current view or open in a split. 3 years ago
Blaž Hrastnik b24cdd1295 Derive a separate ViewId type. 3 years ago
Blaž Hrastnik 8328fe926d Drop refcell use, make view simply ref doc.id. 3 years ago
Blaž Hrastnik bf95ee27aa Store Document on the Editor type, make View reference it. 3 years ago
Blaž Hrastnik 5e6716c89c Add tab_width and indent_unit config. 3 years ago
Blaž Hrastnik cbcacb1063 Merge some imports. 3 years ago
Blaž Hrastnik c4792efead clippy lints 3 years ago
Blaž Hrastnik c331721565 Finish hiding doc.state / State as an implementation detail. 3 years ago
Blaž Hrastnik 8ba1e15d29 Expose doc.syntax() via accessor. 3 years ago
Blaž Hrastnik 2b64f49f2c Document::new should just take a rope. 3 years ago
Blaž Hrastnik e261f3c50d Expose doc.language_server as an accessor. 3 years ago
Blaž Hrastnik 59e6024186 Remove State from a few more signatures. 3 years ago
Blaž Hrastnik 8eaf9a432d Make Transaction::change only rely on the rope. 3 years ago
Blaž Hrastnik 51c15da3c3 Hold a reference to executor on the Editor type. 3 years ago
Blaž Hrastnik e3ec5e31ec Fix goto code before merging. 3 years ago
Jan Hrastnik eadad13efa preparing for gd merge 3 years ago
Jan Hrastnik 4e461bea2f editor.open now checks if view already exists 3 years ago
Jan Hrastnik 3869d7713e added goto functions in helix-term 3 years ago
Jan Hrastnik b738ae1bc7 more goto lsp functions 3 years ago
Blaž Hrastnik d8599f3a14 ui: Syntax highlight code inside markdown popups. 3 years ago
Blaž Hrastnik 54a7e893b7 lsp: Wire up didClose notification on editor.close. 3 years ago
Blaž Hrastnik eca2a73ad0 lsp: Pass through language_id on didOpenTextDocument. 3 years ago
Blaž Hrastnik 143cfe13e0 minor: TODO comment cleanup 3 years ago
Blaž Hrastnik dd91090a1a Implement keep_selections (filter selections on regex). 3 years ago
Blaž Hrastnik bb87b08fc9 Configure language servers via LanguageConfiguration. 3 years ago
Blaž Hrastnik 1cf887dea9 Cleanup: use doc.selection() instead of doc.state.selection(). 3 years ago
Blaž Hrastnik 6cbfb050e2 lsp: Emit didSave notifications. 3 years ago
Blaž Hrastnik 9dcfe25e4a Use diagnostic.severity to distinguish between error colors. 3 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.
3 years ago
Blaž Hrastnik 8f4ff4c646 editor: We still want to be able to calculate cursor pos. 3 years ago
Blaž Hrastnik ec4dd0a176 Add a selection mode again. 3 years ago
Blaž Hrastnik 00808afe3c ui: Make editor more resilient about being shrunk too small. 3 years ago
Blaž Hrastnik 6336c1da20 view: Reposition cursors on tree resize. 3 years ago
Blaž Hrastnik 8289bd1cb0 minor, fix clippy lint 3 years ago
Blaž Hrastnik 01907b3497 commands: Implement count for a few more commands. 3 years ago
Blaž Hrastnik 87a6d4e736 minor: Simplify some code. 3 years ago
Blaž Hrastnik 8b9b02f08b minor 3 years ago
Blaž Hrastnik 3b6c9648f3 fix clippy lint 3 years ago
Blaž Hrastnik 9132c6a591 Make some Document fields read-only. 3 years ago
Blaž Hrastnik 7da6bd6a71 commands: Simplify some code, only calling cx.doc() once. 3 years ago
Blaž Hrastnik 7877647cf0 Allow closing individual views. 3 years ago
Blaž Hrastnik 0827c45d94 view: Disable tree.fullscreen for now to appease clippy. 3 years ago
Blaž Hrastnik c9dd1c930e treewide: &RopeSlice -> RopeSlice. It's Copy so no reason to pass by ref 3 years ago
Blaž Hrastnik d5f9622e2e lsp: edit events change ranges need to affect each other. 3 years ago
Blaž Hrastnik 1ffd1e7633 Send updates to the lsp on undo/redo. 3 years ago
Blaž Hrastnik b7da7f83c3 lsp: Test changeset_to_changes. 3 years ago
Blaž Hrastnik de5170dcda Parse input counts: 10w, etc. 3 years ago
Blaž Hrastnik 5e73f83efa Implement vertical split calculations. 3 years ago
Blaž Hrastnik d4b85ce18d popup: wip work on completion popups 3 years ago
Blaž Hrastnik a924ad2885 simplify. 3 years ago
Blaž Hrastnik c70080dd68 Work around rendering errors for positions offscreen. 3 years ago
Blaž Hrastnik 8f0ddf9632 Address clippy warnings. 3 years ago
Blaž Hrastnik 9c33b5340a A dumb "next view" implementation that works. 3 years ago
Blaž Hrastnik 5554910e08 Forgot to add the tree.rs definition... 3 years ago
Blaž Hrastnik 446a7e5743 Don't render selections/cursors on views not in focus. 3 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.
3 years ago
Blaž Hrastnik 05c7fb98df Refactoring: move language_servers into Editor, proper load for doc. 3 years ago
Blaž Hrastnik 777a80917d Address clippy lints. 4 years ago
Blaž Hrastnik 3bf4e1e8fa Update deps. 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