diff --git a/CHANGELOG.md b/CHANGELOG.md index 14aca06..b100a32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ - Drop the ancient Clojure 1.8/1.9/1.10 rows from the CI matrix; test against 1.11, 1.12 and master instead. - Migrate CI from CircleCI to GitHub Actions. -# 0.6.2 (2033-01-14) +## 0.6.2 (2024-01-14) * [#45](https://github.com/clojure-emacs/clj-suitable/issues/45): don't exclude enumerable properties from `Object`. diff --git a/README.md b/README.md index 88efc6c..a7c2000 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![CI](https://github.com/clojure-emacs/clj-suitable/actions/workflows/ci.yml/badge.svg)](https://github.com/clojure-emacs/clj-suitable/actions/workflows/ci.yml) [![Clojars Project](https://img.shields.io/clojars/v/org.rksm/suitable.svg)](https://clojars.org/org.rksm/suitable) [![cljdoc badge](https://cljdoc.org/badge/org.rksm/suitable)](https://cljdoc.org/d/org.rksm/suitable/CURRENT) -[![downloads badge](https://versions.deps.co/org.rksm/suitable/downloads.svg)](https://clojars.org/org.rksm/suitable) +[![downloads badge](https://img.shields.io/clojars/dt/org.rksm/suitable.svg)](https://clojars.org/org.rksm/suitable) `suitable` provides static and dynamic code completion for ClojureScript tools. diff --git a/src/main/suitable/compliment/sources/cljs/ast.cljc b/src/main/suitable/compliment/sources/cljs/ast.cljc deleted file mode 100644 index da2c49c..0000000 --- a/src/main/suitable/compliment/sources/cljs/ast.cljc +++ /dev/null @@ -1,52 +0,0 @@ -(ns suitable.compliment.sources.cljs.ast - (:require [clojure.pprint :refer [pprint *print-right-margin*]] - [clojure.zip :as z]) - #?(:clj (:import [clojure.lang IPersistentList IPersistentMap IPersistentVector ISeq]))) - -(def V #?(:clj IPersistentVector - :cljs PersistentVector)) -(def M #?(:clj IPersistentMap - :cljs PersistentArrayMap)) -(def L #?(:clj IPersistentList - :cljs List)) -(def S ISeq) - -;; Thx @ Alex Miller! http://www.ibm.com/developerworks/library/j-treevisit/ -(defmulti tree-branch? type) -(defmethod tree-branch? :default [_] false) -(defmethod tree-branch? V [v] (not-empty v)) -(defmethod tree-branch? M [m] (not-empty m)) -(defmethod tree-branch? L [_l] true) -(defmethod tree-branch? S [_s] true) -(prefer-method tree-branch? L S) - -(defmulti tree-children type) -(defmethod tree-children V [v] v) -(defmethod tree-children M [m] (->> m seq (apply concat))) -(defmethod tree-children L [l] l) -(defmethod tree-children S [s] s) -(prefer-method tree-children L S) - -(defmulti tree-make-node (fn [node _children] (type node))) -(defmethod tree-make-node V [_v children] - (vec children)) -(defmethod tree-make-node M [_m children] - (apply hash-map children)) -(defmethod tree-make-node L [_ children] - children) -(defmethod tree-make-node S [_node children] - (apply list children)) -(prefer-method tree-make-node L S) - -(defn tree-zipper [node] - (z/zipper tree-branch? tree-children tree-make-node node)) - -(defn print-tree - "for debugging" - [node] - (let [all (take-while (complement z/end?) (iterate z/next (tree-zipper node)))] - (binding [*print-right-margin* 20] - (pprint - (->> all - (map z/node) (zipmap (range)) - sort)))))