|
1 | 1 | import type { TextDocument, Position } from 'vscode-languageserver'
|
2 | 2 | import { isInsideTag, isVueDoc, isSvelteDoc, isHtmlDoc } from './html'
|
| 3 | +import { isJsDoc } from './js' |
3 | 4 | import { State } from './state'
|
4 | 5 |
|
5 |
| -export const CSS_LANGUAGES = [ |
6 |
| - 'css', |
7 |
| - 'less', |
8 |
| - 'postcss', |
9 |
| - 'sass', |
10 |
| - 'scss', |
11 |
| - 'stylus', |
12 |
| - 'sugarss', |
13 |
| -] |
| 6 | +export const CSS_LANGUAGES = ['css', 'less', 'postcss', 'sass', 'scss', 'stylus', 'sugarss'] |
14 | 7 |
|
15 | 8 | export function isCssDoc(state: State, doc: TextDocument): boolean {
|
16 |
| - const userCssLanguages = Object.keys( |
17 |
| - state.editor.userLanguages |
18 |
| - ).filter((lang) => CSS_LANGUAGES.includes(state.editor.userLanguages[lang])) |
| 9 | + const userCssLanguages = Object.keys(state.editor.userLanguages).filter((lang) => |
| 10 | + CSS_LANGUAGES.includes(state.editor.userLanguages[lang]) |
| 11 | + ) |
19 | 12 |
|
20 | 13 | return [...CSS_LANGUAGES, ...userCssLanguages].indexOf(doc.languageId) !== -1
|
21 | 14 | }
|
22 | 15 |
|
23 |
| -export function isCssContext( |
24 |
| - state: State, |
25 |
| - doc: TextDocument, |
26 |
| - position: Position |
27 |
| -): boolean { |
| 16 | +export function isCssContext(state: State, doc: TextDocument, position: Position): boolean { |
28 | 17 | if (isCssDoc(state, doc)) {
|
29 | 18 | return true
|
30 | 19 | }
|
31 | 20 |
|
32 |
| - if (isHtmlDoc(state, doc) || isVueDoc(doc) || isSvelteDoc(doc)) { |
| 21 | + if (isHtmlDoc(state, doc) || isVueDoc(doc) || isSvelteDoc(doc) || isJsDoc(state, doc)) { |
33 | 22 | let str = doc.getText({
|
34 | 23 | start: { line: 0, character: 0 },
|
35 | 24 | end: position,
|
|
0 commit comments