Commit graph

260 commits

Author SHA1 Message Date
0a464296cd feat: added Join/Share commands 2023-04-11 22:35:27 +02:00
b891c0d2f0 feat: added sync rpc 2023-04-11 22:35:10 +02:00
228f6a54f0 fix: catch some edge cases 2023-04-11 17:12:22 +02:00
de153c798c fix: retain ending chars 2023-04-11 14:24:53 +02:00
ca4f68c5ec feat: added delete fn, handle CR and BS 2023-04-11 14:24:40 +02:00
532de6639f feat: pass back stderr 2023-04-11 14:02:45 +02:00
9a0311eb38 chore: cargo features 2023-04-11 14:02:03 +02:00
f1f65aafdb chore: cleanup nvim main 2023-04-11 14:01:55 +02:00
b12b6dc68f feat: added reference client in lib 2023-04-11 14:01:27 +02:00
2472164350 chore: removed cli client 2023-04-11 14:00:49 +02:00
4f43573aa0 feat: basic nvim RPC client 2023-04-11 06:20:40 +02:00
665b8ea2e0 fix: renamed 2023-04-10 20:25:47 +02:00
9bf12b8bc3 feat: add user to msgs, pass msgs directly 2023-04-10 20:24:11 +02:00
14e9a1e86e feat: added Operation Factory struct 2023-04-10 01:41:22 +02:00
ebbca24a99 chore: dramatically simplified everything
working on this was really hard, so i'm making simple things first.
removed almost everything except bare buffer changes, and not even done
in a smart way, but should be a working PoC? now trying to make a
working client to test it out and actually work on a real prototype
2023-04-07 03:10:45 +02:00
192ce94ac6 fix: where did this come from?? 2022-10-18 23:08:08 +02:00
5ff2166fa2 chore: warnings be gone 2022-10-18 02:28:16 +02:00
7b0de55613 Merge branch 'dev' of github.com:alemidev/codemp into dev 2022-10-18 02:23:33 +02:00
9bbd30a5f8 feat: super barebones synched cursor across clients 2022-10-18 02:22:04 +02:00
60e53b4a94 feat: made them all UUIDs because I hate myself 2022-10-18 02:20:31 +02:00
f596df73c4 chore: moved stuff into a common library 2022-10-18 02:19:15 +02:00
5eb7e2a40b chore: added AGPL license 2022-09-29 12:01:11 +02:00
e9500afd55 feat: did some plumbing for events and cursors channels 2022-09-24 01:14:12 +02:00
495b8279fc Merge branch 'dev' of github.com:alemidev/codemp into dev 2022-09-17 21:47:08 +02:00
7f4696f164 feat: initial work on auth interceptors 2022-09-17 21:46:40 +02:00
ab432966f9 build: renamed bin targets 2022-09-17 21:44:15 +02:00
42b8a3881c Added a very basic README 2022-09-14 12:13:48 +02:00
711c7ce7c6 chore: mark unused variables to suppress warnings 2022-09-08 00:19:01 +02:00
57dc0b25e9 fix: removed useless mut 2022-09-08 00:18:48 +02:00
911ed4e212 chore: added events to modules, added some docs 2022-08-29 02:50:14 +02:00
1f32834572 fix: send buffer events 2022-08-29 02:49:24 +02:00
851781b041 feat: made statemanager more friendly in its usage
basically removed the need to manually compose messages and added
methods to handle it.
2022-08-29 02:48:09 +02:00
824cb62933 chore: moved responsabilites around again 2022-08-28 23:41:11 +02:00
6fd0ab4944 feat: reworked workspace and workspaceview
now there are handy methods that hide the underlying message passing
2022-08-28 23:40:15 +02:00
692c3f4977 fix: some tweaks to make rust-analyzer happy
stuff used to make sense but I changed some things below. Now I need to
redo my plumbing, but I don't want my language server going crazy.
2022-08-28 23:38:45 +02:00
5bb535385b feat: added events struct
there's also quite some commented out code. I first approached the
problem in a OOP way, but that's not the right way for rust. Keeping
that code just to remember my vision.
2022-08-28 23:36:46 +02:00
18d86020c0 fix: add getter to state workspaces, imports fix 2022-08-03 18:51:56 +02:00
e030b9a48f feat: added some getters to state obj, implemented /buffers 2022-08-03 15:09:15 +02:00
7a4e69377d fix: some temporary fixes to make it compile 2022-07-31 13:47:55 +02:00
f854b902a1 feat: split services in subdir and separate files
Having them all in main.rs was becoming unmanageable
2022-07-31 13:47:18 +02:00
8316439a3e feat: moved state managers under 'actor' dir
Since we're building (sort of) around the actor model, might
as well sort stuff that way.
2022-07-31 13:46:21 +02:00
83ae6e3cd1 feat: initial rework of protocol flow
Added a "session" stage, to auth and connect to a Workspace.
Added workspace-level operations (sync, get buffers list...).
Added buffer-level sync operations (push, pull).
2022-07-31 13:44:48 +02:00
4491482b0a feat: improved protocol definition
use session for authentication, then workspace to keep in sync and
subscribe to new buffers. Buffer service will dispatch live updates.
2022-07-30 14:35:38 +02:00
2287793cd9 feat: added tracing, added buffer_worker 2022-07-30 03:02:38 +02:00
60e6f4640c feat: added buffer object, reworked objects with internal worker 2022-07-30 03:02:04 +02:00
97e9b1f737 feat: initial work on Workspace buffer edit proto
Co-authored-by: f-tlm <f-tlm@users.noreply.github.com>
2022-07-21 10:40:43 +02:00
d5a551c76c fix: added functions inside vim 2022-07-16 03:46:43 +02:00
89588d7a8c chore: imports 2022-07-16 03:46:16 +02:00
ede7a7758c feat: made nvim client a feature (for now, enabled by default) 2022-07-16 03:46:02 +02:00
2195cb28b8 feat: implemented basic create/sync client 2022-07-16 03:45:32 +02:00