diff --git a/src/shouldProvide.ts b/src/shouldProvide.ts index e633148..8a2fa2a 100644 --- a/src/shouldProvide.ts +++ b/src/shouldProvide.ts @@ -2,7 +2,8 @@ import { State } from './State'; export function shouldProvide(state: State) { return isImportOrRequire(state.textCurrentLine, state.cursorPosition) - && !startsWithADot(state.textCurrentLine, state.cursorPosition); + && !startsWithADot(state.textCurrentLine, state.cursorPosition) + && !startsWithAnAtSymbol(state.textCurrentLine, state.cursorPosition); } function isImportOrRequire(textCurrentLine: string, position: number): boolean  { @@ -50,8 +51,15 @@ function startsWithADot(textCurrentLine: string, position: number) { && textWithinString[0] === '.'; } +function startsWithAnAtSymbol(textCurrentLine: string, position: number) { + const textWithinString = getTextWithinString(textCurrentLine, position); + return textWithinString + && textWithinString.length > 0 + && /^@[\/]/.test(textWithinString); +} + function getTextWithinString(text: string, position: number): string { const textToPosition = text.substring(0, position); const quoatationPosition = Math.max(textToPosition.lastIndexOf('\"'), textToPosition.lastIndexOf('\'')); return quoatationPosition != -1 ? textToPosition.substring(quoatationPosition + 1, textToPosition.length) : undefined; -} \ No newline at end of file +}