summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLex Spoon <lex@lexspoon.org>2007-08-06 17:39:10 +0000
committerLex Spoon <lex@lexspoon.org>2007-08-06 17:39:10 +0000
commit7de02030adc7434bc822613f18c482311dee052f (patch)
tree5ac1e33ed866b03b3587578081dc34eb0b7f7708 /src
parent6b182eb90343a4b52d2ad1e70cee889fb622e71d (diff)
downloadscala-7de02030adc7434bc822613f18c482311dee052f.tar.gz
scala-7de02030adc7434bc822613f18c482311dee052f.tar.bz2
scala-7de02030adc7434bc822613f18c482311dee052f.zip
- changed the default location for plugins
- changed -Xplugin-opt: back to -P:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/Settings.scala19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/Settings.scala b/src/compiler/scala/tools/nsc/Settings.scala
index 2ce8543bb0..9f656e7906 100644
--- a/src/compiler/scala/tools/nsc/Settings.scala
+++ b/src/compiler/scala/tools/nsc/Settings.scala
@@ -40,6 +40,16 @@ class Settings(error: String => Unit) {
guessedScalaExtDirs),
"")
+ private val pluginsDirDefault =
+ if (Properties.scalaHome == null)
+ ""
+ else
+ new File(
+ new File(
+ new File(Properties.scalaHome, "misc"),
+ "scala-devel"),
+ "plugins").getAbsolutePath
+
private def alternatePath(p1: String, p2: => String) =
if (p1 ne null) p1 else p2
@@ -48,6 +58,7 @@ class Settings(error: String => Unit) {
else if (p1 ne null) p1
else p2
+
private def guessedScalaBootClassPath = {
val scalaHome = Properties.scalaHome
if (scalaHome ne null) {
@@ -103,8 +114,9 @@ class Settings(error: String => Unit) {
val plugin = MultiStringSetting("-Xplugin", "file", "Load a plugin from a file")
val disable = MultiStringSetting("-Xplugin-disable", "plugin", "Disable a plugin")
val showPlugins = BooleanSetting ("-Xplugin-list", "Print a synopsis of loaded plugins")
- val pluginOptions = new MultiStringSetting("-Xplugin-opt", "plugin:opt", "Pass an option to a plugin") { override def helpSyntax = "-Xplugin-opt:<plugin>:<opt>" }
+ val pluginOptions = new MultiStringSetting("-P", "plugin:opt", "Pass an option to a plugin") { override def helpSyntax = "-P:<plugin>:<opt>" }
val require = MultiStringSetting("-Xplugin-require", "plugin", "Abort unless a plugin is available")
+ val pluginsDir = StringSetting ("-Xpluginsdir", "path", "Location to find compiler plugins", pluginsDirDefault)
val print = PhasesSetting ("-Xprint", "Print out program after")
val Xprintpos = BooleanSetting ("-Xprint-pos", "Print tree positions (as offsets)")
val printtypes = BooleanSetting ("-Xprint-types", "Print tree types (debugging option)").hideToIDE
@@ -227,12 +239,11 @@ class Settings(error: String => Unit) {
def dependsOn(s: Setting, value: String): this.type = { dependency = Some((s, value)); this }
def dependsOn(s: Setting): this.type = dependsOn(s, "")
- def isStandard: Boolean =
- (!(name startsWith "-X") && !(name startsWith "-Y")) || (name eq "-X")
+ def isStandard: Boolean = !isAdvanced && !isPrivate
def isAdvanced: Boolean =
(name startsWith "-X") && !(name eq "-X")
def isPrivate: Boolean =
- (name startsWith "-Y") && !(name eq "-Y")
+ (name == "-P") || ((name startsWith "-Y") && !(name eq "-Y"))
def isDocOption: Boolean =
!dependency.isEmpty && dependency.get._1 == doc