diff options
author | David Cole <40234707+DavidArthurCole@users.noreply.github.com> | 2024-09-19 13:51:56 -0400 |
---|---|---|
committer | David Cole <40234707+DavidArthurCole@users.noreply.github.com> | 2024-09-19 13:51:56 -0400 |
commit | 6c56b6da4b8f57aa49e9df7bd949f599486e122d (patch) | |
tree | 6fe5c0eac4649e4dea8ea7a2d1cbd4fab2d182ac /src | |
parent | 17f900c1d54ba6007de7e6cf4f62ded5ce0655e3 (diff) | |
download | skyhanni-6c56b6da4b8f57aa49e9df7bd949f599486e122d.tar.gz skyhanni-6c56b6da4b8f57aa49e9df7bd949f599486e122d.tar.bz2 skyhanni-6c56b6da4b8f57aa49e9df7bd949f599486e122d.zip |
Init setup
Diffstat (limited to 'src')
3 files changed, 54 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/detektrules/grammar/AvoidColour.kt b/src/main/java/at/hannibal2/skyhanni/detektrules/grammar/AvoidColour.kt new file mode 100644 index 000000000..4b7fd2276 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/detektrules/grammar/AvoidColour.kt @@ -0,0 +1,38 @@ +package at.hannibal2.skyhanni.detektrules.grammar + +import io.gitlab.arturbosch.detekt.api.CodeSmell +import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.Debt +import io.gitlab.arturbosch.detekt.api.Entity +import io.gitlab.arturbosch.detekt.api.Issue +import io.gitlab.arturbosch.detekt.api.Rule +import io.gitlab.arturbosch.detekt.api.Severity +import org.jetbrains.kotlin.psi.KtStringTemplateExpression + +/** + * This rule reports all usages of the word "colour" in the codebase, + * preferring the 'American' spelling "color" - this will ignore any + * type annotations, i.e., `@ConfigEditorColour` will not be reported. + */ +class AvoidColour(config: Config) : Rule(config) { + override val issue = Issue( + "AvoidColour", + Severity.Style, + "Avoid using the word 'colour' in code, prefer 'color' instead.", + Debt.FIVE_MINS + ) + + override fun visitStringTemplateExpression(expression: KtStringTemplateExpression) { + val text = expression.text + if (text.contains("colour")) { + report( + CodeSmell( + issue, + Entity.from(expression), + "Avoid using the word 'colour' in code, prefer 'color' instead." + ) + ) + } + super.visitStringTemplateExpression(expression) + } +} diff --git a/src/main/java/at/hannibal2/skyhanni/detektrules/grammar/GrammarRuleSetProvider.kt b/src/main/java/at/hannibal2/skyhanni/detektrules/grammar/GrammarRuleSetProvider.kt new file mode 100644 index 000000000..963ce582b --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/detektrules/grammar/GrammarRuleSetProvider.kt @@ -0,0 +1,15 @@ +package at.hannibal2.skyhanni.detektrules.grammar + +import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.RuleSetProvider + +class GrammarRuleSetProvider : RuleSetProvider { + override val ruleSetId: String = "grammar-rules" + + override fun instance(config: Config): RuleSet { + return RuleSet(ruleSetId, listOf( + AvoidColour(config) + )) + } +} diff --git a/src/main/resources/META-INF/services/io.gitlab.arturbosch.detekt.api.RuleSetProvider b/src/main/resources/META-INF/services/io.gitlab.arturbosch.detekt.api.RuleSetProvider new file mode 100644 index 000000000..74e85a359 --- /dev/null +++ b/src/main/resources/META-INF/services/io.gitlab.arturbosch.detekt.api.RuleSetProvider @@ -0,0 +1 @@ +at.hannibal2.skyhanni.detektrules.grammar.GrammarRuleSetProvider |