Welcome to scalameta/metals
!
- CONTRIBUTING document is available here
- Also, I recommend skimming through architecture.md to grasp the which features are implemented in where.
- FormattingProvider doesn't take into account
include
statements when checking for correct dialect · Issue #5150 · scalameta/metals- (easy?)
- Metals invoke scalafmt using scalafmt-dynamic, which is a module that resolves a scalafmt jar based on the
version
field in.scalafmt.conf
- Problem is,
scalafmt-dynamic
ignores theinclude
field: https://github.com/scalameta/scalafmt/blob/331326b8e810f0f6d885b69bf86253839d059ed3/scalafmt-dynamic/src/main/scala/org/scalafmt/dynamic/ScalafmtConfigLoader.scala#L44-L57
- Go to implementation doesn't work with self types · Issue #3808 · scalameta/metals
- (easy?)
- ImplementationProvider
- We have self type information in addition to parents types in ClassSignature of SemanticDB.
- Point to
build.properties
when sbt version is too old · Issue #347 · scalameta/metals-feature-requests- easy
- As I wrote in description, it should be just updating the message.
- No scaladoc on hover for an object · Issue #5431 · scalameta/metals
- intermediate
- Is it only in Scala3 or both?
- Somewhere around here in Scala2 and in Scala3
- HoverProvider converts Scala compiler internal symbol into SemanticDB symbol and lookup the symbol in the index (i, and retrieve the docString
- [search] instance is usually an instance of MetalsSymbolSearch
- possible cause: docString isn't indexed for object? symbol conversion failed? the input symbol might be wired?
- Add filter+map to collect code action · Issue #288 · scalameta/metals-feature-requests
- intermediate or hard?
- Implement
CodeAction
trait and add it to allCodeActions - Not sure should we implement this feature based on scalameta-tree vs compiler originated information
- scalameta-tree: CodeActions that receives
tree
- scalameta-ast will help, but maybe it's gonna be too complicated?
- compiler originated information: CodeActions that receives
compilers
.- It's gonna be a bit slow, need to implement for both Scala2 and Scala3.
- scalameta-tree: CodeActions that receives
- bug: argument completions do not work for overloaded extension methods · Issue #5407 · scalameta/metals
- intermediate?
- I haven't yet looked into what's the problem, NamedArgCompletion.scala should be related.
- improvement: suggest arg completions collected from all overloaded methods (matching already provided args) · Issue #5266 · scalameta/metals
- intermediate?
- NamedArgCompletion.scala should be related.
- it seems like we already have a logic to look up the overloaded methods there, maybe we should tweak if predicate???
- Other issues