fix hover provider when using computed attribute in vue template

master
Brad Cornes 2020-06-12 12:30:12 +01:00
parent cfd4e4fd07
commit 30bb96f983
1 changed files with 8 additions and 2 deletions

View File

@ -5,7 +5,10 @@ import { isCssContext, isCssDoc } from './css'
import { isHtmlContext, isHtmlDoc, isSvelteDoc, isVueDoc } from './html' import { isHtmlContext, isHtmlDoc, isSvelteDoc, isVueDoc } from './html'
import { isWithinRange } from './isWithinRange' import { isWithinRange } from './isWithinRange'
import { isJsContext, isJsDoc } from './js' import { isJsContext, isJsDoc } from './js'
import { getClassAttributeLexer } from './lexers' import {
getClassAttributeLexer,
getComputedClassAttributeLexer,
} from './lexers'
export function findAll(re: RegExp, str: string): RegExpMatchArray[] { export function findAll(re: RegExp, str: string): RegExpMatchArray[] {
let match: RegExpMatchArray let match: RegExpMatchArray
@ -107,7 +110,10 @@ export function findClassListsInHtmlRange(
matches.forEach((match) => { matches.forEach((match) => {
const subtext = text.substr(match.index + match[0].length - 1, 200) const subtext = text.substr(match.index + match[0].length - 1, 200)
let lexer = getClassAttributeLexer() let lexer =
match[0][0] === ':'
? getComputedClassAttributeLexer()
: getClassAttributeLexer()
lexer.reset(subtext) lexer.reset(subtext)
let classLists: { value: string; offset: number }[] = [] let classLists: { value: string; offset: number }[] = []