Skip to content

Commit 939b552

Browse files
committed
2 parents d5f2aa5 + 170842d commit 939b552

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

typescript/src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import * as emmet from '@vscode/emmet-helper'
55
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
66
//@ts-ignore
77
import type { Configuration } from '../../src/configurationType'
8+
import isInBannedPosition from './isInBannedPosition'
89

910
export = function ({ typescript }: { typescript: typeof import('typescript/lib/tsserverlibrary') }) {
1011
const ts = typescript
@@ -53,8 +54,7 @@ export = function ({ typescript }: { typescript: typeof import('typescript/lib/t
5354
const sourceFile = program?.getSourceFile(fileName)
5455
if (!program || !sourceFile) return
5556
const scriptSnapshot = info.project.getScriptSnapshot(fileName)
56-
const { line, character } = info.languageService.toLineColumnOffset!(fileName, position)
57-
if (!scriptSnapshot) return
57+
if (!scriptSnapshot || isInBannedPosition(position, fileName, scriptSnapshot, sourceFile, info.languageService)) return
5858
let prior = info.languageService.getCompletionsAtPosition(fileName, position, options)
5959
// console.log(
6060
// 'raw prior',
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import type tslib from 'typescript/lib/tsserverlibrary'
2+
3+
export default (
4+
position: number,
5+
fileName: string,
6+
scriptSnapshot: tslib.IScriptSnapshot,
7+
sourceFile: tslib.SourceFile,
8+
languageService: tslib.LanguageService,
9+
): boolean => {
10+
const { character } = languageService.toLineColumnOffset!(fileName, position)
11+
const textBeforePositionLine = scriptSnapshot?.getText(position - character, position)
12+
const textAfterPositionLine = scriptSnapshot?.getText(position, sourceFile.getLineEndOfPosition(position))
13+
if (textBeforePositionLine.trimStart() === 'import ' && textAfterPositionLine.trimStart().startsWith('from')) return true
14+
return false
15+
}

0 commit comments

Comments
 (0)