Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F85651464
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/src/services/completion/completion.js b/src/services/completion/completion.js
index df83d03d14..f74f8048eb 100644
--- a/src/services/completion/completion.js
+++ b/src/services/completion/completion.js
@@ -1,70 +1,73 @@
import { reduce, find } from 'lodash'
export const replaceWord = (str, toReplace, replacement) => {
return str.slice(0, toReplace.start) + replacement + str.slice(toReplace.end)
}
+// This seems to work fine
export const wordAtPosition = (str, pos) => {
const words = splitIntoWords(str)
const wordsWithPosition = addPositionToWords(words)
return find(wordsWithPosition, ({ start, end }) => start <= pos && end > pos)
}
+// This works fine
export const addPositionToWords = (words) => {
return reduce(words, (result, word) => {
const data = {
word,
start: 0,
end: word.length
}
if (result.length > 0) {
const previous = result.pop()
data.start += previous.end
data.end += previous.end
result.push(previous)
}
result.push(data)
return result
}, [])
}
+// This needs to be altered, split words at space
export const splitIntoWords = (str) => {
// Split at word boundaries
const regex = /\b/
const triggers = /[@#:]+$/
let split = str.split(regex)
// Add trailing @ and # to the following word.
const words = reduce(split, (result, word) => {
if (result.length > 0) {
let previous = result.pop()
const matches = previous.match(triggers)
if (matches) {
previous = previous.replace(triggers, '')
word = matches[0] + word
}
result.push(previous)
}
result.push(word)
return result
}, [])
return words
}
const completion = {
wordAtPosition,
addPositionToWords,
splitIntoWords,
replaceWord
}
export default completion
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sun, Aug 30, 10:23 PM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1738185
Default Alt Text
(1 KB)
Attached To
Mode
rPUFE pleroma-fe-upstream
Attached
Detach File
Event Timeline
Log In to Comment