Adds the first Event type, which currently only has a simple handler that creates a SourceControl instance.
NB2MF3MYAJ25KNZP3GMHX42LUSBYOX6FTNLIBK3CQ7CMANFZFEGQC threadsafe_function! {"scm": scm {"createSourceControl":create_source_control(String,String,Option<crate::vscode_sys::reference::UriRef>) -> crate::vscode_sys::reference::SourceControlRef;}}
object_reference!(UriRef: Uri);
use napi::bindgen_prelude::FnArgs;use crate::vscode_sys;pub struct ThreadsafeFunctions {create_source_control: vscode_sys::threadsafe_function::scm::create_source_control::Prototype,}impl ThreadsafeFunctions {pub fn get(env: &napi::Env) -> Result<Self, napi::Error> {Ok(Self {create_source_control:vscode_sys::threadsafe_function::scm::create_source_control::get(env)?,})}pub async fn create_source_control(&self,id: String,name: String,uri: &str,) -> Result<vscode_sys::reference::SourceControlRef, napi::Error> {let arguments = FnArgs::from((id, name, None));self.create_source_control.call_async(arguments).await}}
for event in &event_buffer {match event {Event::OpenWorkspaceFolder { uri } => {// TODO: handle multiple repositories per workspace// TODO: properly handle URIslet source_control_ref = match threadsafe_functions.create_source_control(String::from("pijul"), String::from("Pijul"), uri).await{Ok(source_control_ref) => source_control_ref,Err(error) => {tracing::error!(message = "Unable to create source control", ?error);continue;}};}}}