Client Editor
LSP Server
Client Editor
LSP Server
object Main{
def adding(a : Int, b : Int) = a + b
val additional = ""
val one = 1
val two = 2
addi_
}
Client Editor
LSP Server
Completions
object Main{
def adding(a : Int, b : Int) = a + b
val additional = ""
val one = 1
val two = 2
addi_
}
Client Editor
LSP Server
Completions
object Main{
def adding(a : Int, b : Int) = a + b
val additional = ""
val one = 1
val two = 2
addi_
}
Client Editor
LSP Server
object Main{
def adding(a : Int, b : Int) = a + b
val additional = ""
val one = 1
val two = 2
addi_
}
Client Editor
LSP Server
- adding()
- additional
object Main{
def adding(a : Int, b : Int) = a + b
val additional = ""
val one = 1
val two = 2
addi_
}
Client Editor
LSP Server
- adding()
- additional
object Main{
def adding(a : Int, b : Int) = a + b
val additional = ""
val one = 1
val two = 2
addi_
}
Client Editor
LSP Server
object Main{
def adding(a : Int, b : Int) = a + b
val additional = ""
val one = 1
val two = 2
addi_
}
Client Editor
LSP Server
object Main{
def adding(a : Int, b : Int) = a + b
val additional = ""
val one = 1
val two = 2
adding(_)
}
Mill
Mill
Metals
Mill
Bloop
LSP Server
Bloop
LSP Server
What is this code a part of!
Bloop
LSP Server
Which project?
Bloop
LSP Server
Which project?
Bloop
LSP Server
Bloop
LSP Server
Project Foo
Bloop
LSP Server
Project Foo
Bloop
LSP Server
I don't know how to compile it!
Bloop
LSP Server
Compile Foo!
Bloop
LSP Server
Compile Foo!
Bloop
LSP Server
Bloop
LSP Server
Error report
Bloop
LSP Server
Error report
Bloop
LSP Server
Diagnostics
$ metap .
Test.scala
----------
Summary:
Schema => SemanticDB v4
Uri => Test.scala
Text => empty
Language => Scala
Symbols => 3 entries
Occurrences => 7 entries
Symbols:
_empty_/Test. => final object Test extends AnyRef { +1 decls }
_empty_/Test.main(). => method main(args: Array[String]): Unit
_empty_/Test.main().(args) => param args: Array[String]
Occurrences:
[0:7..0:11) <= _empty_/Test.
[1:6..1:10) <= _empty_/Test.main().
[1:11..1:15) <= _empty_/Test.main().(args)
[1:17..1:22) => scala/Array#
[1:23..1:29) => scala/Predef.String#
[1:33..1:37) => scala/Unit#
[2:4..2:11) => scala/Predef.println(+1).
Used in:
ReferenceProvider
ImplementationProvider
SyntheticDecorationsProvider
Anything that work file wide
- used for syntax based feature
- does not require versions specific feature
- easy to implement new features for all ScalaVersions
- FoldingProvider, DocumentSymbolProvider, some code actions
Scala Presentation Compiler (mtags)
2.13.4 / 2.12.13 / 2.12.12 / 3.0.0-RC1 ...
Java Interfaces
Metals Server (mtags)