Commit Graph

2607 Commits (032c7b897d8b2ce10c1f27751c6ece3f816dadb3)

Author SHA1 Message Date
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.
2020-12-10 18:13:42 +09:00
Blaž Hrastnik be3c021046 snapshot 2020-12-07 15:18:37 +09:00
Blaž Hrastnik 83f2c24115 wip: Compositor 2020-12-06 11:53:58 +09:00
Blaž Hrastnik a7869c728c wip 2020-12-03 13:12:07 +09:00
Blaž Hrastnik 3f707c19f4 Save command 2020-12-03 13:12:05 +09:00
Blaž Hrastnik 8f0bcfe286 Introduce a command context that carries the executor and other fields. 2020-12-03 13:11:12 +09:00
Blaž Hrastnik ae8a9e5bac lsp: Make base request methods take &self instead of &mut self. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik cc6bdf8f66 Text change generation, RPC call handling. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik af1924404a Configure logging (-vv for debug level logs) 2020-12-03 13:10:35 +09:00
Blaž Hrastnik b39849dde1 Refactor: Document type as a wrapper around barebones State. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik ef5e5f9296 state.version tracking 2020-12-03 13:10:34 +09:00
Blaž Hrastnik 49254d7180 Total mess but it works: diagnostic marking. 2020-12-03 13:10:34 +09:00
Blaž Hrastnik f9bfba4d96 Reroute LSP notification events into the main app event loop. 2020-12-03 13:10:32 +09:00
Blaž Hrastnik 64b5b23315 Move theme from view to editor, support multiple views in editor. 2020-12-03 13:07:55 +09:00
Blaž Hrastnik b2b3083a62 Support multiple open views. 2020-12-03 13:04:42 +09:00
Blaž Hrastnik 13cb442850 wip: Fetching diagnostics, parsing notifications. 2020-12-03 13:04:42 +09:00
Blaž Hrastnik f03830b047 wip: Basic LSP lifecycle requests/notifications. 2020-12-03 13:04:42 +09:00
Jan Hrastnik 1a3c647adf added col_height calculation 2020-11-13 00:07:21 +01:00
Jan Hrastnik 2b44031929 various fixes 2020-11-03 10:57:12 +01:00
Jan Hrastnik c9e9fcf7c5 added base col width 2020-11-02 10:41:27 +01:00
Jan Hrastnik 28a1e11fda added more completions per line 2020-10-30 12:22:58 +01:00
Jan Hrastnik a123cf37a0 several fixes 2020-10-24 13:36:34 +02:00
Jan Hrastnik 8f37c26f35 completion highlighting 2020-10-20 23:02:02 +02:00
Jan Hrastnik f3ddb8631f wip completion 2020-10-19 20:08:47 +02:00
Jan Hrastnik 06502e5a2e added prompt close 2020-10-19 19:39:35 +02:00
Blaž Hrastnik bc2c652fe8 Bugfix 2020-10-16 16:58:26 +09:00
Blaž Hrastnik 49b4cdb566 Refactor command calling. 2020-10-16 14:37:12 +09:00
Blaž Hrastnik 49cc6c1924 Refactor Editor into Application and Editor/Workspace. 2020-10-16 12:30:46 +09:00
Jan Hrastnik 267602328c changed fn to fnmut 2020-10-16 12:02:05 +09:00
Jan Hrastnik fa55b1e51c added closures to prompt 2020-10-16 12:01:46 +09:00
Jan Hrastnik 7d58378374 added move left&right, delete char 2020-10-16 12:01:21 +09:00
Jan Hrastnik ed03ec92a8 moved prompt command matching to prompt.rs 2020-10-16 12:00:28 +09:00
Jan Hrastnik 7208c86f23 separated statusline and prompt 2020-10-16 11:59:09 +09:00
Jan Hrastnik c60f1a6553 created prompt.rs 2020-10-16 11:59:09 +09:00
Jan Hrastnik 9e7b6465c6 refactoring editor.rs 2020-10-16 11:57:04 +09:00
Jan Hrastnik 0c0c2c7103 modified editor.render() to prepare for command mode rendering 2020-10-16 11:53:31 +09:00
Blaž Hrastnik 4996f1b4d3 Move insert mode commands to a separate namespace. 2020-10-14 13:35:54 +09:00
Blaž Hrastnik d64f4beede Share tab width definitions. 2020-10-14 13:35:54 +09:00
Blaž Hrastnik 8098279676 Cleanup 2020-10-13 23:13:56 +09:00
Blaž Hrastnik b765c17896 Hacky undo/redo integration. 2020-10-13 23:13:56 +09:00
Blaž Hrastnik 9a73d3f1b9 fix clippy warning 2020-10-07 14:16:45 +09:00
Blaž Hrastnik 7f07e66768 Cleanup: track first_line as usize. 2020-10-07 14:03:38 +09:00
Jan Hrastnik 750610f0e7 various fixes 2020-10-07 01:41:09 +02:00
Jan Hrastnik 038201647c started work on goto mode 2020-10-04 23:47:37 +02:00
Blaž Hrastnik b7e1c0cf82 Fix cursor positioning on a scrolled buffer. 2020-10-04 17:40:43 +09:00
Blaž Hrastnik 226fa89d46 Fix line number rendering. 2020-10-04 17:37:47 +09:00
Blaž Hrastnik 197651eb30
Merge pull request #2 from helix-editor/tab-implementation
added tab to insert mode
2020-10-04 15:40:49 +09:00
Jan Hrastnik dc11124df5 added tab to insert mode 2020-10-04 15:40:16 +09:00
Blaž Hrastnik 7b4a4f6a3c Use crate info for clap help text. 2020-10-02 18:16:43 +09:00
Blaž Hrastnik 5945815d97 Fix cursor rendering & placement on append mode. 2020-10-01 18:44:12 +09:00
Blaž Hrastnik 4189c362b2 Fix clippy warnings. 2020-10-01 15:28:05 +09:00
Blaž Hrastnik e39bd211d1 argh -> clap to speed up compilation (no syn/proc_macro) 2020-10-01 12:25:03 +09:00
Jan Hrastnik 13800e4dd1 removed redundant line 2020-10-01 01:23:06 +02:00
Jan Hrastnik dd94a39810 moved insert keymap to keymap.rs 2020-10-01 01:15:42 +02:00
Blaž Hrastnik 3feb00283d clippy warnings 2020-09-29 18:07:05 +09:00
Blaž Hrastnik 3020077da8 Extend selection commands. 2020-09-29 01:00:35 +09:00
Blaž Hrastnik eb639eb2e4 More robust syntax detection/grammar loading. 2020-09-22 18:27:37 +09:00
Blaž Hrastnik 2c3b10dbb0 Sync up view size to terminal size for now. 2020-09-21 18:25:56 +09:00
Blaž Hrastnik 935cfeae57 Split parts of helix-term into helix-view.
It still largely depends on term for some types but I plan to change
that later.
2020-09-21 18:24:16 +09:00
Blaž Hrastnik 48330ddb5f Command needs access to view information for certain changes. 2020-09-19 23:16:00 +09:00
Blaž Hrastnik 1303ffd94a Remove old test. 2020-09-19 11:58:08 +09:00
Blaž Hrastnik 91343a6846 Restore terminal mode on panics. 2020-09-19 11:58:08 +09:00
Blaž Hrastnik 929fa5474d Simple cursor scrolling. 2020-09-19 11:58:08 +09:00
Blaž Hrastnik b120515613 Range based highlight_iter. Only works on limiting the start right now 2020-09-19 11:58:08 +09:00
Blaž Hrastnik 3859f6963d More work on the UI. 2020-09-19 11:58:08 +09:00
Blaž Hrastnik eb477ec442 Speed up surface code by resetting instead of allocating a new one. 2020-09-17 16:32:40 +09:00
Blaž Hrastnik 088f8a82af Incremental parsing: rough draft. 2020-09-17 16:32:40 +09:00
Blaž Hrastnik 31999d6528 Make state fields read-only from outside the crate. 2020-09-14 19:50:46 +09:00
Blaž Hrastnik b08278807e Add 'A', 'I' commands. 2020-09-13 20:04:16 +09:00
Blaž Hrastnik fb0f56b747 Add 'o' command. 2020-09-13 19:51:42 +09:00
Blaž Hrastnik eb6b9a9ca9 Support entering newlines. 2020-09-13 19:23:07 +09:00
Blaž Hrastnik d466882d04 Abstract Transaction::change_by_selection, working del/backspace. 2020-09-13 11:32:37 +09:00
Blaž Hrastnik f9348d77ec Fix tests. 2020-09-12 19:43:35 +09:00
Blaž Hrastnik 9546164dc8 cargo fmt & clippy lint 2020-09-12 19:38:30 +09:00
Blaž Hrastnik a106be94f1 Refactor a little bit. 2020-09-12 17:44:57 +09:00
Blaž Hrastnik b17a77b8b8 cleanup: Import tree-sitter-highlight so we can cache trees. 2020-09-11 14:14:44 +09:00
Blaž Hrastnik b647c7a773 tree-sitter based syntax highlighting draft 2020-09-10 18:19:59 +09:00
Blaž Hrastnik 25b3f98e3d draft: tree-sitter highlighting 2020-09-09 15:48:25 +09:00
Blaž Hrastnik 7eac12a4bb Add helix-syntax as a wrapper around tree-sitter parsers. 2020-09-09 14:41:12 +09:00
Blaž Hrastnik e282fc7595 Bump deps, eliminate a lot of transitive deps. 2020-09-08 21:05:28 +09:00
Blaž Hrastnik 9ad40bc40b Experiment with TUI so we can render selections. 2020-09-07 18:10:08 +09:00
Blaž Hrastnik 67017e5336 append mode 2020-09-07 17:17:14 +09:00
Blaž Hrastnik dd749bb284 Expand transaction API. 2020-09-07 17:08:28 +09:00
Blaž Hrastnik 4e349add60 cleanup: Remove leftover files. 2020-09-07 11:29:46 +09:00
Blaž Hrastnik 8b3e152126 cleanup: Make Buffer just a part of State. 2020-09-07 11:28:52 +09:00
Blaž Hrastnik 579b6899f1 Work on insert mode. 2020-09-07 11:21:26 +09:00
Blaž Hrastnik 0d56ce9296 Bump deps, make it compile with latest smol. 2020-09-04 18:18:40 +09:00
Blaž Hrastnik 29f1be91a2 Fix clippy lints. 2020-08-11 23:22:34 +09:00
Blaž Hrastnik 4733afa6c2 Update dependencies.
smol 0.3 makes setup a whole lot easier.
2020-08-11 23:19:23 +09:00
Jan Hrastnik 8681d47292 remove unused import 2020-06-24 21:03:38 +02:00
Jan Hrastnik 6ba082697d added cursor rendering 2020-06-24 20:59:35 +02:00
Jan Hrastnik c3a23a1c09 file now rendered line by line 2020-06-23 19:10:09 +02:00
Jan Hrastnik e93b15cef3 created view struct 2020-06-19 02:14:29 +02:00
Jan Hrastnik 8958f06f08 added file rendering 2020-06-16 22:46:27 +02:00
Blaž Hrastnik 8119f1ec3d Refactor editor module to use state + keymap. 2020-06-16 18:00:34 +09:00
Jan Hrastnik 065cbcee9e fixed async loop 2020-06-16 17:42:34 +09:00
Jan Hrastnik 2985398adc loop is now async 2020-06-16 17:42:34 +09:00
Jan Hrastnik 19643446cd editor.rs now uses crossterm 2020-06-16 17:42:32 +09:00
Blaž Hrastnik f8fe273a2e Fix build. 2020-06-08 00:41:37 +09:00
Blaž Hrastnik 843c20a550 Add a keymap module. 2020-06-08 00:28:17 +09:00
Blaž Hrastnik 387fb57c94 Allow unused code for the time being. 2020-06-02 10:59:02 +09:00
Blaž Hrastnik 57c2046070 Drop tui. 2020-06-02 10:47:26 +09:00
Blaž Hrastnik c17045ed07 Fixup Surface 2020-06-02 10:44:44 +09:00
Blaž Hrastnik 613d06dfb0 wip: importing to github 2020-06-01 17:42:28 +09:00
Blaž Hrastnik 6905ff03c2 Start swapping from termwiz to crossterm + async. 2020-05-28 17:47:35 +09:00
Blaž Hrastnik 44ff4d3c1f Implement a new core based on CodeMirror. 2020-05-25 13:02:21 +09:00
Blaž Hrastnik 240e5f4e3d Initial import. 2020-05-20 18:14:51 +09:00