Skip to content

Commit 5dcbb2b

Browse files
committed
refactor: organize imports, unify formatting with mtags in metals
1 parent e7fda08 commit 5dcbb2b

File tree

120 files changed

+780
-533
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+780
-533
lines changed

.scalafmt.conf

Lines changed: 0 additions & 22 deletions
This file was deleted.

presentation-compiler/src/main/dotty/tools/pc/AutoImports.scala

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@ package dotty.tools.pc
22

33
import scala.annotation.tailrec
44
import scala.jdk.CollectionConverters.*
5-
65
import scala.meta.internal.mtags.KeywordWrapper
7-
import dotty.tools.pc.utils.MtagsEnrichments.*
8-
import dotty.tools.pc.printer.ShortenedNames.ShortName
9-
import scala.meta.pc.PresentationCompilerConfig
106
import scala.meta.internal.pc.AutoImportPosition
7+
import scala.meta.pc.PresentationCompilerConfig
118

129
import dotty.tools.dotc.ast.tpd.*
10+
import dotty.tools.dotc.core.Comments.Comment
1311
import dotty.tools.dotc.core.Contexts.*
1412
import dotty.tools.dotc.core.Flags.*
1513
import dotty.tools.dotc.core.Names.*
1614
import dotty.tools.dotc.core.Symbols.*
1715
import dotty.tools.dotc.util.SourcePosition
1816
import dotty.tools.dotc.util.Spans
19-
import org.eclipse.{lsp4j as l}
20-
import dotty.tools.dotc.core.Comments.Comment
17+
import dotty.tools.pc.printer.ShortenedNames.ShortName
18+
import dotty.tools.pc.utils.MtagsEnrichments.*
19+
20+
import org.eclipse.lsp4j as l
2121

2222
object AutoImports extends AutoImportsBackticks:
2323

@@ -178,7 +178,8 @@ object AutoImports extends AutoImportsBackticks:
178178

179179
val importEdit =
180180
symbolImport.importSel.flatMap(sel => renderImports(List(sel)))
181-
if nameEdit.isDefined || importEdit.isDefined then Some(AutoImportEdits(nameEdit, importEdit))
181+
if nameEdit.isDefined || importEdit.isDefined then
182+
Some(AutoImportEdits(nameEdit, importEdit))
182183
else None
183184
end editsForSymbol
184185

@@ -224,7 +225,9 @@ object AutoImports extends AutoImportsBackticks:
224225
!indexedContext.hasRename(owner, rename)
225226
)
226227
else
227-
Some(ImportSel.Direct(owner)).filter(_ => !indexedContext.lookupSym(owner).exists)
228+
Some(ImportSel.Direct(owner)).filter(_ =>
229+
!indexedContext.lookupSym(owner).exists
230+
)
228231

229232
SymbolImport(
230233
symbol,
@@ -297,7 +300,8 @@ object AutoImports extends AutoImportsBackticks:
297300
tree: Tree
298301
): Option[PackageDef] =
299302
tree match
300-
case curr @ PackageDef(_, (next: PackageDef) :: Nil) if !curr.symbol.isPackageObject =>
303+
case curr @ PackageDef(_, (next: PackageDef) :: Nil)
304+
if !curr.symbol.isPackageObject =>
301305
lastPackageDef(Some(curr), next)
302306
case pkg: PackageDef if !pkg.symbol.isPackageObject => Some(pkg)
303307
case _ => prev
@@ -307,7 +311,8 @@ object AutoImports extends AutoImportsBackticks:
307311
case PackageDef(_, stats) =>
308312
stats.flatMap {
309313
case s: PackageDef => firstObjectBody(s)
310-
case TypeDef(_, t @ Template(defDef, _, _, _)) if defDef.symbol.showName == "<init>" =>
314+
case TypeDef(_, t @ Template(defDef, _, _, _))
315+
if defDef.symbol.showName == "<init>" =>
311316
Some(t)
312317
case _ => None
313318
}.headOption
@@ -316,7 +321,8 @@ object AutoImports extends AutoImportsBackticks:
316321
def skipUsingDirectivesOffset =
317322
comments
318323
.takeWhile(comment =>
319-
!comment.isDocComment && comment.span.end < firstObjectBody(tree).fold(0)(_.span.start)
324+
!comment.isDocComment && comment.span.end < firstObjectBody(tree)
325+
.fold(0)(_.span.start)
320326
)
321327
.lastOption
322328
.fold(0)(_.span.end + 1)
@@ -350,8 +356,10 @@ object AutoImports extends AutoImportsBackticks:
350356
offset
351357
case None =>
352358
val scriptOffset =
353-
if isAmmonite then ScriptFirstImportPosition.ammoniteScStartOffset(text, comments)
354-
else ScriptFirstImportPosition.scalaCliScStartOffset(text, comments)
359+
if isAmmonite then
360+
ScriptFirstImportPosition.ammoniteScStartOffset(text, comments)
361+
else
362+
ScriptFirstImportPosition.scalaCliScStartOffset(text, comments)
355363

356364
scriptOffset.getOrElse(
357365
pos.source.lineToOffset(tmpl.self.srcPos.line)

presentation-compiler/src/main/dotty/tools/pc/AutoImportsProvider.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ import java.nio.file.Paths
44

55
import scala.collection.mutable
66
import scala.jdk.CollectionConverters.*
7-
87
import scala.meta.internal.metals.ReportContext
98
import scala.meta.internal.pc.AutoImportsResultImpl
10-
import dotty.tools.pc.utils.MtagsEnrichments.*
11-
import dotty.tools.pc.AutoImports.*
12-
import dotty.tools.pc.completions.CompletionPos
139
import scala.meta.pc.*
1410

1511
import dotty.tools.dotc.ast.tpd.*
1612
import dotty.tools.dotc.core.Symbols.*
1713
import dotty.tools.dotc.interactive.Interactive
1814
import dotty.tools.dotc.interactive.InteractiveDriver
1915
import dotty.tools.dotc.util.SourceFile
20-
import org.eclipse.{lsp4j as l}
16+
import dotty.tools.pc.AutoImports.*
17+
import dotty.tools.pc.completions.CompletionPos
18+
import dotty.tools.pc.utils.MtagsEnrichments.*
19+
20+
import org.eclipse.lsp4j as l
2121

2222
final class AutoImportsProvider(
2323
search: SymbolSearch,
@@ -62,7 +62,8 @@ final class AutoImportsProvider(
6262
sym.name.show == query
6363

6464
val visitor = new CompilerSearchVisitor(visit)
65-
if isExtension then search.searchMethods(name, buildTargetIdentifier, visitor)
65+
if isExtension then
66+
search.searchMethods(name, buildTargetIdentifier, visitor)
6667
else search.search(name, buildTargetIdentifier, visitor)
6768
val results = symbols.result.filter(isExactMatch(_, name))
6869

presentation-compiler/src/main/dotty/tools/pc/CompilerSearchVisitor.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@ package dotty.tools.pc
33
import java.util.logging.Level
44
import java.util.logging.Logger
55

6-
import scala.util.control.NonFatal
7-
86
import scala.meta.internal.metals.Report
97
import scala.meta.internal.metals.ReportContext
108
import scala.meta.pc.*
9+
import scala.util.control.NonFatal
1110

1211
import dotty.tools.dotc.core.Contexts.*
1312
import dotty.tools.dotc.core.Names.*
@@ -20,7 +19,8 @@ class CompilerSearchVisitor(
2019

2120
val logger: Logger = Logger.getLogger(classOf[CompilerSearchVisitor].getName)
2221

23-
private def isAccessible(sym: Symbol): Boolean = try sym != NoSymbol && sym.isPublic
22+
private def isAccessible(sym: Symbol): Boolean = try
23+
sym != NoSymbol && sym.isPublic
2424
catch
2525
case NonFatal(e) =>
2626
reports.incognito.create(

presentation-compiler/src/main/dotty/tools/pc/CompletionItemResolver.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
package dotty.tools.pc
22

3-
import dotty.tools.pc.utils.MtagsEnrichments.*
3+
import scala.meta.internal.pc.ItemResolver
44
import scala.meta.pc.PresentationCompilerConfig
55
import scala.meta.pc.SymbolDocumentation
66
import scala.meta.pc.SymbolSearch
7-
import scala.meta.internal.pc.ItemResolver
87

98
import dotty.tools.dotc.core.Contexts.Context
109
import dotty.tools.dotc.core.Flags.*
1110
import dotty.tools.dotc.core.Symbols.*
1211
import dotty.tools.dotc.core.Types.TermRef
12+
import dotty.tools.pc.utils.MtagsEnrichments.*
13+
1314
import org.eclipse.lsp4j.CompletionItem
1415

1516
object CompletionItemResolver extends ItemResolver:
@@ -60,7 +61,8 @@ object CompletionItemResolver extends ItemResolver:
6061
val companion = gsym.companion
6162
if companion == NoSymbol || gsym.is(JavaDefined) then
6263
if gsymDoc.isEmpty then
63-
if gsym.isAliasType then fullDocstring(gsym.info.metalsDealias.typeSymbol, search)
64+
if gsym.isAliasType then
65+
fullDocstring(gsym.info.metalsDealias.typeSymbol, search)
6466
else if gsym.is(Method) then
6567
gsym.info.finalResultType match
6668
case tr @ TermRef(_, sym) =>

presentation-compiler/src/main/dotty/tools/pc/ConvertToNamedArgumentsProvider.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ package dotty.tools.pc
22

33
import java.nio.file.Paths
44

5-
import dotty.tools.pc.utils.MtagsEnrichments.*
6-
import scala.meta.pc.OffsetParams
75
import scala.meta.internal.pc.CodeActionErrorMessages
6+
import scala.meta.pc.OffsetParams
87

98
import dotty.tools.dotc.ast.tpd
109
import dotty.tools.dotc.core.Contexts.Context
@@ -13,7 +12,9 @@ import dotty.tools.dotc.core.Types.MethodType
1312
import dotty.tools.dotc.interactive.Interactive
1413
import dotty.tools.dotc.interactive.InteractiveDriver
1514
import dotty.tools.dotc.util.SourceFile
16-
import org.eclipse.{lsp4j as l}
15+
import dotty.tools.pc.utils.MtagsEnrichments.*
16+
17+
import org.eclipse.lsp4j as l
1718

1819
final class ConvertToNamedArgumentsProvider(
1920
driver: InteractiveDriver,

presentation-compiler/src/main/dotty/tools/pc/ExtractMethodProvider.scala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,11 @@ package dotty.tools.pc
22

33
import java.nio.file.Paths
44

5-
import scala.meta as m
6-
7-
import dotty.tools.pc.utils.MtagsEnrichments.*
8-
import dotty.tools.pc.MetalsInteractive.*
9-
import dotty.tools.pc.printer.MetalsPrinter
10-
import dotty.tools.pc.printer.MetalsPrinter.IncludeDefaultParam
5+
import scala.meta.internal.pc.ExtractMethodUtils
116
import scala.meta.pc.OffsetParams
127
import scala.meta.pc.RangeParams
138
import scala.meta.pc.SymbolSearch
14-
import scala.meta.internal.pc.ExtractMethodUtils
9+
import scala.meta as m
1510

1611
import dotty.tools.dotc.ast.Trees.*
1712
import dotty.tools.dotc.ast.tpd
@@ -25,8 +20,13 @@ import dotty.tools.dotc.interactive.Interactive
2520
import dotty.tools.dotc.interactive.InteractiveDriver
2621
import dotty.tools.dotc.util.SourceFile
2722
import dotty.tools.dotc.util.SourcePosition
23+
import dotty.tools.pc.MetalsInteractive.*
24+
import dotty.tools.pc.printer.MetalsPrinter
25+
import dotty.tools.pc.printer.MetalsPrinter.IncludeDefaultParam
26+
import dotty.tools.pc.utils.MtagsEnrichments.*
27+
2828
import org.eclipse.lsp4j.TextEdit
29-
import org.eclipse.{lsp4j as l}
29+
import org.eclipse.lsp4j as l
3030

3131
final class ExtractMethodProvider(
3232
range: RangeParams,

presentation-compiler/src/main/dotty/tools/pc/HoverProvider.scala

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
package dotty.tools.pc
22

3-
import java.{util as ju}
3+
import java.util as ju
44

55
import scala.meta.internal.metals.Report
66
import scala.meta.internal.metals.ReportContext
7-
import dotty.tools.pc.utils.MtagsEnrichments.*
8-
import dotty.tools.pc.printer.MetalsPrinter
7+
import scala.meta.internal.pc.ScalaHover
98
import scala.meta.pc.HoverSignature
109
import scala.meta.pc.OffsetParams
1110
import scala.meta.pc.SymbolSearch
12-
import scala.meta.internal.pc.ScalaHover
1311

1412
import dotty.tools.dotc.ast.tpd.*
1513
import dotty.tools.dotc.core.Constants.*
@@ -22,6 +20,8 @@ import dotty.tools.dotc.core.Types.*
2220
import dotty.tools.dotc.interactive.Interactive
2321
import dotty.tools.dotc.interactive.InteractiveDriver
2422
import dotty.tools.dotc.util.SourcePosition
23+
import dotty.tools.pc.printer.MetalsPrinter
24+
import dotty.tools.pc.utils.MtagsEnrichments.*
2525

2626
object HoverProvider:
2727

@@ -151,7 +151,8 @@ object HoverProvider:
151151
end if
152152
end hover
153153

154-
extension (pos: SourcePosition) private def isPoint: Boolean = pos.start == pos.end
154+
extension (pos: SourcePosition)
155+
private def isPoint: Boolean = pos.start == pos.end
155156

156157
private def fallbackToDynamics(
157158
path: List[Tree],

presentation-compiler/src/main/dotty/tools/pc/IndexedContext.scala

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@ package dotty.tools.pc
33
import scala.annotation.tailrec
44
import scala.util.control.NonFatal
55

6-
import dotty.tools.pc.utils.MtagsEnrichments.*
7-
import dotty.tools.pc.IndexedContext.Result
8-
96
import dotty.tools.dotc.core.Contexts.*
107
import dotty.tools.dotc.core.Flags.*
118
import dotty.tools.dotc.core.Names.*
129
import dotty.tools.dotc.core.Symbols.*
1310
import dotty.tools.dotc.core.Types.*
1411
import dotty.tools.dotc.typer.ImportInfo
12+
import dotty.tools.pc.IndexedContext.Result
13+
import dotty.tools.pc.utils.MtagsEnrichments.*
1514

1615
sealed trait IndexedContext:
1716
given ctx: Context
@@ -141,7 +140,9 @@ object IndexedContext:
141140
def accessibleSymbols(site: Type, tpe: Type)(using
142141
Context
143142
): List[Symbol] =
144-
tpe.decls.toList.filter(sym => sym.isAccessibleFrom(site, superAccess = false))
143+
tpe.decls.toList.filter(sym =>
144+
sym.isAccessibleFrom(site, superAccess = false)
145+
)
145146

146147
def accesibleMembers(site: Type)(using Context): List[Symbol] =
147148
site.allMembers
@@ -185,7 +186,8 @@ object IndexedContext:
185186
val isRename = name != rename
186187
if !isRename && !excludedNames.contains(name.decoded) then
187188
fromImport(imp.site, name).map((_, None))
188-
else if isRename then fromImport(imp.site, name).map((_, Some(rename)))
189+
else if isRename then
190+
fromImport(imp.site, name).map((_, Some(rename)))
189191
else Nil
190192
}
191193
end if

0 commit comments

Comments
 (0)