joker

Small Clojure interpreter, linter and formatter.

EPL-1.0 License

Stars
1.6K

Bot releases are hidden (Show)

joker -

Published by candid82 over 7 years ago

General improvements

  • added joker.core/doto macro
  • added some Clojure 1.9 functions: boolean?, any?, int?, pos-int?, neg-int?, nat-int?, double?, simple-ident?, qualified-ident?, simple-symbol?, qualified-symbol?, simple-keyword?, qualified-keyword?, seqable?, indexed?, bounded-count,

Linter improvements

{:known-macros [...]
 :rules {:if-without-else true}}
  • added :ignored-unused-namespaces option in .joker file to hide a warning on an unused namespace (thanks @joelash for this contribution). If you want Joker to ignore some unused namespaces (i.e. if they are required for their side effects), you can list them in :ignored-unused-namespaces vector. For example:
{:known-macros [...]
 :rules {...}
 :ignored-unused-namespaces [foo.bar]}
  • more warnings on invalid function calls (i.e. ("oops") will now result in a warning)

Fixes

  • fixed unused binding warning in desctructured maps
  • fixed recur in try, catch and finally
joker -

Published by candid82 over 7 years ago

General improvements

Linter improvements

  • warning on duplicate require
  • linter now tries to find .joker file in the directory of the file it's linting, as well as all parent directories up to the root. Falls back to ~/.joker. See https://github.com/candid82/joker/issues/7.

Fixes

  • fix require of standard namespaces
joker -

Published by candid82 over 7 years ago

Linter improvements

  • warning on unused namespaces, vars and bindings
  • understand 3-arity deref

Fixes

  • fix reading .joker file on Windows
  • allow interning vars with the same names as built-in types
  • fix reading regexes with quotes
joker -

Published by candid82 over 7 years ago

General improvements

  • partial support for reader conditionals (no splicing)
  • new core functions: pr-err, prn-err, print-err, println-err
  • new joker.string function: trim-space
  • binaries are built with Go 1.8

Linter improvements

  • warning on let with empty bindings vector
  • understand common core.async macros
  • much better error reporting for standard macros (defn, fn, for, ns etc)
  • warning on empty cond
  • warning on threading macros with no forms
  • understand more standard Clojure(Script) vars (i.e. *clojure-version*)
  • understand all standard ClojureScript macros (i.e. this-as)

Fixes

  • re-find now returns nil if there is no match
  • namespaced keywords are now fully supported
joker -

Published by candid82 over 7 years ago

  • linter now assumes that external vars hold functions, not macros, and therefore performs symbol resolution inside the calls of external vars. PLEASE NOTE that this may lead to false positives unless you specify known macros in ~/.joker file. Please see Reducing false positives for more details.
  • --lint option now automatically detects Clojure dialect by file extension.
  • standard namespaces now have joker. prefix in their names: joker.core, joker.string etc instead of core, string. This is a BREAKING CHANGE.
joker -

Published by candid82 over 7 years ago

  • many linter improvement
joker -

Published by candid82 over 7 years ago

  • fixes in linter's symbol resolution
joker -

Published by candid82 over 7 years ago

  • bug fixes
  • linter mode is now triggered by --lint flag, not --parse
  • linter now outputs an error if it cannot resolve a symbol
joker - v0.5.0

Published by candid82 almost 8 years ago

Package Rankings
Top 6.97% on Proxy.golang.org
Badges
Extracted from project README
CircleCI