diff --git a/packages/language-clojure/lib/main.js b/packages/language-clojure/lib/main.js index 9adcaef32..48090ef4d 100644 --- a/packages/language-clojure/lib/main.js +++ b/packages/language-clojure/lib/main.js @@ -4,7 +4,14 @@ exports.activate = function() { atom.grammars.addInjectionPoint('source.clojure', { type: 'quoting_lit', language: () => 'source-edn', - content: (node) => node, + content: (node) => { + let parent = node.parent + while(parent) { + if(parent.type === 'dis_expr') return null + parent = parent.parent + } + return node + }, includeChildren: true, languageScope: 'source.edn', coverShallowerScopes: true diff --git a/packages/language-clojure/spec/fixtures/tokens.clj b/packages/language-clojure/spec/fixtures/tokens.clj index 2c0a5948f..065de51cf 100644 --- a/packages/language-clojure/spec/fixtures/tokens.clj +++ b/packages/language-clojure/spec/fixtures/tokens.clj @@ -87,6 +87,13 @@ error/ ; ^ comment.block ; ^ comment.block +#_ +(+ '1 '(:foo)) +; ^ comment.block +; ^ !constant.numeric +; ^ comment.block +; ^ !constant.keyword + (comment 1 2 3) ; ^ keyword.control ; ^ constant.numeric