Commit graph

788 commits

Author SHA1 Message Date
9a1d84bc64 chore: split cursor and buffer protos 2023-08-16 17:08:53 +02:00
8595d0c927 fix: imports, Arc<T> 2023-08-11 15:50:17 +02:00
98cae0969d fix: remove workspace trait, add channel error 2023-08-11 15:34:04 +02:00
37e6268f0c chore: buffer(controller->handle, client->controller) 2023-08-11 15:33:40 +02:00
5cddb27b98 feat: initial features splitting, added singleton 2023-07-30 22:58:24 +02:00
02b2588073 feat: major restructure, workspace rework, tweaks
all controllers use internal mutability so that they can all be put
behind Arcs
2023-07-30 17:48:55 +02:00
ef2be6fc25 fix: not really FOSS
updated license file. source has never been distribuited so previous
license file should not be considerable valid. this new file still
probably isn't considerable valid but in the unfortunate case of code
leaking it would leak with this one
2023-07-16 19:42:42 +02:00
041acdbb94 feat: initial barebones structure for workspace 2023-07-13 01:35:18 +02:00
a0ae33095e chore: preemptive cargo version bump 2023-07-13 00:40:26 +02:00
15a1f6a435 fix: bump version 2023-07-13 00:32:59 +02:00
f145382b6e fix: wtf was that 2023-07-12 00:26:41 +02:00
59a0f71754 fix: better names for delta operation args 2023-07-12 00:23:41 +02:00
1b747491bc feat: updated nvim and vscode to new controller api 2023-07-09 03:44:39 +02:00
ca42874590 feat: refactored and improved operation controller
now polling for changes returns span and text so that it's possible to
edit just the changed region. greatly improved controller internal api
with crate-level traits keeping error handling localized
2023-07-09 03:44:27 +02:00
75fdbfe48c feat: try to send proper cursor range 2023-07-09 03:42:08 +02:00
6ef806285f chore: brought back (disabled) old mlua native nvim 2023-07-05 00:09:31 +02:00
d086997053 feat!: start+end in cursor, merged cursor structs 2023-07-05 00:09:09 +02:00
2e39cf10f1 fix: new cursor api in nvim probably
totally tested this go ahead ready for prod
2023-07-04 23:42:40 +02:00
44c6f9eb1a feat: implemented basic cursor sharing in vscode 2023-07-04 22:55:23 +02:00
38911bdc31 feat: reworked cursor handle mechanism
instead of storing cursors it just streams them as they happen. instead
of just getting cursors from the controller, now you also send your
operations into it, mimicking more the behavior used for text ops
2023-07-04 22:54:25 +02:00
340eafb432 feat: added core codemp commands for text sync
note that there's an awful OP_CACHE set to store our edits because we
get them as events too... will have a ton of edge cases! apart from this
text synchronization works pretty well, also autocompletions
2023-07-04 01:05:05 +02:00
7d497c224d build: improved buildscript and bundle, added cmds 2023-07-04 01:02:50 +02:00
4563cfdd09 feat: bindings for changes and callback 2023-07-04 00:59:32 +02:00
06523b2325 fix: factory delta with abs index and not skips 2023-07-04 00:58:56 +02:00
4e37ca971b build: simple script to make simple .vsix 2023-07-03 01:40:14 +02:00
e2176fd1fc fix: correctly declare extension 2023-07-03 01:38:09 +02:00
9584707982 chore: gitignore vscode build files 2023-07-03 00:04:16 +02:00
43634acc2c fix: remove unnecessary async, re-exported ot, refactor 2023-07-02 23:59:04 +02:00
d79886e613 feat: initial rust bindings for vscode client 2023-07-02 23:58:25 +02:00
975a082262 feat: actually report true accepted status 2023-07-02 03:19:00 +02:00
365811d963 chore: thanks clippy 2023-07-01 20:22:39 +02:00
0a29a293f5 chore: add name when starting server 2023-07-01 19:04:10 +02:00
300ba39ba5 chore: moved lua out of src folder 2023-07-01 14:12:48 +02:00
b9ab3403dd chore: aligned match case, renamed to unwrap_or_warn 2023-07-01 14:12:33 +02:00
2c695a41f6 fix: ignore errors better, unified op processing 2023-07-01 14:00:50 +02:00
107c4673ef chore: separated modules in a cargo workspace 2023-04-21 18:47:10 +02:00
e892b81513 chore: removed old vim plugin code 2023-04-21 01:31:16 +02:00
c5d171a641 feat: add delta (replace with offset) in factory 2023-04-20 04:36:04 +02:00
97be3cf4ce fix: send mock values to unlock and stop workers 2023-04-20 04:27:11 +02:00
6fe92b9e8e chore: better logging of workers stopping 2023-04-20 04:26:59 +02:00
ebf25fee44 feat: cleaner way to detach and stop workers
actually the stopping channel doesn't fit super well inside the
OperationController itself since the tasks are handled above that
abstraction layer, but storing it inside makes my life incredibly
simpler so im gonna do that for now
2023-04-20 03:47:35 +02:00
1bde0d414e chore: separated op processor and controller 2023-04-20 03:25:07 +02:00
243f23a04b feat: propagate range of buffer affected by change
added some const functions to calculate leading and tailing noops, made
apply() and process() return Range<u64>. actors implementation is still
awful but will do them properly in the future
2023-04-19 20:13:36 +02:00
7f41127f8b chore: import fixes 2023-04-19 19:18:48 +02:00
3e95ff9971 chore: at least log ignored errors 2023-04-19 19:18:31 +02:00
a843cf6cb9 fix: force unix fileformat 2023-04-19 18:18:13 +02:00
7245674ddf merge: branch 'betterlib' into dev
move features and tools into codemp library, trying to decouple stuff
from nvim. also implemented a proper outgoing queue and operation
composing, making connections more reliable
2023-04-19 04:19:59 +02:00
3609dbfa84 chore: finished reimplementing features modularly
now everything that worked in 0.2 seems to work again, and should
actually be better. plus, merging differences is done properly and thus
should be way more reliable
2023-04-19 04:18:22 +02:00
b8aa7d5fce fix: temp value was dropped 2023-04-18 21:46:19 +02:00
ead5ffc49c chore: struct for storing cursor states 2023-04-17 14:57:06 +02:00