|
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