mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-29 20:11:32 +02:00
Select matched text when a file is opened from a full project search result (#23139)
GitOrigin-RevId: bd3b66e89b70c4fa1d77e401d9e5fa755876ce9f
This commit is contained in:
@@ -246,7 +246,8 @@ export const EditorManagerProvider: FC = ({ children }) => {
|
||||
goToLineEmitter(
|
||||
options.gotoLine,
|
||||
options.gotoColumn ?? 0,
|
||||
options.syncToPdf ?? false
|
||||
options.syncToPdf ?? false,
|
||||
options.selectionLength
|
||||
)
|
||||
},
|
||||
[goToLineEmitter]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export interface GotoLineOptions {
|
||||
gotoLine: number
|
||||
gotoColumn?: number
|
||||
selectionLength?: number
|
||||
syncToPdf?: boolean
|
||||
}
|
||||
|
||||
@@ -134,14 +134,17 @@ const dispatchSelectionAndScroll = (
|
||||
export const setCursorLineAndScroll = (
|
||||
view: EditorView,
|
||||
lineNumber: number,
|
||||
columnNumber = 0
|
||||
columnNumber = 0,
|
||||
selectionLength?: number
|
||||
) => {
|
||||
// TODO: map the position through any changes since the previous compile?
|
||||
|
||||
let selectionRange
|
||||
try {
|
||||
const pos = findValidPosition(view.state.doc, lineNumber, columnNumber)
|
||||
selectionRange = EditorSelection.cursor(pos)
|
||||
selectionRange = selectionLength
|
||||
? EditorSelection.range(pos, pos + selectionLength)
|
||||
: EditorSelection.cursor(pos)
|
||||
} catch (error) {
|
||||
// ignore invalid cursor position
|
||||
debugConsole.debug('invalid cursor position', error)
|
||||
|
||||
@@ -468,8 +468,8 @@ function useCodeMirrorScope(view: EditorView) {
|
||||
const emitSyncToPdf = useScopeEventEmitter('cursor:editor:syncToPdf')
|
||||
|
||||
const handleGoToLine = useCallback(
|
||||
(event, lineNumber, columnNumber, syncToPdf) => {
|
||||
setCursorLineAndScroll(view, lineNumber, columnNumber)
|
||||
(event, lineNumber, columnNumber, syncToPdf, selectionLength) => {
|
||||
setCursorLineAndScroll(view, lineNumber, columnNumber, selectionLength)
|
||||
if (syncToPdf) {
|
||||
emitSyncToPdf()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user