aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-css-plugin/src/main/java/org
diff options
context:
space:
mode:
authorAlban Auzeill2019-12-24 11:04:49 +0100
committerElena Vilchik2019-12-24 11:04:49 +0100
commit226b922ded2e29d0968857e4b5d547dbd47c76c8 (patch)
tree3bd5d2949056bdb0331bcca695cfce1f8a23458e /sonar-css-plugin/src/main/java/org
parent54195cb67b2eff8f38fd88d2fedb564242224750 (diff)
downloadsonar-css-226b922ded2e29d0968857e4b5d547dbd47c76c8.tar.bz2
Add parameter for S4660 to define custom pseudo-elements (#220)
Diffstat (limited to 'sonar-css-plugin/src/main/java/org')
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoElementNoUnknown.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoElementNoUnknown.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoElementNoUnknown.java
index c26dfc2..8682859 100644
--- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoElementNoUnknown.java
+++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/SelectorPseudoElementNoUnknown.java
@@ -19,13 +19,41 @@
*/
package org.sonar.css.plugin.rules;
+import java.util.Arrays;
+import java.util.List;
import org.sonar.check.Rule;
+import org.sonar.check.RuleProperty;
+
+import static org.sonar.css.plugin.rules.RuleUtils.splitAndTrim;
@Rule(key = "S4660")
public class SelectorPseudoElementNoUnknown implements CssRule {
+ private static final String DEFAULT_IGNORE_PSEUDO_ELEMENTS = "ng-deep";
+
@Override
public String stylelintKey() {
return "selector-pseudo-element-no-unknown";
}
+
+ @RuleProperty(
+ key = "ignorePseudoElements",
+ description = "Comma-separated list of regular expressions or strings to ignore (e.g. /^custom-/).",
+ defaultValue = "" + DEFAULT_IGNORE_PSEUDO_ELEMENTS)
+ String ignorePseudoElements = DEFAULT_IGNORE_PSEUDO_ELEMENTS;
+
+ @Override
+ public List<Object> stylelintOptions() {
+ return Arrays.asList(true, new StylelintIgnorePseudoElementsOption(splitAndTrim(ignorePseudoElements)));
+ }
+
+ private static class StylelintIgnorePseudoElementsOption {
+ // Used by GSON serialization
+ private final List<String> ignorePseudoElements;
+
+ StylelintIgnorePseudoElementsOption(List<String> ignorePseudoElements) {
+ this.ignorePseudoElements = ignorePseudoElements;
+ }
+ }
+
}