- #77 Add ability
to tune Compliment behavior with var's metadata
- #79 Fix
completion of Java packages/classes on Windows.
- Silence reflection Complete local bindings declared in
:strs
and :syms
map destructuring. - #75 Suppress
reflection warnings in JDK9-related code.
- Complete local bindings declared in
:strs
and :syms
map destructuring. - #71 Allow to
explicitly filter sources when calling
compliment.core/documentation
.
- #53 Make context
scanning more robust to unfinished forms.
- Fix not completing methods/fields for freshly imported classes.
- #58 Complete
members for unimportant class if the context class is found.
- Retrieve context class from next form's type tag or from type tag of the same
symbol if it was tagged in the same lexical scope.
- Fix completion of unimported classes on JDK9+.
- Drop support for JDK1.7 and Clojure 1.7. They might still work for some time
but it is not guaranteed.
- #50 Fixed
namespace
user
overriding the alias user
when suggesting candidates.
- Complete local bindings introduced by
letfn
, with-open
, dotimes
, and
as->
.
Bugfix release.
- #47 Don't throw
NPE when completing
::/
.
- #43 Allow dots
in namespace aliases.
- #45 Rework
caching so that classname caches are automatically updated when classpath
changes.
- Autocomplete unimported classes in Boot.
- #41 Don't follow
symlinks when scanning classpath.
This release is a solidification of all the new features added to Compliment
since 0.2.0
.
Changes:
- All sources have been refactored to return a list of maps instead of a list of
strings. Thus, there is no longer a concept of "tagging" candidates with extra
data — this always happens now.
:tag-candidates
option to compliment.core/completions
has been removed as
this behavior has become the default one. :plain-candidates true
option is
added to revert to the previous behavior.- Deprecated arities of
compliment.core/completions
have been removed, only
[prefix]
and [prefix options-map]
remain. - #37 Complete
namespace aliases with :: prefix
- #39 Allow colon
inside var names
- #35
documentation
shouldn't crash when ""
is passed.
- #34 Include
literals
true
, false
, nil
in completion results
- #31 Parse local
:let
bindings introduced by doseq
and for
Hotfix release.
- #28 Stop
ignoring full-package candidates inside
(:import ...)
context.
This release has several big features to mention:
- #20 Classnames in
the
:import
block of ns
can now be completed by a simple name. E.g. typing
ArrayL
in that context will suggest java.util.ArrayList
. - #24 New
completion source for project resources.
- #26 New
parameter
:extra-metadata
that takes a set of keywords, and tells Compliment
which additional information should be attached when :tag-candidates true
is
active. Currently supported: :doc
, :arglists
.
This release changes the Compliment API, particularly now
compliment.core/completions
accepts a uniform options-map
argument that
contains all necessary parameters (ns
, context
etc.). Other changes:
- #16 Optional
:tag-candidates true
option makes Compliment return a list of maps instead
of a list of strings. Each map has :candidate
key with the candidate and
possibly other keys that describe its type and other metadata.
This release is a quite significant milestone in catching up with lost
clojure-complete
capabilities. Here are the most important changes:
- #14 All
classnames can now be completed regardless whether they were imported. This
works only on JVM where classpath scanning is possible.
- Unloaded namespaces are now completed too, using the same classpath scanning
technique.
- #17 Fuzzy
completion became fuzzier, allowing to skip separators like
-
and .
(see
Examples)
- Introduced sort-order parameter to
completions
(trptcolin/reply#153). - Fixed various bugs related to context parsing and other issues that made CIDER
freeze.
- #12 Add a
completion source for local bindings introduced in macros like
let
and
defn
. - Special forms are now only suggested if the completion is invoked at the first
element of a list. If no context is provided, special forms are still
suggested.