You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this case, the some-func part of the name some-func' becomes clojureFunc while the ' becomes clojureQuote, resulting in a name with two colors in it, which can be confusing. Normally, the name in the let should be a clojureSymbol, but it seems that because some-func is also a function this happens somehow.
The text was updated successfully, but these errors were encountered:
In this case, the some-func part of the name some-func' becomes clojureFunc while the ' becomes clojureQuote, resulting in a name with two colors in it, which can be confusing. Normally, the name in the let should be a clojureSymbol, but it seems that because some-func is also a function this happens somehow.
Yes, this is a problem with the way vim-clojure-static handles single quotes. We use syntax keyword statements to match known symbols, but since we cannot include ' in the iskeywords setting¹, symbols with single quotes are broken in this way.
Now we could avoid this problem by using syntax match instead of syntax keyword, but there is a significant performance hit because while matching syntax keyword is a simple table lookup, matching a syntax match requires a full regexp match.
My benchmarks showed that the performance hit was ~8-10x when translating to simple regexps, while the hit was about ~2x when using frak optimized regexps.
2x is pretty good, but IMO, the Clojure syntax is already a little slow, so I decided against the switch.
Names that contain ' become clojureSymbol instead of clojureFunc when using vim-clojure-highlight.
Now this is a bug! I'll have a look at it today. Thanks!
¹ That would break quoting and the #' reader macro
Not sure if this is a vim-clojure-static or vim-clojure-highlight issue.
Names that contain
'
becomeclojureSymbol
instead ofclojureFunc
when using vim-clojure-highlight.Also, another problem with
'
is the following:In this case, the
some-func
part of the namesome-func'
becomesclojureFunc
while the'
becomesclojureQuote
, resulting in a name with two colors in it, which can be confusing. Normally, the name in the let should be aclojureSymbol
, but it seems that becausesome-func
is also a function this happens somehow.The text was updated successfully, but these errors were encountered: