Package Exports
- vscode-css-languageservice
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (vscode-css-languageservice) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
vscode-css-languageservice
Language services for CSS, LESS and SCSS
Why?
The vscode-css-languageservice contains the language smarts behind the CSS, LESS and SCSS editing experience of Visual Studio Code and the Monaco editor.
- doValidation analyses an input string and returns syntax and lint errors.
- doComplete provides completion proposals for a given location.
- doHover provides a hover text for a given location.
- findDefinition finds the definition of the symbol at the given location.
- findReferences finds all references to the symbol at the given location.
- findDocumentHighlights finds all symbols connected to the given location.
- findDocumentSymbols provides all symbols in the given document
- doCodeActions evaluates code actions for the given location, typically to fix a problem.
- findColorSymbols evaluates all color symbols in the given document
- doRename renames all symbols connected to the given location.
- getFoldingRanges returns folding ranges in the given document.
Installation
npm install --save vscode-css-languageservice
API
export interface LanguageService {
configure(raw: LanguageSettings): void;
doValidation(document: TextDocument, stylesheet: Stylesheet, documentSettings?: LanguageSettings): Diagnostic[];
parseStylesheet(document: TextDocument): Stylesheet;
doComplete(document: TextDocument, position: Position, stylesheet: Stylesheet): CompletionList;
setCompletionParticipants(registeredCompletionParticipants: ICompletionParticipant[]): void;
doHover(document: TextDocument, position: Position, stylesheet: Stylesheet): Hover | null;
findDefinition(document: TextDocument, position: Position, stylesheet: Stylesheet): Location | null;
findReferences(document: TextDocument, position: Position, stylesheet: Stylesheet): Location[];
findDocumentHighlights(document: TextDocument, position: Position, stylesheet: Stylesheet): DocumentHighlight[];
findDocumentSymbols(document: TextDocument, stylesheet: Stylesheet): SymbolInformation[];
doCodeActions(document: TextDocument, range: Range, context: CodeActionContext, stylesheet: Stylesheet): Command[];
doCodeActions2(document: TextDocument, range: Range, context: CodeActionContext, stylesheet: Stylesheet): CodeAction[];
findDocumentColors(document: TextDocument, stylesheet: Stylesheet): ColorInformation[];
getColorPresentations(document: TextDocument, stylesheet: Stylesheet, color: Color, range: Range): ColorPresentation[];
doRename(document: TextDocument, position: Position, newName: string, stylesheet: Stylesheet): WorkspaceEdit;
getFoldingRanges(document: TextDocument, context?: { rangeLimit?: number; }): FoldingRange[];
getSelectionRanges(document: TextDocument, positions: Position[], stylesheet: Stylesheet): SelectionRange[];
}
export interface LanguageSettings {
validate?: boolean;
lint?: any;
}
Development
Note: All CSS entites (properties, at-rules, etc) are sourced from https://github.com/microsoft/vscode-custom-data/tree/master/web-data and transpiled here. For adding new property or fixing existing properties' completion/hover description, please open PR there).
How can I run and debug this node module?
- clone, npm install
- open the folder in VSCode.
- set breakpoints, e.g. in
cssCompletion.ts
- run JUnit tests from the debug viewlet and wait until a breakpoint is hit:
In VSCode:
- run VSCode out of sources as described here: https://github.com/Microsoft/vscode/wiki/How-to-Contribute
- in the instance run from sources open a
.css
file
- in the instance run from sources open a
- open a VSCode on the VSCode source
- run command
Debug: Attach to Node process
and pick the process with thecss-language-features
path - Set a breakpoint in
extensions/css-language-features/server/node_modules/vscode-css-languageservice/lib/umd/services/cssCompletion.js
- run command
- in the instance run from sources invoke code completion in the .css file
- use
yarn link vscode-css-languageservice
inextensions/css-language-features/server
to run VSCode with your changes tovscode-css-languageservice
License
(MIT License)
Copyright 2016, 2019 Microsoft
With the exceptions of build/mdn-documentation.js
, which is built upon content from Mozilla Developer Network
and distributed under CC BY-SA 2.5.