This implementation will not work atm.
We still need to implement a connection between the main thread and the Tokio runtime.
rt.spawn() requires the future to implement Sync, which open_folder() does not.
This is because it contains pointers to GTK4 objects, which aren't thread-safe.
Or, alternatively just use another alternative runtime that doesn't require Sync.
Idk if there are any.
https://gitlab.gnome.org/World/Rust/sourceview5-rs has quite some
features we need missing.
We will contribute some code from our
in-house bindings to them, but for now, we have to switch to our own
bindings.