THese have been replaced by the event model and are now redundant.
WHONMLLS7UOWCW7YQMY5J6Q3ZF34HF6RFD5NOZIU2UBTUVEXNF3QC WFWTKCJNC4VSURSQWE5FXJGTEJJOCDMQ6LN2O6EW2DNOVT2ZUMRQC 72K45XKDA7R3R4I7ZOMZAA2433VR4SD7C7I5K6PCE6RTYL545GGQC 6AUGQLIKK6WY3ZB3ZQ4PCN6NXRLP65CLF2YMOTDDAP6QQAIGGELQC NB2MF3MYAJ25KNZP3GMHX42LUSBYOX6FTNLIBK3CQ7CMANFZFEGQC M5RW5PN4VFYZOKHUFMVWR2XAUAXHUYROVZFTS3RIE7AAUGTVHAEQC QY4DF3NMDBZQ4IJQJIYRWKQ66FWMFQUSASMEBNG5ROXDHTWI2J4QC 3TWMKU4MTPZAYZ7X3QQBUV3HFMLKQWHCFAP26POW4HTWDND53QHAC let mut program_state = ExtensionState::get()?;if let Some((repository_path, open_repository)) = program_state.repositories.get_open_repository_mut(env, &document_uri)?{let absolute_document_path = Utf8PathBuf::from(document_uri.get_fs_path()?);tracing::debug!(?absolute_document_path);let relative_document_path = absolute_document_path.strip_prefix(&repository_path).map_err(|error| napi::Error::from_reason(format!("Failed to strip prefix {repository_path} from {absolute_document_path}: {error}")))?;for change_event in change_events {let character_offset = change_event.get_range_offset()?;let characters_replaced = change_event.get_range_length()?;let replacement_text = change_event.get_text()?;open_repository.repository.update_open_file(relative_document_path,character_offset as usize,characters_replaced as usize,&replacement_text,).map_err(|error| {napi::Error::from_reason(format!("Unable to update open file {relative_document_path} ({absolute_document_path}): {error}"))})?;}// // Re-render the inline credit annotation// let text_editor = open_repository// .get_text_editor(env, relative_document_path)?// .ok_or_else(|| {// napi::Error::from_reason(format!(// "no open text editor for {absolute_document_path}"// ))// })?;// inline_credit::render(env, &program_state, &text_editor)?;}