Commit graph

50 commits

Author SHA1 Message Date
cschen
bace9ca674 chore: minor cleanup and remove arbitrary names from lambdas
Former-commit-id: 2c474ea008d1b287b8e7daf293d4029a6f9f3527
2024-09-17 17:20:00 +02:00
cschen
2f70c8faf7 refactor into smaller files.
Former-commit-id: 37ef53ddc4524891b0b3cddb6af9eabc020055da
2024-09-17 16:23:19 +02:00
cschen
925b0e8eca chore: make readme, clean up some leftover old stuff
Former-commit-id: 2542b39c99e620c7fab17b532d30bfd0381373a2
2024-09-07 15:59:00 +02:00
cschen
6c54a15560 feat: move the library to be bundled together with the repo directly.
This approach will allow us to install directly through package control
by just specifying the repo!


Former-commit-id: 3df245186298042dfd4d8e0bf65844a283a571dd
2024-09-07 14:24:51 +02:00
cschen
a481b79b76 fix: attach listener upon creation to go around the on_activate event not firing on
a newly spawned view.

Former-commit-id: 078a306921278905a50fc97630012a06a00b0cd3
2024-09-02 11:38:11 +02:00
cschen
95694dc2ec fix: simplify simplify simplify
Former-commit-id: 3e093fcaba0026c2585aca0ea9b714852f5e9839
2024-08-31 15:24:22 +02:00
cschen
eb18401e91 fix: miscelaneous fixes
Former-commit-id: f008552b7a5ca5f57a9802df6e7b1a09102afc74
2024-08-29 08:17:52 +02:00
cschen
296ef0ad36 feat: added last two commands: create and delete buffer.
we need testing now.

Former-commit-id: 0a35d398abdd0c39837902aaab3b5842f428c137
2024-08-25 20:27:29 +02:00
cschen
abc976e3e5 feat: added leave buffer command.
feat: new generic input handler for sequence of text inputs with defaults.
chore: minor fixes and improvements

Former-commit-id: 73ea017903fd717d894092871b7b62f827df4ff2
2024-08-24 18:45:42 +02:00
cschen
1e5aeda755 BIG CHANGE: fanculo avevo scritto un poema non ho voglia di riscriverlo.
TLDR: updated bindings, "virtual" classes now do less, and only deal with
managing the persistence of the codemp object within the editor.
the actual commands do the interaction with codemp.

moved away from asyncio, now its callbacks spawned on the async sublime thread.

the client now is much more central and knows everything.

split the join command into join workspace and join buffer, as it was before.
simpler and better ux.


Former-commit-id: 71c96d321fef2620da4301a8f7af5dff138921cd
2024-08-23 20:59:06 +02:00
cschen
507fca5057 wip: moved to the promise model from the glue
Former-commit-id: be08024cd256b631697b6c8fda6d99f8ccb4ece8
2024-08-21 21:35:57 +02:00
cschen
62ed439b41 feat: fixes in the runtime, added block_on
Former-commit-id: 282251232e15fbca4f7d6f591293cfc010bc63de
2024-08-20 12:06:46 +02:00
cschen
974afb98f1 feat: dispatch now runs on our custom loop
and can be started outside of `plugin_loaded()`

Former-commit-id: 9c8c99ed5704b4b18312e73b9b31c192805ad524
2024-08-10 19:05:04 +02:00
cschen
1b9809e167 feat: spawn run_forever loop on a separate thread which will receive tasks
to run.
feat: add a special function to run blocking functions on the worker thread
fix: wait for the thread to finish when stopping.

Former-commit-id: 33a10f6a22be1a46f272da198f6e672a798ee2c6
2024-08-10 19:03:44 +02:00
cschen
472321cb2d feat: wrote executor on the sublime worker thread, (should be correct)
started working on the runtime, first attepts were not very good... xD

Former-commit-id: e3f07d5fc4fb6189931f6673cab9295eaebfb05d
2024-08-09 20:33:56 +02:00
cschen
d3388bd6d3 feat: improved logging system
fix: remove hard dependency from virtual workspace from virtual buffer

Former-commit-id: cb765c754d225d6a5beb6963facffd4211737bd2
2024-08-09 19:20:58 +02:00
cschen
b8a591b7d1 feat: refactored plugin into smaller parts and fixed imports
Former-commit-id: 4a18c504b2413323176e543aa04e92a2a4915a6a
2024-08-09 15:54:12 +02:00
cschen
df11028f28 feat: leave workspace command and separation between activating a workspace and materializing it on disk and in the editor
Former-commit-id: 425996d1a0ab49fee972a4a9263eae30bf6091d7
2024-08-09 14:23:29 +02:00
cschen
e334323304 fix: fixed the logger, spawning multiple instances.
Former-commit-id: 926b222cad75a036095ab23e5d11c439e0810b21
2024-08-09 14:22:12 +02:00
cschen
73e8e9c061 chore: adapting plugin to new glue + new glue
Former-commit-id: 1ed7e6f519295e7f46b4bce3b5d3143e787b26a3
2024-08-09 09:17:38 +02:00
cschen
6dc8d17e9d feat: removed all wheel building from the repo, moved it to the codemp repo directly
feat: updated the plugin to latest glue.
feat: updated the bundled wheel

Former-commit-id: 59efd17b2225c700a6144572a1d44c873d1da268
2024-08-07 00:17:31 +02:00
cschen
707c89cf31 fix: bad hack to move around the single user login in the workspace
Former-commit-id: 2e9f8938636593a5b7c7fedd173fc9ae81aa795e
2024-08-05 22:46:01 +02:00
Camillo Schenone
705c5e014e feat: major refactor.
the client doesn't hold the task manager anymore, instead it is now a
singleton that all objects dump their tasks into to be managed.
This allows to better separate the responsibilities of the various
virtual-objects. The client now is also a module-singleton which allows
us to remove that ugly global variable.

fixup: uses relative imports instead that absolute ones with Codemp in front.
rename of codemp_client.py into just client.py

Former-commit-id: 4a0cc20e82f9631931ba2f61379a61c461b1f291
2024-08-04 19:57:59 +02:00
Camillo Schenone
b66b368907 fix: logger does not panic anymore on reload.
cleanup: old lib version

Former-commit-id: 4dc9cc8048c8dd58438c8da8c2f2a57b16eaaec5
2024-08-04 19:52:12 +02:00
Camillo Schenone
7712d68cb5 chore: name change and build script tweak, adding the wheel
Former-commit-id: e77044f56c199268115c8768d69b4fe06357d6c3
2024-03-23 18:55:26 +01:00
Camillo Schenone
0a15f4a1f9 Version bump to 0.6.1 codemp, using standalone proto repo
Former-commit-id: 55fdb8a2e5efd4eed97cf72fd465f2aeed8bd510
2024-03-16 12:49:07 +01:00
Camillo Schenone
4b058396a1 fix: minor fixes to task manager
Former-commit-id: fc5c2f9b844126a87341a94f1ded299c73916fad
2024-03-03 19:12:20 +01:00
Camillo Schenone
4c89544981 Added tracing logging, removed some unhelpful python level logging messages
Former-commit-id: 68610be7c21c24dc9c354fc0162bed4dd3438606
2024-03-02 15:28:39 +01:00
Camillo Schenone
a26a51cecf fix: properly handle the cleanup of workspaces when closing a window containing them. as well as tagging a window similarly to how we tag views that contain a buffer managed by codemp.
fix: TaskManager, properly implement the stopping logic: Tasks in asyncio when .cancel()'ed are not immediatelly stopped.
but only a request of cancellation is made. subsequently awaiting the task allows it to raise a cancelledError exception,
do any necessary cleanup (finally block).
chore: removed unused import in lib.

Former-commit-id: 04f294c50b180e3676fd026d9a47732cdf6511a6
2024-02-27 00:06:58 +01:00
Camillo Schenone
8a67c7ce93 feat: Stacco nuova version.
feat: Added single Join command
chore: separated input handlers and commands, minor cleanup.

Former-commit-id: 29a49bd8dbdeaf24f988e0a382e74d7e14d957a8
2024-02-24 17:00:29 +01:00
Camillo Schenone
fa5f03bd6b switched to more solid (but uglier) way to check for input focus.
Changed how to get from a sublime view to a virtual buffer by means of tags. (maybe slow)
added some syntactic sugar


Former-commit-id: 2003fe0838af7e47258c6d10d84e2142dfa3da1b
2024-02-23 17:49:26 +01:00
Camillo Schenone
ff883c8e58 chore: cleaned up old comments, refactored code into separate files, used dictionaries for buffer bookkeeping internally.
Former-commit-id: fd646cf6dc08e29167ce048705d51c01e06fd6ae
2024-02-23 13:25:01 +01:00
Camillo Schenone
abb027217c Major code refactor, to support v0.6 codemp. Should work, minor details to go through, like internal buffer mappings.
Former-commit-id: 3602917d52fd33e9eb77fb5a9fe9a87010e94a03
2024-02-21 23:59:49 +01:00
Camillo Schenone
6831c07a64 Updated bindings to lib version v0.6
Former-commit-id: 488ee7005f9e286a489683db9853b53deab9443d
2024-02-16 20:46:16 +00:00
Camillo Schenone
2d8fb97166 Fix: Ignore cursor events for unknown buffers, print a warn
Former-commit-id: fb53518d4bba645283edcf349ce9eda9dc081b7d
2023-12-18 22:09:24 +01:00
Camillo Schenone
5e1c0e597f removed old select_buffer code from the bindings, atm not required.
Former-commit-id: 01a0dee921f726229aa40f3253792bafd845a0c6
2023-12-02 22:21:56 +01:00
Camillo Schenone
5741a91ce2 feat: updated how the textchange is handled python side. No longer splatted, added access to type methods.
Former-commit-id: 5eb0f10d187d5e9c97781c46cd8d24c919b52e04
2023-12-02 22:16:41 +01:00
Camillo Schenone
7bac395fc4 fixed select_buffer in the lib
Former-commit-id: 13c418ed5990300a0c15278e490726dd01680dd2
2023-11-24 11:44:08 +01:00
Camillo Schenone
a22d8ff6e1 version bump to 0.3.0, supporting codemp 0.5, fixed content function, new bindings
Former-commit-id: 14b565f48f493c4c731a00e9511ef5af65332264
2023-11-24 11:31:00 +01:00
Camillo Schenone
0c3334b827 added content binding, minor refactor.
Former-commit-id: dc1e3bea591646a6a7c215a83a498dc40add2a07
2023-11-24 10:36:06 +01:00
Camillo Schenone
36085c0639 added buffer disconnection, sending of cursor and buffer events working, to test the receiving part
Former-commit-id: cf82de64bc329fca8786e3d1cf724fd816885975
2023-11-23 14:36:33 +01:00
Camillo Schenone
8808405a3a First steps towards the migration, updated the bindings, and python side wrapper
Former-commit-id: fe60dec9d36c28b9f86048a0791349a804c66c8f
2023-11-22 12:25:08 +01:00
Camillo Schenone
029be23fe7 Added callback logic to buffer event. Fixed double send. Improved docs a bit.
Former-commit-id: cd4407bad42657f0886b59fd816e2c9f396215a9
2023-09-04 17:01:04 +02:00
Camillo Schenone
fd528237b3 completed the text change compression to send a single operation to delta. Minor refactor, added stubs for further development
Former-commit-id: 83d6457ac959585d459d5b9af3e948e623bb6b8d
2023-08-29 23:38:39 +02:00
Camillo Schenone
6fe5effb68 Minor fixes in the lib, finished the python objects wrappers. Started working on plugin.py.
Former-commit-id: 3a5e587b1ba019bb9a263478cd2e08b9b532322e
2023-08-25 14:29:11 +02:00
Camillo Schenone
e387b726c8 Got a bindings library that compiles.
Former-commit-id: b08de0a869b6738131e96dd616ef0b96bfb2d975
2023-08-25 03:05:53 +02:00
Camillo Schenone
bfad81f958 Implemented the client handle interface. TODO: controllers
Former-commit-id: 6b273dffce4e28a1e41f31a71f5a4ce78ecfe264
2023-08-23 18:22:11 +02:00
Camillo Schenone
31f296a55c Added errors wrappers and version bump
Former-commit-id: a9e1c1594f5d199499f7f08d273e2096f71f9bf1
2023-08-23 11:18:04 +02:00
Camillo Schenone
c79529ce87 minor cleanup
Former-commit-id: c821150c13183e9d0336acf9b9303ae5e2646037
2023-08-22 10:55:53 +02:00
Camillo Schenone
1ab1ac36be initial commit
Former-commit-id: fbb58155042cd05b869941cdbdd83819b7c1907e
2023-08-17 18:39:47 +02:00