@@ -42,7 +42,7 @@ import {
42
42
DOMFunctions ,
43
43
findElementWithOffset ,
44
44
getCodeElementsInRange ,
45
- getTokenAtPosition ,
45
+ getTokenAtPositionOrRange ,
46
46
HoveredToken ,
47
47
} from './token_position'
48
48
import { HoverAttachment , HoverOverlayProps , isPosition , LineOrPositionOrRange , DocumentHighlight } from './types'
@@ -557,7 +557,7 @@ export function createHoverifier<C extends object, D, A>({
557
557
if ( isPosition ( position ) ) {
558
558
cell = dom . getCodeElementFromLineNumber ( codeView , position . line , position . part )
559
559
if ( cell ) {
560
- target = findElementWithOffset ( cell , position . character , tokenize )
560
+ target = findElementWithOffset ( cell , { offsetStart : position . character } , tokenize )
561
561
if ( target ) {
562
562
part = dom . getDiffCodePart && dom . getDiffCodePart ( target )
563
563
} else {
@@ -628,7 +628,7 @@ export function createHoverifier<C extends object, D, A>({
628
628
// placed in the middle of a token.
629
629
target :
630
630
position && isPosition ( position )
631
- ? getTokenAtPosition ( codeView , position , dom , position . part , tokenize )
631
+ ? getTokenAtPositionOrRange ( codeView , position , dom , position . part , tokenize )
632
632
: target ,
633
633
...rest ,
634
634
} ) ) ,
@@ -770,7 +770,7 @@ export function createHoverifier<C extends object, D, A>({
770
770
. pipe (
771
771
switchMap ( hoverObservable => hoverObservable ) ,
772
772
switchMap ( ( { hoverOrError, position, adjustPosition, codeView, part, ...rest } ) => {
773
- let pos =
773
+ const pos =
774
774
hoverOrError &&
775
775
hoverOrError !== LOADING &&
776
776
! isErrorLike ( hoverOrError ) &&
@@ -789,10 +789,6 @@ export function createHoverifier<C extends object, D, A>({
789
789
} )
790
790
}
791
791
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
-
796
792
const adjustingPosition = adjustPosition
797
793
? from (
798
794
adjustPosition ( {
@@ -813,7 +809,7 @@ export function createHoverifier<C extends object, D, A>({
813
809
switchMap ( ( { scrollBoundaries, hoverOrError, position, codeView, codeViewId, dom, part } ) => {
814
810
const highlightedRange = getHighlightedRange ( { hoverOrError, position } )
815
811
const hoveredTokenElement = highlightedRange
816
- ? getTokenAtPosition ( codeView , highlightedRange . start , dom , part , tokenize )
812
+ ? getTokenAtPositionOrRange ( codeView , highlightedRange , dom , part , tokenize )
817
813
: undefined
818
814
return resetOnBoundaryIntersection ( {
819
815
scrollBoundaries,
@@ -938,7 +934,7 @@ export function createHoverifier<C extends object, D, A>({
938
934
positions . pipe (
939
935
map ( highlightedRanges =>
940
936
highlightedRanges . map ( highlightedRange =>
941
- getTokenAtPosition ( codeView , highlightedRange , dom , part , tokenize )
937
+ getTokenAtPositionOrRange ( codeView , highlightedRange , dom , part , tokenize )
942
938
)
943
939
) ,
944
940
map ( elements => ( { elements, codeView, dom, part } ) )
0 commit comments