- Support for Clojure 1.8 and 1.9 is dropped. Compliment will most likely
continue to work with them for a while, but the compatibility is no longer
guaranteed.
- #98: Find private vars when using var quote literal.
- #98: Support
:private
and :deprecated
as extra-metadata.
- #97: Extend
completion and getting docs for symbol-strings with leading literals.
- Complete fully-qualified classnames by their shortname prefix anywhere in the
file (previously worked only in the
:import
section of the ns
form). - Fix ' and #' being swallowed when completing vars prefixed by them.
- #91:
compliment.utils/namespaces-on-classpath
(now deprecated) takes cljc files into account.
Add replacement compliment.utils/namespaces&files-on-classpath
that yields a collection of maps containing the filename.
- #94:
compliment.sources.namespaces-and-classes/doc
accepts ns-aliases as well.
- #87: Fix completion
of local bindings when a context contains '{' or '}' characters.
- #82: Offer completions for quoted/var-quoted symbols.
- #83: Complete
local bindings declared in map destructuring with namespaced keywords.
- #83: Fix completion
of local bindings when a context contains namespaced keywords.
- #84: Enable
locals completion for
defmethod
form.
- #77: Add ability
to tune Compliment behavior with var's metadata.
- #79: Fix
completion of Java packages/classes on Windows.
- 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 unimported 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.
Can you improve this documentation? These fine people already did:
Alexander Yakushev, Bozhidar Batsov, Gert Goet, Jinseop Kim & Roman RudakovEdit on GitHub