@@ -3,7 +3,7 @@ import type tslib from 'typescript/lib/tsserverlibrary'
33// import * as emmet from '@vscode/emmet-helper'
44import isInBannedPosition from './completions/isInBannedPosition'
55import { GetConfig } from './types'
6- import { findChildContainingPosition } from './utils'
6+ import { findChildContainingExactPosition , findChildContainingPosition } from './utils'
77import indexSignatureAccessCompletions from './completions/indexSignatureAccess'
88import fixPropertiesSorting from './completions/fixPropertiesSorting'
99import { isGoodPositionBuiltinMethodCompletion } from './completions/isGoodPositionMethodCompletion'
@@ -49,7 +49,7 @@ export const getCompletionsAtPosition = (
4949 /** node that is one character behind
5050 * useful as in most cases we work with node that is behind the cursor */
5151 const leftNode = findChildContainingPosition ( ts , sourceFile , position - 1 )
52- const tokenAtPosition = tsFull . getTokenAtPosition ( sourceFile as any , position ) as ts . Node
52+ const exactNode = findChildContainingExactPosition ( sourceFile , position )
5353 if ( [ '.jsx' , '.tsx' ] . some ( ext => fileName . endsWith ( ext ) ) ) {
5454 // #region JSX tag improvements
5555 if ( node ) {
@@ -160,7 +160,7 @@ export const getCompletionsAtPosition = (
160160 } )
161161
162162 if ( c ( 'suggestions.keywordsInsertText' ) === 'space' ) {
163- prior . entries = keywordsSpace ( prior . entries , scriptSnapshot , position , tokenAtPosition )
163+ prior . entries = keywordsSpace ( prior . entries , scriptSnapshot , position , exactNode )
164164 }
165165
166166 if ( leftNode && c ( 'switchExcludeCoveredCases' ) ) prior . entries = switchCaseExcludeCovered ( prior . entries , position , sourceFile , leftNode ) ?? prior . entries
0 commit comments