diff options
Diffstat (limited to 'tests/lexers/clojurescript')
| -rw-r--r-- | tests/lexers/clojurescript/example.txt | 410 |
1 files changed, 410 insertions, 0 deletions
diff --git a/tests/lexers/clojurescript/example.txt b/tests/lexers/clojurescript/example.txt new file mode 100644 index 00000000..5a8a51fa --- /dev/null +++ b/tests/lexers/clojurescript/example.txt @@ -0,0 +1,410 @@ +---input--- + +(ns bounder.core + (:require [bounder.html :as html] + [domina :refer [value set-value! single-node]] + [domina.css :refer [sel]] + [lowline.functions :refer [debounce]] + [enfocus.core :refer [at]] + [cljs.reader :as reader] + [clojure.string :as s]) + (:require-macros [enfocus.macros :as em])) + +(def filter-input + (single-node + (sel ".search input"))) + +(defn project-matches [query project] + (let [words (cons (:name project) + (map name (:categories project))) + to-match (->> words + (s/join "") + (s/lower-case))] + (<= 0 (.indexOf to-match (s/lower-case query))))) + +(defn apply-filter-for [projects] + (let [query (value filter-input)] + (html/render-projects + (filter (partial project-matches query) + projects)))) + +(defn filter-category [projects evt] + (let [target (.-currentTarget evt)] + (set-value! filter-input + (.-innerHTML target)) + (apply-filter-for projects))) + +(defn init-listeners [projects] + (at js/document + ["input"] (em/listen + :keyup + (debounce + (partial apply-filter-for projects) + 500)) + [".category-links li"] (em/listen + :click + (partial filter-category projects)))) + +(defn init [projects-edn] + (let [projects (reader/read-string projects-edn)] + (init-listeners projects) + (html/render-projects projects) + (html/loaded))) + + +---tokens--- +'(' Punctuation +'ns ' Keyword.Declaration +'bounder.core' Name.Variable +'\n ' Text +'(' Punctuation +':require' Literal.String.Symbol +' ' Text +'[' Punctuation +'bounder.html' Name.Variable +' ' Text +':as' Literal.String.Symbol +' ' Text +'html' Name.Variable +']' Punctuation +'\n ' Text +'[' Punctuation +'domina' Name.Variable +' ' Text +':refer' Literal.String.Symbol +' ' Text +'[' Punctuation +'value' Name.Variable +' ' Text +'set-value!' Name.Variable +' ' Text +'single-node' Name.Variable +']' Punctuation +']' Punctuation +'\n ' Text +'[' Punctuation +'domina.css' Name.Variable +' ' Text +':refer' Literal.String.Symbol +' ' Text +'[' Punctuation +'sel' Name.Variable +']' Punctuation +']' Punctuation +'\n ' Text +'[' Punctuation +'lowline.functions' Name.Variable +' ' Text +':refer' Literal.String.Symbol +' ' Text +'[' Punctuation +'debounce' Name.Variable +']' Punctuation +']' Punctuation +'\n ' Text +'[' Punctuation +'enfocus.core' Name.Variable +' ' Text +':refer' Literal.String.Symbol +' ' Text +'[' Punctuation +'at' Name.Variable +']' Punctuation +']' Punctuation +'\n ' Text +'[' Punctuation +'cljs.reader' Name.Variable +' ' Text +':as' Literal.String.Symbol +' ' Text +'reader' Name.Variable +']' Punctuation +'\n ' Text +'[' Punctuation +'clojure.string' Name.Variable +' ' Text +':as' Literal.String.Symbol +' ' Text +'s' Name.Variable +']' Punctuation +')' Punctuation +'\n ' Text +'(' Punctuation +':require-macros' Literal.String.Symbol +' ' Text +'[' Punctuation +'enfocus.macros' Name.Variable +' ' Text +':as' Literal.String.Symbol +' ' Text +'em' Name.Variable +']' Punctuation +')' Punctuation +')' Punctuation +'\n\n' Text + +'(' Punctuation +'def ' Keyword +'filter-input' Name.Variable +' \n ' Text +'(' Punctuation +'single-node' Name.Function +' \n ' Text +'(' Punctuation +'sel' Name.Function +' ' Text +'".search input"' Literal.String +')' Punctuation +')' Punctuation +')' Punctuation +'\n\n' Text + +'(' Punctuation +'defn ' Keyword.Declaration +'project-matches' Name.Variable +' ' Text +'[' Punctuation +'query' Name.Variable +' ' Text +'project' Name.Variable +']' Punctuation +'\n ' Text +'(' Punctuation +'let ' Keyword +'[' Punctuation +'words' Name.Variable +' ' Text +'(' Punctuation +'cons ' Name.Builtin +'(' Punctuation +':name' Literal.String.Symbol +' ' Text +'project' Name.Variable +')' Punctuation +'\n ' Text +'(' Punctuation +'map ' Name.Builtin +'name ' Name.Builtin +'(' Punctuation +':categories' Literal.String.Symbol +' ' Text +'project' Name.Variable +')' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'to-match' Name.Variable +' ' Text +'(' Punctuation +'->>' Name.Function +' ' Text +'words' Name.Variable +'\n ' Text +'(' Punctuation +'s/join' Name.Function +' ' Text +'""' Literal.String +')' Punctuation +'\n ' Text +'(' Punctuation +'s/lower-case' Name.Function +')' Punctuation +')' Punctuation +']' Punctuation +'\n ' Text +'(' Punctuation +'<= ' Name.Builtin +'0' Literal.Number.Integer +' ' Text +'(' Punctuation +'.indexOf' Name.Function +' ' Text +'to-match' Name.Variable +' ' Text +'(' Punctuation +'s/lower-case' Name.Function +' ' Text +'query' Name.Variable +')' Punctuation +')' Punctuation +')' Punctuation +')' Punctuation +')' Punctuation +'\n\n' Text + +'(' Punctuation +'defn ' Keyword.Declaration +'apply-filter-for' Name.Variable +' ' Text +'[' Punctuation +'projects' Name.Variable +']' Punctuation +'\n ' Text +'(' Punctuation +'let ' Keyword +'[' Punctuation +'query' Name.Variable +' ' Text +'(' Punctuation +'value' Name.Function +' ' Text +'filter-input' Name.Variable +')' Punctuation +']' Punctuation +'\n ' Text +'(' Punctuation +'html/render-projects' Name.Function +' \n ' Text +'(' Punctuation +'filter ' Name.Builtin +'(' Punctuation +'partial ' Name.Builtin +'project-matches' Name.Variable +' ' Text +'query' Name.Variable +')' Punctuation +'\n ' Text +'projects' Name.Variable +')' Punctuation +')' Punctuation +')' Punctuation +')' Punctuation +'\n\n' Text + +'(' Punctuation +'defn ' Keyword.Declaration +'filter-category' Name.Variable +' ' Text +'[' Punctuation +'projects' Name.Variable +' ' Text +'evt' Name.Variable +']' Punctuation +'\n ' Text +'(' Punctuation +'let ' Keyword +'[' Punctuation +'target' Name.Variable +' ' Text +'(' Punctuation +'.-currentTarget' Name.Function +' ' Text +'evt' Name.Variable +')' Punctuation +']' Punctuation +'\n ' Text +'(' Punctuation +'set-value!' Name.Function +' ' Text +'filter-input' Name.Variable +' \n ' Text +'(' Punctuation +'.-innerHTML' Name.Function +' ' Text +'target' Name.Variable +')' Punctuation +')' Punctuation +'\n ' Text +'(' Punctuation +'apply-filter-for' Name.Function +' ' Text +'projects' Name.Variable +')' Punctuation +')' Punctuation +')' Punctuation +'\n\n' Text + +'(' Punctuation +'defn ' Keyword.Declaration +'init-listeners' Name.Variable +' ' Text +'[' Punctuation +'projects' Name.Variable +']' Punctuation +'\n ' Text +'(' Punctuation +'at' Name.Function +' ' Text +'js/document' Name.Variable +'\n ' Text +'[' Punctuation +'"input"' Literal.String +']' Punctuation +' ' Text +'(' Punctuation +'em/listen' Name.Function +'\n ' Text +':keyup' Literal.String.Symbol +'\n ' Text +'(' Punctuation +'debounce' Name.Function +'\n ' Text +'(' Punctuation +'partial ' Name.Builtin +'apply-filter-for' Name.Variable +' ' Text +'projects' Name.Variable +')' Punctuation +'\n ' Text +'500' Literal.Number.Integer +')' Punctuation +')' Punctuation +'\n ' Text +'[' Punctuation +'".category-links li"' Literal.String +']' Punctuation +' ' Text +'(' Punctuation +'em/listen' Name.Function +'\n ' Text +':click' Literal.String.Symbol +'\n ' Text +'(' Punctuation +'partial ' Name.Builtin +'filter-category' Name.Variable +' ' Text +'projects' Name.Variable +')' Punctuation +')' Punctuation +')' Punctuation +')' Punctuation +'\n\n' Text + +'(' Punctuation +'defn ' Keyword.Declaration +'init' Name.Variable +' ' Text +'[' Punctuation +'projects-edn' Name.Variable +']' Punctuation +'\n ' Text +'(' Punctuation +'let ' Keyword +'[' Punctuation +'projects' Name.Variable +' ' Text +'(' Punctuation +'reader/read-string' Name.Function +' ' Text +'projects-edn' Name.Variable +')' Punctuation +']' Punctuation +'\n ' Text +'(' Punctuation +'init-listeners' Name.Function +' ' Text +'projects' Name.Variable +')' Punctuation +'\n ' Text +'(' Punctuation +'html/render-projects' Name.Function +' ' Text +'projects' Name.Variable +')' Punctuation +'\n ' Text +'(' Punctuation +'html/loaded' Name.Function +')' Punctuation +')' Punctuation +')' Punctuation +'\n' Text |
