mirror of https://github.com/sbt/sbt.git
Merge pull request #6276 from fommil/emacs
GNU Emacs support for sbtn and sbt --client
This commit is contained in:
commit
cc87ae2635
|
|
@ -10,4 +10,5 @@ npm-debug.log
|
|||
.idea
|
||||
.bloop
|
||||
.metals
|
||||
.bsp/
|
||||
/project/metals.sbt
|
||||
|
|
|
|||
|
|
@ -64,6 +64,8 @@ object Util {
|
|||
lazy val isNonCygwinWindows: Boolean = isWindows && !isCygwin
|
||||
lazy val isCygwinWindows: Boolean = isWindows && isCygwin
|
||||
|
||||
lazy val isEmacs: Boolean = Option(System.getenv("INSIDE_EMACS")).isDefined
|
||||
|
||||
def nil[A]: List[A] = List.empty[A]
|
||||
def nilSeq[A]: Seq[A] = Seq.empty[A]
|
||||
def none[A]: Option[A] = (None: Option[A])
|
||||
|
|
|
|||
|
|
@ -317,7 +317,10 @@ object Terminal {
|
|||
props
|
||||
.map(_.color)
|
||||
.orElse(isColorEnabledProp)
|
||||
.getOrElse(logFormatEnabled.getOrElse(true) && ((hasConsole && !isDumbTerminal) || isCI))
|
||||
.getOrElse(
|
||||
logFormatEnabled
|
||||
.getOrElse(true) && ((hasConsole && !isDumbTerminal) || isCI || Util.isEmacs)
|
||||
)
|
||||
}
|
||||
private[this] lazy val isColorEnabledProp: Option[Boolean] =
|
||||
sys.props.get("sbt.color").orElse(sys.props.get("sbt.colour")).flatMap(parseLogOption)
|
||||
|
|
@ -867,7 +870,8 @@ object Terminal {
|
|||
.map(_.supershell)
|
||||
.getOrElse(System.getProperty("sbt.supershell") match {
|
||||
case null =>
|
||||
!(sys.env.contains("BUILD_NUMBER") || sys.env.contains("CI")) && isColorEnabled
|
||||
!(sys.env.contains("BUILD_NUMBER") || sys.env
|
||||
.contains("CI")) && isColorEnabled && !Util.isEmacs
|
||||
case "true" => true
|
||||
case _ => false
|
||||
})
|
||||
|
|
|
|||
|
|
@ -337,8 +337,13 @@ class NetworkClient(
|
|||
List(DashDashDetachStdio, DashDashServer)
|
||||
}
|
||||
|
||||
// https://github.com/sbt/sbt/issues/6271
|
||||
val nohup =
|
||||
if (Util.isEmacs && !Util.isWindows) List("nohup")
|
||||
else Nil
|
||||
|
||||
val processBuilder =
|
||||
new ProcessBuilder(cmd: _*)
|
||||
new ProcessBuilder((nohup ++ cmd): _*)
|
||||
.directory(arguments.baseDirectory)
|
||||
.redirectInput(Redirect.PIPE)
|
||||
processBuilder.environment.put(Terminal.TERMINAL_PROPS, props)
|
||||
|
|
|
|||
Loading…
Reference in New Issue