# coc-css Css language server extension for [coc.nvim](https://github.com/neoclide/coc.nvim). Uses [vscode-css-languageservice](https://github.com/Microsoft/vscode-css-languageservice) inside. ## Install In your vim/neovim, run the command: ``` :CocInstall coc-css ``` ## Features Coc has support for all features that [vscode-css-languageservice](https://www.npmjs.com/package/vscode-css-languageservice) has. - `doValidation` analyzes an input string and returns syntax and lint errros. - `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. ## Configuration options - **css.enable**: default: `true` - **css.trace.server**: default: `"off"` Valid options: ["off","messages","verbose"] - **css.customData**: default: `[]` - **css.completion.triggerPropertyValueCompletion**: By default, coc.nvim triggers property value completion after selecting a CSS property. Use this setting to disable this behavior., default: `true` - **css.completion.completePropertyWithSemicolon**: Insert semicolon at end of line when completing CSS properties, default: `true` - **css.validate**: default: `true` - **css.colorDecorators.enable**: default: `true` - **css.lint.compatibleVendorPrefixes**: When using a vendor-specific prefix make sure to also include all other vendor-specific properties, default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.vendorPrefix**: When using a vendor-specific prefix also include the standard property, default: `"warning"` Valid options: ["ignore","warning","error"] - **css.lint.duplicateProperties**: Do not use duplicate style definitions, default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.emptyRules**: Do not use empty rulesets, default: `"warning"` Valid options: ["ignore","warning","error"] - **css.lint.importStatement**: Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored., default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.boxModel**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.universalSelector**: The universal selector (*) is known to be slow, default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.zeroUnits**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.fontFaceProperties**: @font-face rule must define 'src' and 'font-family' properties, default: `"warning"` Valid options: ["ignore","warning","error"] - **css.lint.hexColorLength**: Hex colors must consist of three or six hex numbers, default: `"error"` Valid options: ["ignore","warning","error"] - **css.lint.argumentsInColorFunction**: Invalid number of parameters, default: `"error"` Valid options: ["ignore","warning","error"] - **css.lint.unknownProperties**: Unknown property., default: `"warning"` Valid options: ["ignore","warning","error"] - **css.lint.ieHack**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.unknownVendorSpecificProperties**: Unknown vendor specific property., default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.propertyIgnoredDueToDisplay**: Property is ignored due to the display. E.g. with 'display: inline', the width, height, margin-top, margin-bottom, and float properties have no effect, default: `"warning"` Valid options: ["ignore","warning","error"] - **css.lint.important**: Import statements do not load in parallel, default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.float**: Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes., default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.idSelector**: Selectors should not contain IDs because these rules are too tightly coupled with the HTML., default: `"ignore"` Valid options: ["ignore","warning","error"] - **css.lint.unknownAtRules**: Unknown at-rule., default: `"warning"` Valid options: ["ignore","warning","error"] - **less.completion.triggerPropertyValueCompletion**: By default, coc.nvim triggers property value completion after selecting a CSS property. Use this setting to disable this behavior., default: `true` - **less.completion.completePropertyWithSemicolon**: Insert semicolon at end of line when completing CSS properties, default: `true` - **less.validate**: default: `true` - **less.colorDecorators.enable**: default: `true` - **less.lint.compatibleVendorPrefixes**: When using a vendor-specific prefix make sure to also include all other vendor-specific properties, default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.vendorPrefix**: When using a vendor-specific prefix also include the standard property, default: `"warning"` Valid options: ["ignore","warning","error"] - **less.lint.duplicateProperties**: Do not use duplicate style definitions, default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.emptyRules**: Do not use empty rulesets, default: `"warning"` Valid options: ["ignore","warning","error"] - **less.lint.importStatement**: Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored., default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.boxModel**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.universalSelector**: The universal selector (*) is known to be slow, default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.zeroUnits**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.fontFaceProperties**: @font-face rule must define 'src' and 'font-family' properties, default: `"warning"` Valid options: ["ignore","warning","error"] - **less.lint.hexColorLength**: Hex colors must consist of three or six hex numbers, default: `"error"` Valid options: ["ignore","warning","error"] - **less.lint.argumentsInColorFunction**: Invalid number of parameters, default: `"error"` Valid options: ["ignore","warning","error"] - **less.lint.unknownProperties**: Unknown property., default: `"warning"` Valid options: ["ignore","warning","error"] - **less.lint.ieHack**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.unknownVendorSpecificProperties**: Unknown vendor specific property., default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.propertyIgnoredDueToDisplay**: Property is ignored due to the display. E.g. with 'display: inline', the width, height, margin-top, margin-bottom, and float properties have no effect, default: `"warning"` Valid options: ["ignore","warning","error"] - **less.lint.important**: Import statements do not load in parallel, default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.float**: Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes., default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.idSelector**: Selectors should not contain IDs because these rules are too tightly coupled with the HTML., default: `"ignore"` Valid options: ["ignore","warning","error"] - **less.lint.unknownAtRules**: Unknown at-rule., default: `"warning"` Valid options: ["ignore","warning","error"] - **scss.completion.triggerPropertyValueCompletion**: By default, coc.nvim triggers property value completion after selecting a CSS property. Use this setting to disable this behavior., default: `true` - **scss.completion.completePropertyWithSemicolon**: Insert semicolon at end of line when completing CSS properties, default: `true` - **scss.validate**: default: `true` - **scss.colorDecorators.enable**: default: `true` - **scss.lint.compatibleVendorPrefixes**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.vendorPrefix**: default: `"warning"` Valid options: ["ignore","warning","error"] - **scss.lint.duplicateProperties**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.emptyRules**: default: `"warning"` Valid options: ["ignore","warning","error"] - **scss.lint.importStatement**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.boxModel**: Do not use width or height when using padding or border, default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.universalSelector**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.zeroUnits**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.fontFaceProperties**: default: `"warning"` Valid options: ["ignore","warning","error"] - **scss.lint.hexColorLength**: default: `"error"` Valid options: ["ignore","warning","error"] - **scss.lint.argumentsInColorFunction**: default: `"error"` Valid options: ["ignore","warning","error"] - **scss.lint.unknownProperties**: default: `"warning"` Valid options: ["ignore","warning","error"] - **scss.lint.ieHack**: IE hacks are only necessary when supporting IE7 and older, default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.unknownVendorSpecificProperties**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.propertyIgnoredDueToDisplay**: default: `"warning"` Valid options: ["ignore","warning","error"] - **scss.lint.important**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.float**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **scss.lint.idSelector**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.validate**: default: `true` - **wxss.colorDecorators.enable**: default: `true` - **wxss.lint.compatibleVendorPrefixes**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.vendorPrefix**: default: `"warning"` Valid options: ["ignore","warning","error"] - **wxss.lint.duplicateProperties**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.emptyRules**: default: `"warning"` Valid options: ["ignore","warning","error"] - **wxss.lint.importStatement**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.boxModel**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.universalSelector**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.zeroUnits**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.fontFaceProperties**: default: `"warning"` Valid options: ["ignore","warning","error"] - **wxss.lint.hexColorLength**: default: `"error"` Valid options: ["ignore","warning","error"] - **wxss.lint.argumentsInColorFunction**: default: `"error"` Valid options: ["ignore","warning","error"] - **wxss.lint.unknownProperties**: default: `"warning"` Valid options: ["ignore","warning","error"] - **wxss.lint.ieHack**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.unknownVendorSpecificProperties**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.propertyIgnoredDueToDisplay**: default: `"warning"` Valid options: ["ignore","warning","error"] - **wxss.lint.important**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.float**: default: `"ignore"` Valid options: ["ignore","warning","error"] - **wxss.lint.idSelector**: default: `"ignore"` Valid options: ["ignore","warning","error"] ## License MIT