Commit graph

60 commits

Author SHA1 Message Date
cschen
b844594a53 chore: remove sublime-asyncio dependency and old build file.
Former-commit-id: dd689650d2756ce4c4e97de0f8dd9a2d88063a37
2024-09-05 20:56:10 +02:00
cschen
13d1024979 chore: minor fixups and better logging messages
Former-commit-id: 6ec86c4fe78cb40a555c9279b509a6b966934186
2024-09-02 11:39:01 +02:00
cschen
a8b38e1307 feat: new commands
Former-commit-id: 13cb46afc8f68d0c053ad02ff4426634020be0bd
2024-09-02 11:38:29 +02:00
cschen
364c01d194 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
16e1436165 fix: simplify simplify simplify
Former-commit-id: 3e093fcaba0026c2585aca0ea9b714852f5e9839
2024-08-31 15:24:22 +02:00
cschen
822dc9a045 fix: miscelaneous fixes
Former-commit-id: f008552b7a5ca5f57a9802df6e7b1a09102afc74
2024-08-29 08:17:52 +02:00
cschen
127e103d03 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
77ca8ab93d 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
37b67aa1ea 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
153eea95d8 wip: moved to the promise model from the glue
Former-commit-id: be08024cd256b631697b6c8fda6d99f8ccb4ece8
2024-08-21 21:35:57 +02:00
cschen
9ed58d4ee1 feat: fixes in the runtime, added block_on
Former-commit-id: 282251232e15fbca4f7d6f591293cfc010bc63de
2024-08-20 12:06:46 +02:00
cschen
79c64d01f4 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
c32b159f9c 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
dc89b35108 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
46b20d0959 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
814767d82f feat: refactored plugin into smaller parts and fixed imports
Former-commit-id: 4a18c504b2413323176e543aa04e92a2a4915a6a
2024-08-09 15:54:12 +02:00
cschen
cba895bcbb 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
1cca6ede6e fix: fixed the logger, spawning multiple instances.
Former-commit-id: 926b222cad75a036095ab23e5d11c439e0810b21
2024-08-09 14:22:12 +02:00
cschen
30e039e09d chore: adapting plugin to new glue + new glue
Former-commit-id: 1ed7e6f519295e7f46b4bce3b5d3143e787b26a3
2024-08-09 09:17:38 +02:00
cschen
703e3e0b68 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
78fe8010ce 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
744887b336 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
c29c95fe55 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
55da78ad91 chore: name change and build script tweak, adding the wheel
Former-commit-id: e77044f56c199268115c8768d69b4fe06357d6c3
2024-03-23 18:55:26 +01:00
Camillo Schenone
0062c292a8 fix: cleaned up build script, version bumps
Former-commit-id: 30e5f85a3e0bf9c4fbb3521b287043b6f55e76a6
2024-03-16 15:51:49 +01:00
Camillo Schenone
6046b2d3b9 fix: get sysconfig from the python that builds, remove old maturin stuff
Former-commit-id: 3ce2271721d3e498cfb5a382efe699be9003ed0a
2024-03-16 14:59:26 +01:00
Camillo Schenone
d918098130 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
cdafd89b0b fix: minor fixes to task manager
Former-commit-id: fc5c2f9b844126a87341a94f1ded299c73916fad
2024-03-03 19:12:20 +01:00
Camillo Schenone
a302180a19 Added tracing logging, removed some unhelpful python level logging messages
Former-commit-id: 68610be7c21c24dc9c354fc0162bed4dd3438606
2024-03-02 15:28:39 +01:00
Camillo Schenone
9003215014 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
9f126bffd4 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
7db877622d 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
11e76248c0 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
a986aa18c6 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
d96acdde48 fix: made the detaching of buffers on view close a sync function, to keep a reference to the window.
Former-commit-id: 69d58868687fb402232b97eb90de223161292ca3
2023-12-02 22:18:54 +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
4152ad41d8 fix: detach on close works properly, fixed multicursor not showing if more than 2.
Former-commit-id: ad5c5b09e7c60b4a7cb371ad8f0dad32dc066fc6
2023-11-28 18:34: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
dd5f8cdf92 added initial automatic cursor color assignment, minor code refactor, and a disconnect client command.
Former-commit-id: 6c4c5761b8b810be24ce8c3d1c0f9f2d8a45e1b4
2023-11-24 10:19:03 +01:00
Camillo Schenone
280d6314c9 it works, (minor touches still needed)
Former-commit-id: edfad18103da76426b4eb3f62174a9654e8595d8
2023-11-23 17:15:16 +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
5035034358 whops forgot the bindings
Former-commit-id: 546bf036805f71ee3adbc7510b8cee56e77c7a33
2023-11-22 12:29:54 +01:00
Camillo Schenone
2fa6888567 pyo3 version bump
Former-commit-id: 9fd9d73391dd2eb739a3a77f94c7526a06d27ba8
2023-11-22 12:29:20 +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
9a964a099b Rearranged some code. Implemented a python buffer class to abstract the differences between buffers on the server and on the editor. Switched to a single event listener that we move around.
Former-commit-id: 836dfe91f89bf25fa408cc3be8ecc4e0679e10d1
2023-09-05 16:07:22 +02:00