mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-30 12:24:25 +02:00
Improve collaborator cursor positioning (#14145)
GitOrigin-RevId: c43f0877700381279c2f79699ea3963c3e9c12b3
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import {
|
||||
MapMode,
|
||||
RangeSet,
|
||||
RangeValue,
|
||||
StateEffect,
|
||||
StateField,
|
||||
Transaction,
|
||||
TransactionSpec,
|
||||
} from '@codemirror/state'
|
||||
import {
|
||||
@@ -67,9 +69,15 @@ export const cursorHighlights = () => {
|
||||
}
|
||||
|
||||
class HighlightRangeValue extends RangeValue {
|
||||
mapMode = MapMode.Simple
|
||||
|
||||
constructor(public highlight: Highlight) {
|
||||
super()
|
||||
}
|
||||
|
||||
eq(other: HighlightRangeValue) {
|
||||
return other.highlight === this.highlight
|
||||
}
|
||||
}
|
||||
|
||||
const cursorHighlightsState = StateField.define<RangeSet<HighlightRangeValue>>({
|
||||
@@ -101,7 +109,7 @@ const cursorHighlightsState = StateField.define<RangeSet<HighlightRangeValue>>({
|
||||
}
|
||||
}
|
||||
|
||||
if (tr.docChanged) {
|
||||
if (tr.docChanged && !tr.annotation(Transaction.remote)) {
|
||||
value = value.map(tr.changes)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user