diff options
author | Tim Gilbert <timgilbert@gmail.com> | 2014-04-16 18:46:50 -0400 |
---|---|---|
committer | Tim Gilbert <timgilbert@gmail.com> | 2014-04-16 18:46:50 -0400 |
commit | 70a10a2e423d9729b62c7b56faca28889c0d688a (patch) | |
tree | ea48b2c97ef681f5fd95ceec8f4a2a99f7e9f359 | |
parent | 84b7c8aca975566dde86fc90a23d49353e534265 (diff) | |
download | pygments-70a10a2e423d9729b62c7b56faca28889c0d688a.tar.gz |
Tweaking clojure keyword lexing
-rw-r--r-- | pygments/lexers/jvm.py | 2 | ||||
-rw-r--r-- | tests/examplefiles/clojure-weird-keywords.clj | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/pygments/lexers/jvm.py b/pygments/lexers/jvm.py index 4b91e723..6d8a2584 100644 --- a/pygments/lexers/jvm.py +++ b/pygments/lexers/jvm.py @@ -778,7 +778,7 @@ class ClojureLexer(RegexLexer): (r"\\(.|[a-z]+)", String.Char), # keywords - (r'::?' + valid_name, String.Symbol), + (r'::?#?' + valid_name, String.Symbol), # special operators (r'~@|[`\'#^~&@]', Operator), diff --git a/tests/examplefiles/clojure-weird-keywords.clj b/tests/examplefiles/clojure-weird-keywords.clj new file mode 100644 index 00000000..2d914c59 --- /dev/null +++ b/tests/examplefiles/clojure-weird-keywords.clj @@ -0,0 +1,5 @@ +; Note, clojure lexer is here (and is a good deal more liberal than the language spec: +; https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/LispReader.java#L62 + +(defn valid [#^java.lang.reflect.Method meth] + [:keyword :#initial-hash :h#sh-in-middle :hash-at-end# #js {:keyword "value"}]) |