@@ -42,7 +42,7 @@ import {
4242 DOMFunctions ,
4343 findElementWithOffset ,
4444 getCodeElementsInRange ,
45- getTokenAtPosition ,
45+ getTokenAtPositionOrRange ,
4646 HoveredToken ,
4747} from './token_position'
4848import { HoverAttachment , HoverOverlayProps , isPosition , LineOrPositionOrRange , DocumentHighlight } from './types'
@@ -557,7 +557,7 @@ export function createHoverifier<C extends object, D, A>({
557557 if ( isPosition ( position ) ) {
558558 cell = dom . getCodeElementFromLineNumber ( codeView , position . line , position . part )
559559 if ( cell ) {
560- target = findElementWithOffset ( cell , position . character , tokenize )
560+ target = findElementWithOffset ( cell , { offsetStart : position . character } , tokenize )
561561 if ( target ) {
562562 part = dom . getDiffCodePart && dom . getDiffCodePart ( target )
563563 } else {
@@ -628,7 +628,7 @@ export function createHoverifier<C extends object, D, A>({
628628 // placed in the middle of a token.
629629 target :
630630 position && isPosition ( position )
631- ? getTokenAtPosition ( codeView , position , dom , position . part , tokenize )
631+ ? getTokenAtPositionOrRange ( codeView , position , dom , position . part , tokenize )
632632 : target ,
633633 ...rest ,
634634 } ) ) ,
@@ -770,7 +770,7 @@ export function createHoverifier<C extends object, D, A>({
770770 . pipe (
771771 switchMap ( hoverObservable => hoverObservable ) ,
772772 switchMap ( ( { hoverOrError, position, adjustPosition, codeView, part, ...rest } ) => {
773- let pos =
773+ const pos =
774774 hoverOrError &&
775775 hoverOrError !== LOADING &&
776776 ! isErrorLike ( hoverOrError ) &&
@@ -789,10 +789,6 @@ export function createHoverifier<C extends object, D, A>({
789789 } )
790790 }
791791
792- // The requested position is is 0-indexed; the code here is currently 1-indexed
793- const { line, character } = pos
794- pos = { line : line + 1 , character : character + 1 , ...pos }
795-
796792 const adjustingPosition = adjustPosition
797793 ? from (
798794 adjustPosition ( {
@@ -813,7 +809,7 @@ export function createHoverifier<C extends object, D, A>({
813809 switchMap ( ( { scrollBoundaries, hoverOrError, position, codeView, codeViewId, dom, part } ) => {
814810 const highlightedRange = getHighlightedRange ( { hoverOrError, position } )
815811 const hoveredTokenElement = highlightedRange
816- ? getTokenAtPosition ( codeView , highlightedRange . start , dom , part , tokenize )
812+ ? getTokenAtPositionOrRange ( codeView , highlightedRange , dom , part , tokenize )
817813 : undefined
818814 return resetOnBoundaryIntersection ( {
819815 scrollBoundaries,
@@ -938,7 +934,7 @@ export function createHoverifier<C extends object, D, A>({
938934 positions . pipe (
939935 map ( highlightedRanges =>
940936 highlightedRanges . map ( highlightedRange =>
941- getTokenAtPosition ( codeView , highlightedRange , dom , part , tokenize )
937+ getTokenAtPositionOrRange ( codeView , highlightedRange , dom , part , tokenize )
942938 )
943939 ) ,
944940 map ( elements => ( { elements, codeView, dom, part } ) )
0 commit comments