6559fcd5f3
feat(java): use config struct for connect
2024-09-11 15:51:07 +02:00
123f11854c
fix(lua): normalize workspace method names
...
no _buffer
2024-09-11 15:50:05 +02:00
5e95ddde2a
feat(lua): add config, serialize/deserialize args
...
before we held all structs on the rust side, which probably means faster
passing and smaller objects but also very inconvenient because must be
constructed on the rust side. all api structs are now serialized back
and forth, which should become fast enough if jitted, allows for simpler
and smaller code and all around probably is a negligible overhead since
we were creating lua function tables and functions every time anyway.
could actually be faster to just serialize simple primitives rather than
creating a function to get it? idk lua api changed too btw
2024-09-11 15:46:05 +02:00
65721f3e6a
feat(lua): allow loading with many more names
...
codemp, libcodemp, codemp_native, codemp_lua all work now
2024-09-10 12:29:11 +02:00
e05e273ee2
fix(lua): use patched crate by us, add features
...
basically upstream lua pushed a change making `send` and `module`
features incompatible, which is not ok for us as we need the LuaFunction
to be sync to send it on the channel. Also added features for all lua
versions, it's a bit messy on the Cargo.toml but now we support really
all lua versions and can probably publish on luarocks
2024-09-10 12:12:59 +02:00
f6ee2f0806
fix(java): borked glue methods
2024-09-09 16:06:05 +02:00
cschen
f2a2892674
fix(python): fix macros also for client.rs
2024-09-08 11:25:33 +02:00
cschen
f116f27b39
fix(python): remove the macro_export and use pub(crate) instead so that it doesn't leak into the documentations.
2024-09-08 11:03:10 +02:00
b968945a37
chore: codemp.dev -> code.mp
2024-09-07 22:10:47 +02:00
cschen
c1c9902b45
feat(python): switched to abi3 mode to allow multiple python versions with single wheel.
...
abi3 does not support `PyFunction` so added workaround checking for `is_callable()`
2024-09-06 00:24:37 +02:00
fb5bb51e65
fix: uuid was copy, string is not
2024-09-06 00:12:31 +02:00
b8376a5ef8
fix: moved import, exclude dist from packaging
2024-09-05 03:28:46 +02:00
1fac27ebd5
fix(lua): use last published beta rather than git
2024-09-05 03:18:06 +02:00
cd8b0c64f4
chore(java): new error system
2024-09-05 02:45:33 +02:00
921a8ee69a
fix: updated js and py glues with new errors
2024-09-05 02:33:35 +02:00
d25e744a37
docs: improved cargo docs, rewrote readme
...
Co-authored-by: alemi <me@alemi.dev>
2024-09-05 01:45:48 +02:00
bfe84c45e0
docs: re-documented remaining members
2024-09-04 21:37:35 +02:00
8296b473bb
feat(lua): introduce callbacks channel
...
this means that lua must poll but at least they run on main thread and
dont segfault the main process
2024-09-01 03:13:03 +02:00
e50703fc77
chore(lua): module at the bottom
2024-09-01 03:11:43 +02:00
89dbc89225
feat(lua): allow printing tracing on stderr
...
for detached sessions
2024-09-01 03:10:40 +02:00
840da7bf5a
fix(lua): new errors
2024-09-01 03:09:35 +02:00
cschen
487a490887
fix(python): changed entry point. separated logger from driver.
2024-08-31 15:23:38 +02:00
cfab8ee148
fix(js): default url
2024-08-27 23:09:36 +02:00
6b7324d37f
feat: added new methods to java, js and py glues
2024-08-27 23:04:56 +02:00
e1da62f0c8
feat(lua): type annotations
2024-08-27 21:24:05 +02:00
30f692e6e1
feat(lua): new session methods
2024-08-27 21:24:05 +02:00
4a701818f2
feat(js): new glue hash function
2024-08-27 16:09:44 +02:00
fc9247c5a8
chore(js): updated callback functions names
2024-08-27 16:08:25 +02:00
6ea5a72b0c
feat(js): Changed callbacks method to return Controller instead of Change
2024-08-24 17:46:05 +02:00
cschen
076128e1db
chore(python): added name to buffer controller, small cleanup
2024-08-23 20:41:07 +02:00
cschen
88f4ace04a
Merge remote-tracking branch 'origin/dev' into dev
2024-08-22 16:55:28 +02:00
cschen
0c9ea08d64
wip(python): try_recv doesn't return a promise.
2024-08-22 16:52:29 +02:00
cschen
472c33f734
feat(python): added callback support, reaching feature parity with the lib.
2024-08-22 15:22:51 +02:00
21f1948f04
fix(java): new filetree, mistake in create_buffer
2024-08-21 23:41:22 +02:00
cschen
4004f2011f
Merge branch 'pyo3_bump' into dev
2024-08-21 18:21:48 +02:00
cschen
76f8058186
chore(python): final cleanup before merge into dev
2024-08-21 18:15:19 +02:00
ed3673b92a
feat: buffer get name fn
2024-08-21 17:38:33 +02:00
cschen
dc7ae20b7d
fix(python): release GIL when spawning stuff, we don't need to keep it and we risk
...
deadlocking
feat(python): added allow_thread in the macro
2024-08-21 17:20:12 +02:00
f29ea23c4e
feat: new fn for controllers
2024-08-21 17:14:19 +02:00
cschen
fe2f2a3ae0
chore(python): cleaned up the leftovers
2024-08-21 15:45:24 +02:00
cschen
c0e090fe7a
Merge branch 'dev' into pyo3_bump
2024-08-21 15:05:17 +02:00
cschen
e7272753e6
Merge branch 'dev' into pyo3_bump
2024-08-21 15:03:10 +02:00
cschen
a4eb58cd4b
wip(python): moving the rest of the glue to promises (empty promises)
2024-08-21 15:02:44 +02:00
a99eee170d
feat: allow filtering workspace filetree
2024-08-21 14:57:07 +02:00
cschen
4a575c587f
feat(python): fixed macro and expanded to workplace methods
2024-08-20 22:18:29 +02:00
cschen
feff54bcdf
feat(python): switched to a "Promise" approach
...
chore(python): removed, commented out some of the earlier attempts
feat(python): reworked the logger and tokio runtime approach, now the logging
callback drives the runtime.
2024-08-20 21:09:10 +02:00
cschen
72896d87d6
feat(python): tentative of Promise based approach
2024-08-20 17:16:36 +02:00
cschen
b09c7a2206
ON_HOLD: pyo3 experimental async is still too experimental, pivoting to blocking behaviour for now.
2024-08-20 11:22:45 +02:00
3b45c4ddb6
feat(java): UUID-based users, fixed event api
2024-08-19 11:36:51 +02:00
cschen
a45db74722
feat(python): use a current_thread executor
2024-08-18 19:06:07 +02:00
cschen
76e5320e6a
chore(python): minor changes
2024-08-17 23:48:02 +02:00
cschen
f743fbcb03
feat: brought back the manual workspace implementation
2024-08-17 23:47:06 +02:00
cschen
07f656cbe5
feat(python): finish wrapping the new glue in the new pyo3 stuff
2024-08-17 01:13:07 +02:00
cschen
3fe6d224e3
feat(python): summon black magic to allow possible release of the GIL between .awaits
...
plus nice static runtime singleton fetcher/instantiator
2024-08-17 01:12:35 +02:00
cschen
5acca5ce3e
feat: make the automatic User translation into py,
...
fix: properly create the module with the new version signature
2024-08-17 01:11:11 +02:00
cschen
f8c36be6ea
feat: updated workspace manually anyway even if commented so that we have it ready just in case
2024-08-17 01:09:29 +02:00
fdcfc611b1
feat(lua): hand rolled a_sync! to the rescue
2024-08-17 00:06:57 +02:00
cschen
ef2285d0f3
Merge branch 'dev' into pyo3_bump
2024-08-16 16:50:55 +02:00
cschen
610576f8b7
feat: Bumping to pyo3 0.22, removing pyo3-asyncio, moving code around to allow for
...
smoother pyo3 aggregation.
2024-08-16 12:58:43 +02:00
0d3af40eb0
feat(java): expose hash function, use OptionalLong in TextChange
2024-08-16 01:21:21 +02:00
8b704fa668
feat: impl so no longer needed from::
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-15 22:48:03 +02:00
79f132236f
feat(lua): impl all methods, add callback
...
this uses mlua beta but whatev api is so much better
2024-08-15 22:19:08 +02:00
cschen
e732e6a938
feat(python): adapted glue to latest changes, still todo workspace events.
2024-08-15 17:58:02 +02:00
b51e55570f
fix(lua): return error with context
...
maybe wasteful? but i really want this to show error strings
2024-08-15 03:45:50 +02:00
889f745dd4
feat(lua): .event(), userdata for WorkspaceEvent
2024-08-15 03:42:25 +02:00
a5502d1f1f
fix(java): use ext::hash() instead
2024-08-14 19:17:25 +02:00
39f69cc418
feat(java): xxh3 hash checking
2024-08-14 19:09:48 +02:00
fcd2b9f1c9
chore(java): async send
2024-08-14 18:51:34 +02:00
24f5bdf2a7
feat(lua): expose hash field in text change
2024-08-14 18:07:26 +02:00
2d20887509
chore: removed prelude imports and fixed glue exports
2024-08-14 18:00:12 +02:00
b46914528a
chore: updated js glue to have async send/recv
2024-08-14 17:25:23 +02:00
8806941a13
feat(lua): expose hash fn
2024-08-14 17:16:58 +02:00
2916848165
fix(lua): its all async now
2024-08-14 15:56:36 +02:00
bd6423856b
chore(java): try_recv async
2024-08-14 00:27:26 +02:00
a9d713fd75
feat: async try_recv, delta_request
...
Co-authored-by: alemi <me@alemi.dev>
2024-08-14 00:24:32 +02:00
ada6ed49c1
fix(java): async content(), moved select_buffer
2024-08-13 21:58:40 +02:00
6bf541028d
feat(java): replace all expect/unwrap with throwing JNIException
2024-08-10 02:45:20 +02:00
53503ae117
feat(java): glue for workspace events
2024-08-09 14:11:13 +02:00
cschen
264dd319d3
fix(python): fixed the type hints, adapted glue to latest workspace, uniformed names in the glue
...
chore: forgot a file
2024-08-09 09:14:35 +02:00
cschen
ad881ab067
chore(python): remove old monolithic ffi
2024-08-09 00:01:56 +02:00
cschen
99cbebb4f8
fix(python): stragglers files
2024-08-09 00:00:21 +02:00
cschen
7e8a46f9b8
feat(python): new leaner glue, up to date
2024-08-08 23:58:45 +02:00
754b88fd73
feat: javascript glue
...
Co-authored-by: alemi.dev <me@alemi.dev>
2024-08-08 23:25:02 +02:00
f6edc2cbb0
feat(lua): add runtime driver stop control
2024-08-08 21:56:36 +02:00
0aa7690533
feat: lua leave, detach, delete
2024-08-08 04:42:11 +02:00
e736646b8c
feat: add close_client helper in lua
2024-08-08 04:14:24 +02:00
793cebb787
feat: add static client store for lua
...
so we can access clients across lua threads
2024-08-08 04:02:56 +02:00
e1ba683fd0
fix: updated lua ffi
...
now the client is given to lua
2024-08-08 02:48:31 +02:00
a9bab2bb03
feat: java glue leave_workspace, detach, new connect
2024-08-08 02:45:52 +02:00
515cab331c
chore: cleanup, reorganizing java glue
2024-08-08 00:29:54 +02:00
ffa8d8ea82
Updated Javascript Glue with Napi
...
Co-authored-by: alemi.dev <me@alemi.dev>
2024-08-07 23:06:33 +02:00
6212718e99
feat: recv, buffer_list, tweaks, gradle
2024-08-07 10:22:01 +02:00
84996489e1
feat: working glue
...
Co-authored-by: alemi <me@alemi.dev>
2024-08-07 02:43:25 +02:00
4bb35f1727
feat: buffer controller, cleanup
2024-08-07 01:44:27 +02:00
329287df53
feat: more work on java ffi glue
...
easy when you todo() the hard vec<string>
2024-08-07 01:34:13 +02:00
490670b8bc
feat: try_recv CursorController
...
Co-authored-by: alemi <me@alemi.dev>
2024-08-07 00:38:45 +02:00
7d90793467
feat: get_buffer, get_cursor, get_workspace_id
2024-08-07 00:00:24 +02:00
72e86a8079
fix: lua use try_init for logging
2024-08-06 23:56:28 +02:00
13f862a0e8
chore: some glue code for jni
...
made the simple ones :p
2024-08-06 23:55:57 +02:00
e2ae53b35f
feat: initial work on jni-rs java glue
2024-08-06 23:30:16 +02:00
cschen
df95b20728
Merge remote-tracking branch 'origin/glue' into glue
2024-08-06 23:28:39 +02:00
cschen
bdbd94879b
feat: added maturin wheel building config as completely separate "project",
...
feat: added stubs for python glue, bundled in the wheel,
feat: the python glue now uses less stupid names.
2024-08-06 23:28:09 +02:00
2cc23f2ec2
feat: lua logger improvements
...
distinct fn for setup and get, setup is idempotent
2024-08-06 23:02:28 +02:00
cd9a2d6247
fix: lib name is codemp_lua, override addr via env
...
use CODEMP_SERVER_ADDRESS
2024-08-06 23:01:44 +02:00
95ece68ae6
fix: removed filler error
2024-08-06 00:16:52 +02:00
Camillo Schenone
f9784e961d
feat: updated to new glue, magic.
...
fix: added sublime junk to gitignore
2024-08-05 22:44:46 +02:00
b75caaf959
fix: lua glue uses structs directly
2024-08-05 19:16:17 +02:00
Camillo Schenone
25e56f9894
fix: python glue works (only tested on mac though)
2024-03-16 15:42:36 +01:00
Camillo Schenone
859baf6572
fix: whops forgot the actual python glue xD version bump
2024-03-16 15:38:09 +01:00
Camillo Schenone
13a4163d1e
feat: added python glue, still needs some tweaking in the building of the dylib
2024-03-16 14:36:41 +01:00
f0003f04bd
chore: leftover lua lib.rs
2024-03-10 13:13:11 +01:00
c748f49941
feat:added js glue
2024-03-10 12:42:56 +01:00
830ef1fa9b
fix: made lua glue work
...
Co-authored-by: alemi <me@alemi.dev>
2024-03-10 02:18:54 +01:00
074c88feee
feat: added lua ffi bindings
...
broken because no proper build target but whatev for now ig
2024-03-10 01:39:08 +01:00
73fc3005c4
chore: renamed glue module
2024-03-10 01:36:50 +01:00