Moves the existing threadsafe_function.rs into js_function/mod.rs, and splits initialize_source_control into its own file. Most of the noise is changing terminology from "threadsafe function" to "js function" to better clarify its purpose.
QY4Z5ZXZ7G6DZFCTRPX7D6TIDZ5DHSDTLOWFDANIPUHOEKQRAIXAC 3YGYMEXVHOHRQVPC53MVPSLI2ZJM77MBPWNPDDCL56DNCPUC6XTAC TDTLSDFGULJHKRAYASY4NMCRPY6CFK4KFGTHKB6AHZWMWPCULHQAC NB2MF3MYAJ25KNZP3GMHX42LUSBYOX6FTNLIBK3CQ7CMANFZFEGQC XDFSAPI75FQXHD3ZMYBEGROQ35VQC3WQFQ5EJQAWUXTCKR2N62LAC MGJ23FHFUNT4RSJP3AW5ZALGEDTNZPR4PLHLPOCFNEBIX2WHV2JAC OUADGWKR6A7G3UHCLSC7AWLJIMS45Y56NPVTQ7FENJPYNTAMXXMAC 2ZAM5V35CAQD5MOFPZEGU4ERQ2FM5CL5MB2DOJDW2ZQ74IQFBISQC SLTXBK5GTNH3PUZNA5VG7IDICV3NZPWSCTJSE4YPOQEDMWO67PIQC TWEUQ64DU5ZXAEG67GQSS7GDEZ2O2JR5352WRVIIUK5J7ZOMO5QAC mod initialize_source_control {use napi::bindgen_prelude::{FnArgs, FunctionCallContext};use crate::vscode_sys;pub type Arguments = (vscode_sys::reference::UriRef, String, String, String);pub type Return = (vscode_sys::reference::SourceControlRef,vscode_sys::reference::SourceControlResourceGroupRef,vscode_sys::reference::SourceControlResourceGroupRef,);pub type Prototype = napi::threadsafe_function::ThreadsafeFunction<FnArgs<Arguments>,Return,FnArgs<Arguments>,napi::Status,false,false,0,>;pub fn build(env: &napi::Env) -> Result<Prototype, napi::Error> {env.create_function_from_closure("initialize_source_control", callback)?.build_threadsafe_function().build()}fn callback(function_call_context: FunctionCallContext) -> Result<Return, napi::Error> {let (repository_uri_ref, pijul_label, changes_label, untracked_label): Arguments =function_call_context.args()?;let source_control = vscode_sys::scm::create_source_control(function_call_context.env,"pijul",&pijul_label,&repository_uri_ref.get_inner(function_call_context.env)?,)?;let unrecorded_changes = source_control.create_resource_group("changes", &changes_label)?;let untracked_paths =source_control.create_resource_group("untracked", &untracked_label)?;Ok((source_control.create_ref()?,unrecorded_changes.create_ref()?,untracked_paths.create_ref()?,))}}
use napi::bindgen_prelude::{FnArgs, FunctionCallContext};use crate::vscode_sys;pub type Arguments = (vscode_sys::reference::UriRef, String, String, String);pub type Return = (vscode_sys::reference::SourceControlRef,vscode_sys::reference::SourceControlResourceGroupRef,vscode_sys::reference::SourceControlResourceGroupRef,);pub type Prototype = napi::threadsafe_function::ThreadsafeFunction<FnArgs<Arguments>,Return,FnArgs<Arguments>,napi::Status,false,false,0,>;pub fn build(env: &napi::Env) -> Result<Prototype, napi::Error> {env.create_function_from_closure("initialize_source_control", callback)?.build_threadsafe_function().build()}fn callback(function_call_context: FunctionCallContext) -> Result<Return, napi::Error> {let (repository_uri_ref, pijul_label, changes_label, untracked_label): Arguments =function_call_context.args()?;let source_control = vscode_sys::scm::create_source_control(function_call_context.env,"pijul",&pijul_label,&repository_uri_ref.get_inner(function_call_context.env)?,)?;let unrecorded_changes = source_control.create_resource_group("changes", &changes_label)?;let untracked_paths = source_control.create_resource_group("untracked", &untracked_label)?;Ok((source_control.create_ref()?,unrecorded_changes.create_ref()?,untracked_paths.create_ref()?,))}