MCPcopy Create free account
hub / github.com/editablejs/editable / getWordBackward

Function getWordBackward

packages/editor/src/utils/text.ts:119–134  ·  view source on GitHub ↗
(text: string, offset: number)

Source from the content-addressed store, hash-verified

117}
118
119export const getWordBackward = (text: string, offset: number) => {
120 let currentChar = getCharFromGraphemeBreaker(text, offset, true)
121 let backwardOffset = offset - 1
122 for (; backwardOffset >= 0; ) {
123 const backwardChar = getCharFromGraphemeBreaker(text, backwardOffset, true)
124 if (equalOfCharacterType(currentChar, backwardChar)) {
125 backwardOffset -= backwardChar.length
126 } else break
127 }
128 if (offset - backwardOffset > 1) {
129 const wordText = text.substring(backwardOffset, offset)
130 const { offset: wordOffset } = splitTextOfWord(wordText)
131 backwardOffset += wordOffset
132 }
133 return text.substring(backwardOffset < 0 ? 0 : backwardOffset, offset)
134}
135
136export const getWordOffsetBackward = (text: string, offset: number) => {
137 return offset - getWordBackward(text, offset).length

Callers 1

getWordOffsetBackwardFunction · 0.85

Calls 3

equalOfCharacterTypeFunction · 0.85
splitTextOfWordFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…