This allows update_path_state to be called when filesystem events occur, but is currently very brittle and doesn't properly update files that already have path states initialized.
VKCHFDMCESSKL5AVZB3PNHAX2N2V4KOQ7OOZ6BHZE2AILFBJ2QMAC TextDocument, TextDocumentChangeEvent, TextDocumentContentProvider, Uri, WorkspaceFolder,WorkspaceFoldersChangeEvent,
FileSystemWatcher, TextDocument, TextDocumentChangeEvent, TextDocumentContentProvider, Uri,WorkspaceFolder, WorkspaceFoldersChangeEvent,
#[tracing::instrument(skip_all)]pub fn handle_fs_watcher_event(env: &napi::Env, uri: vscode_sys::Uri) -> Result<(), napi::Error> {let mut extension_state = crate::ExtensionState::get()?;if let Some((repository_path, open_repository)) = extension_state.repositories.get_open_repository_mut(env, &uri)?{let absolute_file_path = Utf8PathBuf::from(uri.get_fs_path()?);let relative_file_path = absolute_file_path.strip_prefix(&repository_path).map_err(|error| {napi::Error::from_reason(format!("Failed to strip prefix {repository_path} from {absolute_file_path}: {error}"))})?.to_path_buf();
let file_system_watcher = vscode_sys::workspace::create_file_system_watcher(env, "**")?;file_system_watcher.on_did_change(env, handle_fs_watcher_event)?;file_system_watcher.on_did_create(env, handle_fs_watcher_event)?;file_system_watcher.on_did_delete(env, handle_fs_watcher_event)?;