Skip to content

Commit

Permalink
GitOps: remove workingDirectory field
Browse files Browse the repository at this point in the history
  • Loading branch information
kitbellew committed Nov 27, 2021
1 parent 55dd64a commit bd2081d
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ case class CliOptions(
}

private lazy val canonicalConfigFile: Option[Try[Path]] =
gitOps.getCanonicalConfigFile(config)
gitOps.getCanonicalConfigFile(cwd, config)

/** Parse the scalafmt configuration and try to encode it to `ScalafmtConfig`.
* If `--config-str` is specified, this will parse the configuration string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ trait ScalafmtRunner {
)

case RecursiveSearch =>
options.customFilesOpt.fold(gitOps.getDirFiles(canFormat))(
gitOps.getDirFiles(_, options.respectProjectFilters, canFormat)
)
options.customFilesOpt
.map(gitOps.getDirFiles(_, options.respectProjectFilters, canFormat))
.getOrElse(gitOps.getDirFiles(options.cwd, canFormat))

case DiffFiles(branch) =>
options.customFilesOpt.fold(gitOps.getDiffFiles(branch, canFormat))(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,17 @@ object GitOps {

implicit class Implicit(obj: GitOps) {

def getCanonicalConfigFile(config: Option[Path] = None): Option[Try[Path]] =
FileOps
.getCanonicalConfigFile(obj.workingDirectory, config)
.orElse(obj.rootDir.flatMap(FileOps.tryGetConfigInDir))
def getCanonicalConfigFile(
cwd: AbsoluteFile,
config: Option[Path] = None
): Option[Try[Path]] =
FileOps.getCanonicalConfigFile(cwd, config).orElse(getRootConfigFile)

def getRootConfigFile: Option[Try[Path]] =
obj.rootDir.flatMap(FileOps.tryGetConfigInDir)

def getFiles(matches: Path => Boolean): Seq[AbsoluteFile] =
obj.lsTree(obj.workingDirectory).filter(matches)
obj.lsTree().filter(matches)

def getFiles(
files: Seq[AbsoluteFile],
Expand All @@ -54,8 +58,11 @@ object GitOps {
): Seq[AbsoluteFile] =
getMatchingFiles(files, respectProjectFilters, matches)(obj.lsTree)

def getDirFiles(matches: Path => Boolean): Seq[AbsoluteFile] =
obj.workingDirectory.listFiles.filter(matches)
def getDirFiles(
cwd: AbsoluteFile,
matches: Path => Boolean
): Seq[AbsoluteFile] =
cwd.listFiles.filter(matches)

def getDirFiles(
files: Seq[AbsoluteFile],
Expand All @@ -81,16 +88,6 @@ object GitOps {
obj.diff(branch, x: _*)
)

def getDiffFiles(
branch: String,
files: Seq[Path],
respectProjectFilters: Boolean,
matches: Path => Boolean
): Seq[AbsoluteFile] =
getDiffFiles(branch, respectProjectFilters, matches)(
obj.workingDirectory.join(files)
)

def getChangedFiles(matches: Path => Boolean): Seq[AbsoluteFile] =
obj.status().filter(matches)

Expand All @@ -99,7 +96,6 @@ object GitOps {
}

trait GitOps {
val workingDirectory: AbsoluteFile
def status(dir: AbsoluteFile*): Seq[AbsoluteFile]
def diff(branch: String, dir: AbsoluteFile*): Seq[AbsoluteFile]
def lsTree(dir: AbsoluteFile*): Seq[AbsoluteFile]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package org.scalafmt.cli
import org.scalafmt.sysops.{AbsoluteFile, GitOps}

class FakeGitOps(root: AbsoluteFile) extends GitOps {
override val workingDirectory: AbsoluteFile = root
override def lsTree(dir: AbsoluteFile*): Seq[AbsoluteFile] =
dir.flatMap(_.listFiles)
override def rootDir: Option[AbsoluteFile] = Some(root)
Expand Down

0 comments on commit bd2081d

Please sign in to comment.