diff options
author | Lukas Rytz <lukas.rytz@epfl.ch> | 2010-04-11 19:11:40 +0000 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@epfl.ch> | 2010-04-11 19:11:40 +0000 |
commit | 67b1041a8512a760749a6e3882113e5aee7ba321 (patch) | |
tree | 7ebde6995f12364fce7caad7e620e0acc276c33b /src | |
parent | ad596fcfc77a931f9b91444acd0063dcbc9b25aa (diff) | |
download | scala-67b1041a8512a760749a6e3882113e5aee7ba321.tar.gz scala-67b1041a8512a760749a6e3882113e5aee7ba321.tar.bz2 scala-67b1041a8512a760749a6e3882113e5aee7ba321.zip |
moved plugin folder back to 'misc/scala-devel/p...
moved plugin folder back to 'misc/scala-devel/plugins'. moved bash
completion to scala-tool-support (see r21449). include continuations
in compiler sbaz package. replaced some tabs by spaces. review by
extempore.
Diffstat (limited to 'src')
-rw-r--r-- | src/build/pack.xml | 4 | ||||
-rw-r--r-- | src/compiler/scala/tools/util/BashCompletion.scala | 132 | ||||
-rw-r--r-- | src/compiler/scala/tools/util/PathResolver.scala | 6 |
3 files changed, 6 insertions, 136 deletions
diff --git a/src/build/pack.xml b/src/build/pack.xml index 5c5c8fbd8d..fa6c4ade20 100644 --- a/src/build/pack.xml +++ b/src/build/pack.xml @@ -102,6 +102,8 @@ MAIN DISTRIBUTION SBAZ dir="${dist.dir}/bin" includes="scala,scala.bat,scalac,scalac.bat,scaladoc,scaladoc.bat,fsc,fsc.bat"/> <libset dir="${dist.dir}/lib" includes="scala-compiler.jar,jline.jar"/> + <miscset dir="${dist.dir}/misc/scala-devel" + includes="plugins/continuations.jar"/> <manset dir="${dist.dir}/man" includes="**"/> <srcset dir="${dist.dir}/src" includes="scala-compiler-src.jar"/> </sbaz> @@ -200,7 +202,7 @@ MAIN DISTRIBUTION SBAZ <sequential> <mkdir dir="${dists.dir}/maven/${version.number}/plugins/@{mvn.artifact.name}"/> <copy todir="${dists.dir}/maven/${version.number}/plugins/@{mvn.artifact.name}"> - <fileset dir="${dist.dir}/plugins/"> + <fileset dir="${dist.dir}/misc/scala-devel/plugins/"> <filename name="@{mvn.artifact.name}.jar"/> </fileset> <fileset dir="${src.dir}/build/maven/"> diff --git a/src/compiler/scala/tools/util/BashCompletion.scala b/src/compiler/scala/tools/util/BashCompletion.scala deleted file mode 100644 index ed9f1b505a..0000000000 --- a/src/compiler/scala/tools/util/BashCompletion.scala +++ /dev/null @@ -1,132 +0,0 @@ -/* NSC -- new Scala compiler - * Copyright 2006-2010 LAMP/EPFL - * @author Paul Phillips - */ - -package scala.tools -package util - -import nsc.{ Global, Settings } - -/** Examines Settings and generates a bash completion file - * containing both bells and whistles. - */ -object BashCompletion { - val completionTemplate = """ -# Bash Scala completion -# -# Add this file to /etc/bash_completion.d/ (or your local equivalent) -# or place a line like this in your .bashrc or .profile: -# -# . /path/to/file/scala_completion.sh -# -# For more information, see: -# -# http://bash-completion.alioth.debian.org/ -# -# This file is generated by running scala.tools.util.BashCompletion. -# - -SCALA_PHASES="@@PHASES@@" -SCALA_PHASE_SETTINGS=( @@PHASE_SETTINGS@@ ) -SCALA_OPTIONS="@@OPTIONS@@" -SCALA_OPTIONS_EXPANDED="@@OPTIONS_EXPANDED@@" - -_scala_completion() -{ - local cur prev opts colonprefixes - - COMPREPLY=() - opts="" - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - colonprefixes=${cur%"${cur##*:}"} - - # special case escaping madness because bash treats : as a separator. - case "${cur}" in - -*:*) - precolon=$(echo "${cur}" | sed 's/:.*//g') - - for p in ${SCALA_PHASE_SETTINGS[@]}; do - if [[ "${precolon}" == "${p}" ]] ; then - cur=$(echo "${cur}" | sed 's/.*://g') # cut cur down to postcolon part - opts=${SCALA_PHASES} - fi - done - - if [ "${opts}" == "" ] ; then - opts=${SCALA_OPTIONS_EXPANDED} - fi - ;; - esac - - if [ "${opts}" == "" ] ; then - opts=${SCALA_OPTIONS} - fi - - COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) - - local i=${#COMPREPLY[*]} - while [ $((--i)) -ge 0 ]; do - COMPREPLY[$i]=${COMPREPLY[$i]#"$colonprefixes"} - done - - return 0 -} - -_scala_commands() -{ -@@PROGRAMS@@ -} -_scala_commands - """.trim - - private lazy val settings = new Settings() - import settings._ - - val phaseNames = "all" :: (new Global(settings) phaseNames) - val phaseSettings = settings.visibleSettings collect { case x: PhasesSetting => "\"" + x.name + "\"" } - - def settingStrings(s: Setting, expanded: Boolean) = s match { - case x: ChoiceSetting => if (expanded) x.choices map (x.name + ":" + _) else List(x.name + ":") - case x: PhasesSetting => List(x.name + ":") - case x => List(x.name) - } - - /** We embed one list which stops at : and another where all choice settings are expanded out - * to include the choices. - */ - def settingNames = settings.visibleSettings.toList flatMap (x => settingStrings(x, false)) sorted - def settingNamesExpanded = settings.visibleSettings.toList flatMap (x => settingStrings(x, true)) sorted - - def commandForName(name: String) = " complete -o default -F _scala_completion " + name + "\n" - def interpolate(template: String, what: (String, String)*) = - what.foldLeft(template) { - case (text, (key, value)) => - val token = "@@" + key + "@@" - - (text indexOf token) match { - case -1 => error("Token '%s' does not exist." format token) - case idx => (text take idx) + value + (text drop idx drop token.length) - } - } - - def create(cmds: List[String]) = { - interpolate(completionTemplate, - "PROGRAMS" -> (cmds map commandForName mkString ""), - "OPTIONS" -> (settingNames mkString " "), - "OPTIONS_EXPANDED" -> (settingNamesExpanded mkString " "), - "PHASES" -> (phaseNames mkString " "), - "PHASE_SETTINGS" -> (phaseSettings mkString " ") - ) - } - - def main(args: Array[String]): Unit = { - val commands = if (args.isEmpty) List("fsc", "scala", "scalac", "scaladoc") else args.toList - val result = create(commands) - if (result contains "@@") - error("Some tokens were not replaced: text is " + result) - - println(result) - } -}
\ No newline at end of file diff --git a/src/compiler/scala/tools/util/PathResolver.scala b/src/compiler/scala/tools/util/PathResolver.scala index 716b0b43dc..d2cb5e74c0 100644 --- a/src/compiler/scala/tools/util/PathResolver.scala +++ b/src/compiler/scala/tools/util/PathResolver.scala @@ -119,9 +119,9 @@ object PathResolver { case _ => "" } - def scalaExtDirs = Environment.scalaExtDirs - def scalaPluginDirs = List("misc", "scala-devel", "plugins") - def scalaPluginPath = join(scalaPluginDirs map (scalaHomeDir / _ path): _*) + def scalaExtDirs = Environment.scalaExtDirs + + def scalaPluginPath = (scalaHomeDir / "misc" / "scala-devel" / "plugins").path override def toString = """ |object Defaults { |