Merlin 2.2
See full changelog
-
backend:
- completion
- return the type of the expected argument when completing an application. This allows us to offer completion for named and optional parameters, as well as polymorphic variants
- optionally associates ocamldoc comments to candidates
- adds field completion inside records ( #296 )
- locate:
- partially rewritten, introduces a new kind of cache (so potentially noticeably bigger memory consumption)
- better handling of functors
- handle local modules
- fix occasional "inconsistent assumptions"
- error reporting:
- handle environment errors (inconsistent assumptions, …)
- filter duplicated messages
- fix type error reporting: "this expression has type t = t but an expression was expected of type u = u" we now only print the equality when it adds some information
- less noisy pattern recovery: when every pattern is recovered, consider that the matched expression is the the source of the problem, and retry typing with "'a" as the type of the matched expression.
- add support for trunk
- add a "document" command: takes an ident and return its documentation (if any)
- destruct: use more precise environments ( #389 )
- warnings:
- check signature inclusion to prevent spurious warnings about unused declarations
- backport 4.02-style warning management
- add a dump command
- nonrec: update implementation to more-or-less match the upstream one (upstream >= 4.02.2)
- parser: improve marking heuristic in presence of ;; or toplevel directives.
- typeof: during verbose expansion, also print the type declaration if we have a type constructor
- completion
-
emacs:
- fix bindings of every completion backend
- bind ocamldoc comments to company (optional)
- detect race conditions when running synchronous commands
- cleanup "merlin-process-started-p"
- locate error messages were silently ignored, they are now printed
- drop text properties from commands sent to merlin (pull request #383 by milanst)
- Tell merlin the content of the buffer when opening a new buffer. This allows merlin idle-job to preload content if nothing else is requested.
- remove call to merlin from the lighter
-
vim:
- fix ctrlp binding for locate
- add (dwim) completion on :TypeOf
- while completing, candidates documentation can be displayed in the "preview" window
- prefix every command name by "Merlin" ( #379 )
- Tell merlin the content of the buffer when opening a new buffer. This allows merlin idle-job to preload content if nothing else is requested.