Bruce Hauman has done some work in this area both in figwheel and in a branch
of leiningen.
Basically, if I understand correctly, he looks for misspelled keywords in
configuration maps by taking the levenstein distance between expected, valid,
keywords and non-matching keywords in the configur
I have found eastwood to be useful for a number of things, however on
keyword checking it failed terribly on our code base, though perhaps there
have been updates since I last tried it.
Thanks for the suggestion though.
On Friday, February 3, 2017 at 7:26:01 PM UTC-5, Ben Brinckerhoff wrote:
>
I'm actually planning to do exactly that in Cursive, and it's more or less
what Eastwood does too per the link Ben posted.
On 4 February 2017 at 14:23, Linus Ericsson
wrote:
> It would be great if an editor highlighted a (possibly qualified) keyword
> that was used only in that particular place
It would be great if an editor highlighted a (possibly qualified) keyword
that was used only in that particular place (given all code loaded). This
wouldn't be bullet-proof, but would have highlighted mistakes like
:encypted (but could still confuse :encrypted? with :encrypted, and
whatnot).
/
The eastwood linter can also be configured to look for possibly misspelled
keyword typos
https://github.com/jonase/eastwood#keyword-typos
On Friday, February 3, 2017 at 3:47:21 AM UTC-7, John Schmidt wrote:
>
> I suggest something like (defn fetch-encrypted [] (fetch-important-data
> {:encrypt
I suggest something like (defn fetch-encrypted [] (fetch-important-data
{:encrypt true})) + unit tests
On Friday, February 3, 2017 at 2:56:34 AM UTC+1, Michael Gardner wrote:
>
> What would be the Right Way to deal with typos like (fetch-important-data
> {:encypt true}), where the :encrypt key i
What would be the Right Way to deal with typos like (fetch-important-data
{:encypt true}), where the :encrypt key is optional? Timothy mentions
auto-complete, which is better than nothing but doesn't feel like a real
solution (especially to those who don't use auto-complete).
> On Feb 2, 2017,
A good editor should auto-complete your keywords for you. Since using this
feature in Cursive (same sort of thing is available in other editors) the
cases where I've mis-spelled a keyword have dropped dramatically. It's a
lot harder to mis-spell a keyword when you can just do: :egg/th and
the rest
Ugh, don't do that. Introducing layers that add no value is a bad idea. Just
use the keyword directly.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are
Keyword literals are inherently misspellable and trying to solve that
problem with Spec does not really hit the nail on the head. But there is a
solution: You do not have to use keyword literals very much!
Instead of using, say, :egg/thunder throughout your program, def a var as
:egg/thunder
Hello Alex,
The idea is (as I understand it) that every function should accept any
map and pick keys which it understands. If some keys are critical, then
they should be marked as such in the spec.
Function might iterate over keys and raise an error if there are keys
which belong to the namespac
On Thursday, February 2, 2017 at 10:07:31 AM UTC-5, Alex Miller wrote:
>
> We don't encourage you to do this, but I don't have an easier solution
> than this.
>
Yes, and from the general standpoint of map handling I understand that.
>From the standpoint of functions that take options and don't p
We don't encourage you to do this, but I don't have an easier solution than
this.
On Thursday, February 2, 2017 at 7:05:37 AM UTC-6, Dave Tenny wrote:
>
> I want to specify in clojure spec that only declared keywords are
> permitted in function calls.
> This is to catch what are usually mis-spel
I want to specify in clojure spec that only declared keywords are permitted
in function calls.
This is to catch what are usually mis-spelled or mis-cased keywors passed
via option maps in function calls.
In the fdefs below, the second fdef will catch an invalid call, e.g.
(f 1 {:a 2 :B 3})
but
14 matches
Mail list logo