This unifies the the alternative like yuanmai's fork
This commit is contained in:
parent
07708136f3
commit
d2ead64ecc
1 changed files with 8 additions and 4 deletions
|
@ -32,12 +32,16 @@
|
||||||
([expr]
|
([expr]
|
||||||
(check-form expr all-rules))
|
(check-form expr all-rules))
|
||||||
([expr rules]
|
([expr rules]
|
||||||
(for [[rule alt] rules
|
(for [rule rules
|
||||||
:let [rule-broke (not (nil?
|
; See if a rule is broken, if it is, show a unified alternative
|
||||||
|
:let [[_ alt :as unified-rule] (logic/unifier rule [expr '?alt])
|
||||||
|
rule-broke (not (nil?
|
||||||
(and (sequential? expr)
|
(and (sequential? expr)
|
||||||
(logic/unifier expr rule))))]
|
unified-rule)))]
|
||||||
:when rule-broke]
|
:when rule-broke]
|
||||||
{:message (str "[Kibit] Consider " alt " instead of " expr " at line " (-> expr meta :line))
|
{:message (str "[Kibit] Consider " (if (sequential? alt) (seq alt) alt) " instead of " expr " at line " (-> expr meta :line))
|
||||||
|
:rule rule
|
||||||
|
:unified-rule unified-rule
|
||||||
:line (-> expr meta :line)})))
|
:line (-> expr meta :line)})))
|
||||||
|
|
||||||
(defn check
|
(defn check
|
||||||
|
|
Loading…
Reference in a new issue