mirror of
https://github.com/hexedtech/codemp.git
synced 2024-11-22 07:14:50 +01:00
chore: update glue code to remove .stop()
This commit is contained in:
parent
4d418c814e
commit
d733a0e4e2
16 changed files with 15 additions and 92 deletions
10
dist/java/src/mp/code/BufferController.java
vendored
10
dist/java/src/mp/code/BufferController.java
vendored
|
@ -106,16 +106,6 @@ public final class BufferController {
|
||||||
poll(this.ptr);
|
poll(this.ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static native boolean stop(long self);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Stops the controller. Any further calls to it will fail.
|
|
||||||
* @return true if it was stopped successfully
|
|
||||||
*/
|
|
||||||
public boolean stop() {
|
|
||||||
return stop(this.ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static native void free(long self);
|
private static native void free(long self);
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
10
dist/java/src/mp/code/CursorController.java
vendored
10
dist/java/src/mp/code/CursorController.java
vendored
|
@ -83,16 +83,6 @@ public final class CursorController {
|
||||||
poll(this.ptr);
|
poll(this.ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static native boolean stop(long self);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Stops the controller. Any further calls to it will fail.
|
|
||||||
* @return true if it was stopped successfully
|
|
||||||
*/
|
|
||||||
public boolean stop() {
|
|
||||||
return stop(this.ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static native void free(long self);
|
private static native void free(long self);
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
6
dist/java/src/mp/code/Workspace.java
vendored
6
dist/java/src/mp/code/Workspace.java
vendored
|
@ -113,14 +113,14 @@ public final class Workspace {
|
||||||
return attach_to_buffer(ptr, path);
|
return attach_to_buffer(ptr, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static native DetachResult detach_from_buffer(long self, String path);
|
private static native boolean detach_from_buffer(long self, String path);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Detaches from a given buffer.
|
* Detaches from a given buffer.
|
||||||
* @param path the path of the buffer to detach from
|
* @param path the path of the buffer to detach from
|
||||||
* @return a {@link DetachResult} representing the outcome of the operation
|
* @return a boolean, true only if there are still dangling references preventing controller from stopping
|
||||||
*/
|
*/
|
||||||
public DetachResult detachFromBuffer(String path) {
|
public boolean detachFromBuffer(String path) {
|
||||||
return detach_from_buffer(this.ptr, path);
|
return detach_from_buffer(this.ptr, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
14
dist/lua/annotations.lua
vendored
14
dist/lua/annotations.lua
vendored
|
@ -223,7 +223,7 @@ function Workspace:attach(path) end
|
||||||
|
|
||||||
---@param path string relative path ("name") of buffer to detach from
|
---@param path string relative path ("name") of buffer to detach from
|
||||||
---@return boolean success
|
---@return boolean success
|
||||||
---detach from an active buffer, closing all streams. returns false if buffer was no longer active
|
---detach from an active buffer, closing all streams. returns false if there are still dangling references
|
||||||
function Workspace:detach(path) end
|
function Workspace:detach(path) end
|
||||||
|
|
||||||
---@param filter? string apply a filter to the return elements
|
---@param filter? string apply a filter to the return elements
|
||||||
|
@ -232,6 +232,10 @@ function Workspace:detach(path) end
|
||||||
---return the list of available buffers in this workspace, as relative paths from workspace root
|
---return the list of available buffers in this workspace, as relative paths from workspace root
|
||||||
function Workspace:filetree(filter, strict) end
|
function Workspace:filetree(filter, strict) end
|
||||||
|
|
||||||
|
---@return string[]
|
||||||
|
---return all names of users currently in this workspace
|
||||||
|
function Workspace:user_list() end
|
||||||
|
|
||||||
---@return NilPromise
|
---@return NilPromise
|
||||||
---@async
|
---@async
|
||||||
---@nodiscard
|
---@nodiscard
|
||||||
|
@ -297,10 +301,6 @@ function BufferController:recv() end
|
||||||
---block until next text change without returning it
|
---block until next text change without returning it
|
||||||
function BufferController:poll() end
|
function BufferController:poll() end
|
||||||
|
|
||||||
---@return boolean success
|
|
||||||
---stop buffer worker and disconnect, returns false if was already stopped
|
|
||||||
function BufferController:stop() end
|
|
||||||
|
|
||||||
---clears any previously registered buffer callback
|
---clears any previously registered buffer callback
|
||||||
function BufferController:clear_callback() end
|
function BufferController:clear_callback() end
|
||||||
|
|
||||||
|
@ -354,10 +354,6 @@ function CursorController:recv() end
|
||||||
---block until next cursor event without returning it
|
---block until next cursor event without returning it
|
||||||
function CursorController:poll() end
|
function CursorController:poll() end
|
||||||
|
|
||||||
---@return boolean success
|
|
||||||
---stop cursor worker and disconnect, returns false if was already stopped
|
|
||||||
function CursorController:stop() end
|
|
||||||
|
|
||||||
---clears any previously registered cursor callback
|
---clears any previously registered cursor callback
|
||||||
function CursorController:clear_callback() end
|
function CursorController:clear_callback() end
|
||||||
|
|
||||||
|
|
2
dist/py/src/codemp/codemp.pyi
vendored
2
dist/py/src/codemp/codemp.pyi
vendored
|
@ -102,7 +102,6 @@ class BufferController:
|
||||||
def callback(self,
|
def callback(self,
|
||||||
cb: Callable[[BufferController], None]) -> None: ...
|
cb: Callable[[BufferController], None]) -> None: ...
|
||||||
def clear_callback(self) -> None: ...
|
def clear_callback(self) -> None: ...
|
||||||
def stop(self) -> bool: ...
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -131,5 +130,4 @@ class CursorController:
|
||||||
def callback(self,
|
def callback(self,
|
||||||
cb: Callable[[CursorController], None]) -> None: ...
|
cb: Callable[[CursorController], None]) -> None: ...
|
||||||
def clear_callback(self) -> None: ...
|
def clear_callback(self) -> None: ...
|
||||||
def stop(self) -> bool: ...
|
|
||||||
|
|
||||||
|
|
|
@ -80,12 +80,6 @@ fn poll(controller: &mut crate::buffer::Controller) -> Result<(), ControllerErro
|
||||||
super::tokio().block_on(controller.poll())
|
super::tokio().block_on(controller.poll())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Stop the controller.
|
|
||||||
#[jni(package = "mp.code", class = "BufferController")]
|
|
||||||
fn stop(controller: &mut crate::buffer::Controller) -> bool {
|
|
||||||
controller.stop()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Called by the Java GC to drop a [crate::buffer::Controller].
|
/// Called by the Java GC to drop a [crate::buffer::Controller].
|
||||||
#[jni(package = "mp.code", class = "BufferController")]
|
#[jni(package = "mp.code", class = "BufferController")]
|
||||||
fn free(input: jni::sys::jlong) {
|
fn free(input: jni::sys::jlong) {
|
||||||
|
|
|
@ -67,12 +67,6 @@ fn poll(controller: &mut crate::cursor::Controller) -> Result<(), ControllerErro
|
||||||
super::tokio().block_on(controller.poll())
|
super::tokio().block_on(controller.poll())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Stop the controller.
|
|
||||||
#[jni(package = "mp.code", class = "CursorController")]
|
|
||||||
fn stop(controller: &mut crate::cursor::Controller) -> bool {
|
|
||||||
controller.stop()
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Called by the Java GC to drop a [crate::cursor::Controller].
|
/// Called by the Java GC to drop a [crate::cursor::Controller].
|
||||||
#[jni(package = "mp.code", class = "CursorController")]
|
#[jni(package = "mp.code", class = "CursorController")]
|
||||||
fn free(input: jni::sys::jlong) {
|
fn free(input: jni::sys::jlong) {
|
||||||
|
|
|
@ -170,26 +170,6 @@ impl<'j> jni_toolbox::IntoJavaObject<'j> for crate::api::Event {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'j> jni_toolbox::IntoJavaObject<'j> for crate::workspace::DetachResult {
|
|
||||||
const CLASS: &'static str = "mp/code/data/DetachResult";
|
|
||||||
fn into_java_object(self, env: &mut jni::JNIEnv<'j>) -> Result<jni::objects::JObject<'j>, jni::errors::Error> {
|
|
||||||
let ordinal = match self {
|
|
||||||
crate::workspace::DetachResult::NotAttached => 0,
|
|
||||||
crate::workspace::DetachResult::Detaching => 1,
|
|
||||||
crate::workspace::DetachResult::AlreadyDetached => 2
|
|
||||||
};
|
|
||||||
|
|
||||||
let class = env.find_class(Self::CLASS)?;
|
|
||||||
let variants: jni::objects::JObjectArray = env.call_method(
|
|
||||||
class,
|
|
||||||
"getEnumConstants",
|
|
||||||
"()[Ljava/lang/Object;",
|
|
||||||
&[]
|
|
||||||
)?.l()?.into();
|
|
||||||
env.get_object_array_element(variants, ordinal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'j> jni_toolbox::IntoJavaObject<'j> for crate::api::TextChange {
|
impl<'j> jni_toolbox::IntoJavaObject<'j> for crate::api::TextChange {
|
||||||
const CLASS: &'static str = "mp/code/data/TextChange";
|
const CLASS: &'static str = "mp/code/data/TextChange";
|
||||||
fn into_java_object(self, env: &mut jni::JNIEnv<'j>) -> Result<jni::objects::JObject<'j>, jni::errors::Error> {
|
fn into_java_object(self, env: &mut jni::JNIEnv<'j>) -> Result<jni::objects::JObject<'j>, jni::errors::Error> {
|
||||||
|
|
|
@ -51,7 +51,7 @@ fn attach_to_buffer(workspace: &mut Workspace, path: String) -> Result<crate::bu
|
||||||
|
|
||||||
/// Detach from a buffer.
|
/// Detach from a buffer.
|
||||||
#[jni(package = "mp.code", class = "Workspace")]
|
#[jni(package = "mp.code", class = "Workspace")]
|
||||||
fn detach_from_buffer(workspace: &mut Workspace, path: String) -> crate::workspace::DetachResult {
|
fn detach_from_buffer(workspace: &mut Workspace, path: String) -> bool {
|
||||||
workspace.detach(&path)
|
workspace.detach(&path)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ impl BufferController {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[napi(js_name = "clear_callback")]
|
#[napi(js_name = "clear_callback")]
|
||||||
pub fn js_clear_callback(&self) -> () {
|
pub fn js_clear_callback(&self) {
|
||||||
self.clear_callback();
|
self.clear_callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,6 @@ impl LuaUserData for CodempBufferController {
|
||||||
methods.add_method("recv", |_, this, ()| a_sync! { this => this.recv().await? });
|
methods.add_method("recv", |_, this, ()| a_sync! { this => this.recv().await? });
|
||||||
methods.add_method("poll", |_, this, ()| a_sync! { this => this.poll().await? });
|
methods.add_method("poll", |_, this, ()| a_sync! { this => this.poll().await? });
|
||||||
|
|
||||||
methods.add_method("stop", |_, this, ()| Ok(this.stop()));
|
|
||||||
|
|
||||||
methods.add_method("content", |_, this, ()| a_sync! { this => this.content().await? });
|
methods.add_method("content", |_, this, ()| a_sync! { this => this.content().await? });
|
||||||
|
|
||||||
methods.add_method("clear_callback", |_, this, ()| { this.clear_callback(); Ok(()) });
|
methods.add_method("clear_callback", |_, this, ()| { this.clear_callback(); Ok(()) });
|
||||||
|
|
|
@ -19,8 +19,6 @@ impl LuaUserData for CodempCursorController {
|
||||||
methods.add_method("recv", |_, this, ()| a_sync! { this => this.recv().await? });
|
methods.add_method("recv", |_, this, ()| a_sync! { this => this.recv().await? });
|
||||||
methods.add_method("poll", |_, this, ()| a_sync! { this => this.poll().await? });
|
methods.add_method("poll", |_, this, ()| a_sync! { this => this.poll().await? });
|
||||||
|
|
||||||
methods.add_method("stop", |_, this, ()| Ok(this.stop()));
|
|
||||||
|
|
||||||
methods.add_method("clear_callback", |_, this, ()| { this.clear_callback(); Ok(()) });
|
methods.add_method("clear_callback", |_, this, ()| { this.clear_callback(); Ok(()) });
|
||||||
methods.add_method("callback", |_, this, (cb,):(LuaFunction,)| {
|
methods.add_method("callback", |_, this, (cb,):(LuaFunction,)| {
|
||||||
this.callback(move |controller: CodempCursorController| super::ext::callback().invoke(cb.clone(), controller));
|
this.callback(move |controller: CodempCursorController| super::ext::callback().invoke(cb.clone(), controller));
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
use mlua_codemp_patch as mlua;
|
use mlua_codemp_patch as mlua;
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use crate::workspace::DetachResult;
|
|
||||||
|
|
||||||
use super::ext::a_sync::a_sync;
|
use super::ext::a_sync::a_sync;
|
||||||
use super::ext::from_lua_serde;
|
use super::ext::from_lua_serde;
|
||||||
|
@ -18,7 +17,7 @@ impl LuaUserData for CodempWorkspace {
|
||||||
);
|
);
|
||||||
|
|
||||||
methods.add_method("detach", |_, this, (name,):(String,)|
|
methods.add_method("detach", |_, this, (name,):(String,)|
|
||||||
Ok(matches!(this.detach(&name), DetachResult::Detaching | DetachResult::AlreadyDetached))
|
Ok(this.detach(&name))
|
||||||
);
|
);
|
||||||
|
|
||||||
methods.add_method("delete", |_, this, (name,):(String,)|
|
methods.add_method("delete", |_, this, (name,):(String,)|
|
||||||
|
|
|
@ -67,11 +67,6 @@ impl CursorController {
|
||||||
fn pyclear_callback(&self) {
|
fn pyclear_callback(&self) {
|
||||||
self.clear_callback();
|
self.clear_callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pyo3(name = "stop")]
|
|
||||||
fn pystop(&self) -> bool {
|
|
||||||
self.stop()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// need to do manually since Controller is a trait implementation
|
// need to do manually since Controller is a trait implementation
|
||||||
|
@ -137,11 +132,6 @@ impl BufferController {
|
||||||
fn pyclear_callback(&self) {
|
fn pyclear_callback(&self) {
|
||||||
self.clear_callback();
|
self.clear_callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pyo3(name = "stop")]
|
|
||||||
fn pystop(&self) -> bool {
|
|
||||||
self.stop()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// We have to write this manually since
|
// We have to write this manually since
|
||||||
|
|
|
@ -172,9 +172,9 @@ impl Config {
|
||||||
kwds: Option<Bound<'_, PyDict>>,
|
kwds: Option<Bound<'_, PyDict>>,
|
||||||
) -> PyResult<Self> {
|
) -> PyResult<Self> {
|
||||||
if let Some(kwgs) = kwds {
|
if let Some(kwgs) = kwds {
|
||||||
let host = kwgs.get_item("host")?.map(|e| e.extract().ok()).flatten();
|
let host = kwgs.get_item("host")?.and_then(|e| e.extract().ok());
|
||||||
let port = kwgs.get_item("port")?.map(|e| e.extract().ok()).flatten();
|
let port = kwgs.get_item("port")?.and_then(|e| e.extract().ok());
|
||||||
let tls = kwgs.get_item("tls")?.map(|e| e.extract().ok()).flatten();
|
let tls = kwgs.get_item("tls")?.and_then(|e| e.extract().ok());
|
||||||
|
|
||||||
Ok(Config {
|
Ok(Config {
|
||||||
username,
|
username,
|
||||||
|
|
|
@ -23,11 +23,7 @@ impl Workspace {
|
||||||
|
|
||||||
#[pyo3(name = "detach")]
|
#[pyo3(name = "detach")]
|
||||||
fn pydetach(&self, path: String) -> bool {
|
fn pydetach(&self, path: String) -> bool {
|
||||||
match self.detach(path.as_str()) {
|
self.detach(path.as_str())
|
||||||
crate::workspace::DetachResult::NotAttached => false,
|
|
||||||
crate::workspace::DetachResult::Detaching => true,
|
|
||||||
crate::workspace::DetachResult::AlreadyDetached => true,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[pyo3(name = "event")]
|
#[pyo3(name = "event")]
|
||||||
|
|
Loading…
Reference in a new issue