fn compute_char_idx()

in crates/llm-ls/src/document.rs [240:254]


                fn compute_char_idx(
                    position_encoding: PositionEncodingKind,
                    position: &Position,
                    slice: &RopeSlice,
                ) -> Result<usize> {
                    Ok(match position_encoding {
                        PositionEncodingKind::Utf8 => {
                            slice.try_byte_to_char(position.character as usize)?
                        }
                        PositionEncodingKind::Utf16 => {
                            slice.try_utf16_cu_to_char(position.character as usize)?
                        }
                        PositionEncodingKind::Utf32 => position.character as usize,
                    })
                }