Releases: candid82/joker
Releases · candid82/joker
v0.11.0
General improvements
- added
joker.repl
namespace - added
:ns
and:name
to vars' meta - added
joker.os/chdir
(thanks @jcburley!) - added Joker versions of
clojure.template
andclojure.walk
namespaces (thanks @jcburley!) - added min and max arity reporting in some error messages (thanks @jcburley!)
- added multimethods support (thanks @jcburley!)
defmacro
now returns the var- fixed arity error message when calling macros
- implemented
refer-clojure
Linter improvements
- added
re-find
with arity 1 - fixed
this
insideproxy
(thanks @conormcd!) - Joker now evaluates
in-ns
when linting. This results in more accurate error messages (pointing to the current namespace rather thanuser
namespace). IMPORTANT: if you have.jokerd/linter.*
files, you might have to add(in-ns 'joker.core)
at the top to make sure your definitions reside injoker.core
namespace and are therefore referred in the namespace being linted.
Fixes
- only public
joker.core
vars are now referred inuser
namespace (previously, private vars were referred as well)
v0.10.2
General improvements
- changed
--
to mean only end of Joker options, never stdin. Use-
for stdin. (Thanks @jcburley) - added new core function:
requiring-resolve
(from Clojure 1.10) - added socket REPL (for example,
joker --repl localhost:8080
). Thanks @jcburley!
Linter improvements
- made Joker aware of more Clojure core's vars, including new vars introduced in Clojure 1.10
- Joker now warns on odd number of clauses in
cond->
andcond->>
Fixes
- fixed
read-line
to read entire lines (thanks @jcburley)
v0.10.1
General improvements
joker.os/sh
andjoker.os/sh-from
now return integer exit code in:exit
key. (Thanks @jcburley!)- added new command line flag
--no-readline
. It disables readline functionality in the repl. Useful if joker is called withrlwrap
. - added new functions from Clojure 1.10:
joker.core/ex-cause
,joker.core/ex-message
- Joker now prints result of evaluating
-e <expr>
if notnil
- for consistency with Clojure,
(str <ns>)
now returns namespace's name, while(pr <ns>)
prints#object[Namespace "<name>"]
. - command line option
--expr
is renamed to--eval
(for consistency with Clojure). (Thanks @jcburley)
Linter improvements
- made Joker aware of new Clojure 1.10 functions:
add-tap
,remove-tap
,tap>
,read+string
,PrintWriter-on
- warn on shadowed unused binding (see #96)
- warn on fn form with empty body. The warning is behind
:fn-with-empty-body
flag (defaults to true). - warn on unused fn parameters. The warning is behind
:unused-fn-parameters
flag (defaults to false). See #97 - suppress
unused binding
orunused parameter
warnings if the name starts with underscore. - made Joker aware of
*data-readers*
Fixes
- fixed indentation when pretty-printing seqs.
v0.10.0
General improvements
- Improved command line parsing. Thanks @jcburley!
- command-line-args now correctly returns a seq of arguments passed to the script rather than a vector of arguments passed to joker itself. Thanks @jcburley!
- Added support for CPU and memory profiling. Thanks @jcburley!
- Significantly improved Joker's startup time by pre-parsing joker.core code and storing the AST in a binary format.
v0.9.7
v0.9.6
General improvements
- added
joker.url
namespace to standard library for encoding / decoding urls.
Linter improvements
- improved support for user declarations (
.jokerd/linter.clj
) - fixed arities for
spit
andslurp
- fixed
:include-macros
linting in ClojureScript (thanks @benalbrecht !) - Joker now exits with code 1 if there are any linter warnings or errors