diff options
author | michelou <michelou@epfl.ch> | 2005-04-12 13:45:53 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2005-04-12 13:45:53 +0000 |
commit | 1bee42b554b0cb1fda7e17e546c5cd495b019f7d (patch) | |
tree | 7ed850edb8bd6de531a51e5c4d1df3fcc3e36b1d | |
parent | 0246e1e74ca8804fdf3d773b4c9038b70730e386 (diff) | |
download | scala-1bee42b554b0cb1fda7e17e546c5cd495b019f7d.tar.gz scala-1bee42b554b0cb1fda7e17e546c5cd495b019f7d.tar.bz2 scala-1bee42b554b0cb1fda7e17e546c5cd495b019f7d.zip |
- support for Scala commands in the Console plu...
- support for Scala commands in the Console plugin.
-rw-r--r-- | support/jedit/console/commando/scala.xml | 73 | ||||
-rw-r--r-- | support/jedit/console/commando/scalac.xml | 70 | ||||
-rw-r--r-- | support/jedit/console/commando/scalaint.xml | 77 | ||||
-rw-r--r-- | support/jedit/console/commando/scalarun.xml | 80 |
4 files changed, 300 insertions, 0 deletions
diff --git a/support/jedit/console/commando/scala.xml b/support/jedit/console/commando/scala.xml new file mode 100644 index 0000000000..f1f472f145 --- /dev/null +++ b/support/jedit/console/commando/scala.xml @@ -0,0 +1,73 @@ +<?xml version="1.0"?> +<!DOCTYPE COMMANDO SYSTEM "commando.dtd"> +<!-- Author(s): Manpreet Singh \junkblocker/ \at/ \yahoo/ \dot/ \com/ --> +<!-- Stephane Micheloud (http://scala.epfl.ch/) --> +<COMMANDO> + <UI> + <CAPTION LABEL="Scala Settings"> + <!-- See http://www.rgagnon.com/javadetails/java-0150.html --> + <DIR_ENTRY LABEL="Scala Home Path" VARNAME="home" EVAL=' + envProps = new Properties(); + osname = System.getProperty("os.name", "unknown").toLowerCase(); + if (osname.indexOf("windows 9") != -1) { + cmd = "command.com /c set"; + isWin32 = true; + } + else if ( (osname.indexOf("nt") != -1) || + (osname.indexOf("windows 20") != -1) || + (osname.indexOf("windows xp") != -1) ) { + cmd = "cmd.exe /c set"; + isWin32 = true; + } + else { + cmd = "env"; + isWin32 = false; + } + p = Runtime.getRuntime().exec(cmd); + is = new InputStreamReader(p.getInputStream()); + rd = new BufferedReader(is); + line = null; + while ((line = rd.readLine()) != null) { + index = -1; + if ((index = line.indexOf("=")) > -1) { + key = line.substring(0, index).trim(); + value = line.substring(index + 1).trim(); + envProps.setProperty(key, value); + } + else + envProps.setProperty(line, ""); + } + is.close(); + + value = envProps.getProperty("SCALA_HOME"); + if (value == null) { + value = (isWin32) ? "c:\\\\Progra~1\\Scala" : "/usr/local/scala"; + } + value + '/> + </CAPTION> + <CAPTION LABEL="Application Settings"> + <ENTRY LABEL="Main class" VARNAME="main" EVAL=' + import java.util.regex.Pattern; + p = Pattern.compile(".*object\\s+([A-Za-z_][A-Za-z0-9_]*).*?def\\s+main\\s*\\(.*", Pattern.MULTILINE | Pattern.DOTALL).matcher(buffer.getText(0, buffer.getLength())); + packageName = console.ConsolePlugin.getPackageName(buffer); + p.matches() ? ((packageName == null) ? "" : packageName + ".") + p.group(1) : console.ConsolePlugin.getClassName(buffer) + '/> + <DIR_ENTRY LABEL="Class path" VARNAME="classpath" EVAL='buffer.getDirectory()'/> + <ENTRY LABEL="Application parameters" VARNAME="arguments"/> + </CAPTION> + </UI> + <COMMANDS> + <COMMAND SHELL="System" CONFIRM="FALSE"> + buf = new StringBuffer(); + if (home.length() > 0) buf.append(home + File.separator + "bin" + File.separator); + buf.append("scala"); + if (classpath.length() > 0) buf.append(" -classpath " + classpath); + buf.append(" " + main); + if (arguments.length() > 0) buf.append(" ").append(arguments); + buf.toString() + </COMMAND> + </COMMANDS> +</COMMANDO> + +<!-- $Id$ --> diff --git a/support/jedit/console/commando/scalac.xml b/support/jedit/console/commando/scalac.xml new file mode 100644 index 0000000000..7fad39bada --- /dev/null +++ b/support/jedit/console/commando/scalac.xml @@ -0,0 +1,70 @@ +<?xml version="1.0"?> +<!DOCTYPE COMMANDO SYSTEM "commando.dtd"> +<!-- Author(s): Manpreet Singh \junkblocker/ \at/ \yahoo/ \dot/ \com/ --> +<!-- Stephane Micheloud (http://scala.epfl.ch/) --> +<COMMANDO> + <UI> + <CAPTION LABEL="Scala Settings"> + <!-- See http://www.rgagnon.com/javadetails/java-0150.html --> + <DIR_ENTRY LABEL="Scala Home Path" VARNAME="home" EVAL=' + envProps = new Properties(); + osname = System.getProperty("os.name", "unknown").toLowerCase(); + if (osname.indexOf("windows 9") != -1) { + cmd = "command.com /c set"; + isWin32 = true; + } + else if ( (osname.indexOf("nt") != -1) || + (osname.indexOf("windows 20") != -1) || + (osname.indexOf("windows xp") != -1) ) { + cmd = "cmd.exe /c set"; + isWin32 = true; + } + else { + cmd = "env"; + isWin32 = false; + } + p = Runtime.getRuntime().exec(cmd); + is = new InputStreamReader(p.getInputStream()); + rd = new BufferedReader(is); + line = null; + while ((line = rd.readLine()) != null) { + index = -1; + if ((index = line.indexOf("=")) > -1) { + key = line.substring(0, index).trim(); + value = line.substring(index + 1).trim(); + envProps.setProperty(key, value); + } + else + envProps.setProperty(line, ""); + } + is.close(); + + value = envProps.getProperty("SCALA_HOME"); + if (value == null) { + value = (isWin32) ? "c:\\\\Progra~1\\Scala" : "/usr/local/scala"; + } + value + '/> + </CAPTION> + <CAPTION LABEL="Source File(s)"> + <FILE_ENTRY LABEL="Source File(s)" VARNAME="sources" EVAL='buffer.getPath()'/> + </CAPTION> + <CAPTION LABEL="Paths"> + <DIR_ENTRY LABEL="Class path" VARNAME="classpath" EVAL='buffer.getDirectory()'/> + <DIR_ENTRY LABEL="Output directory" VARNAME="output_dir"/> + </CAPTION> + </UI> + <COMMANDS> + <COMMAND SHELL="System" CONFIRM="FALSE"> + buf = new StringBuffer(); + if (home.length() > 0) buf.append(home + File.separator + "bin" + File.separator); + buf.append("scalac"); + if (classpath.length() > 0) buf.append(" -classpath " + classpath); + if (output_dir.length() > 0) buf.append(" -d " + output_dir); + buf.append(" " + sources); + buf.toString() + </COMMAND> + </COMMANDS> +</COMMANDO> + +<!-- $Id$ --> diff --git a/support/jedit/console/commando/scalaint.xml b/support/jedit/console/commando/scalaint.xml new file mode 100644 index 0000000000..204724a04a --- /dev/null +++ b/support/jedit/console/commando/scalaint.xml @@ -0,0 +1,77 @@ +<?xml version="1.0"?> +<!DOCTYPE COMMANDO SYSTEM "commando.dtd"> +<!-- Author(s): Manpreet Singh \junkblocker/ \at/ \yahoo/ \dot/ \com/ --> +<!-- Stephane Micheloud (http://scala.epfl.ch/) --> +<COMMANDO> + <UI> + <CAPTION LABEL="Scala Settings"> + <!-- See http://www.rgagnon.com/javadetails/java-0150.html --> + <DIR_ENTRY LABEL="Scala Home Path" VARNAME="home" EVAL=' + envProps = new Properties(); + osname = System.getProperty("os.name", "unknown").toLowerCase(); + if (osname.indexOf("windows 9") != -1) { + cmd = "command.com /c set"; + isWin32 = true; + } + else if ( (osname.indexOf("nt") != -1) || + (osname.indexOf("windows 20") != -1) || + (osname.indexOf("windows xp") != -1) ) { + cmd = "cmd.exe /c set"; + isWin32 = true; + } + else { + cmd = "env"; + isWin32 = false; + } + p = Runtime.getRuntime().exec(cmd); + is = new InputStreamReader(p.getInputStream()); + rd = new BufferedReader(is); + line = null; + while ((line = rd.readLine()) != null) { + index = -1; + if ((index = line.indexOf("=")) > -1) { + key = line.substring(0, index).trim(); + value = line.substring(index + 1).trim(); + envProps.setProperty(key, value); + } + else + envProps.setProperty(line, ""); + } + is.close(); + + value = envProps.getProperty("SCALA_HOME"); + if (value == null) { + value = (isWin32) ? "c:\\\\Progra~1\\Scala" : "/usr/local/scala"; + } + value + '/> + </CAPTION> + <CAPTION LABEL="Source File(s)"> + <FILE_ENTRY LABEL="File Name" VARNAME="file" EVAL="buffer.getPath()"/> + <!-- the following awaits creation of a dynamic CHOICE element --> + <ENTRY LABEL="Main class" VARNAME="main" EVAL=' + import java.util.regex.Pattern; + p = Pattern.compile(".*object\\s+([A-Za-z_][A-Za-z0-9_]*).*?def\\s+main\\s*\\(.*", Pattern.MULTILINE | Pattern.DOTALL).matcher(buffer.getText(0, buffer.getLength())); + packageName = console.ConsolePlugin.getPackageName(buffer); + p.matches() ? ((packageName == null) ? "" : packageName + ".") + p.group(1) : console.ConsolePlugin.getClassName(buffer) + '/> + </CAPTION> + + <CAPTION LABEL="Application Settings"> + <ENTRY LABEL="Application Parameters" VARNAME="arguments"/> + </CAPTION> + </UI> + <COMMANDS> + <COMMAND SHELL="System" CONFIRM="FALSE"> + buf = new StringBuffer(); + if (home.length() > 0) buf.append(home + File.separator + "bin" + File.separator); + buf.append("scalaint"); + buf.append(" " + file); + buf.append(" -- " + main); + if (arguments.length() > 0) buf.append(" ").append(arguments); + buf.toString() + </COMMAND> + </COMMANDS> +</COMMANDO> + +<!-- $Id$ --> diff --git a/support/jedit/console/commando/scalarun.xml b/support/jedit/console/commando/scalarun.xml new file mode 100644 index 0000000000..98b7a29d48 --- /dev/null +++ b/support/jedit/console/commando/scalarun.xml @@ -0,0 +1,80 @@ +<?xml version="1.0"?> +<!DOCTYPE COMMANDO SYSTEM "commando.dtd"> +<!-- Author(s): Manpreet Singh \junkblocker/ \at/ \yahoo/ \dot/ \com/ --> +<!-- Stephane Micheloud (http://scala.epfl.ch/) --> +<COMMANDO> + <UI> + <CAPTION LABEL="Scala Settings"> + <!-- See http://www.rgagnon.com/javadetails/java-0150.html --> + <DIR_ENTRY LABEL="Scala Home Path" VARNAME="home" EVAL=' + envProps = new Properties(); + osname = System.getProperty("os.name", "unknown").toLowerCase(); + if (osname.indexOf("windows 9") != -1) { + cmd = "command.com /c set"; + isWin32 = true; + } + else if ( (osname.indexOf("nt") != -1) || + (osname.indexOf("windows 20") != -1) || + (osname.indexOf("windows xp") != -1) ) { + cmd = "cmd.exe /c set"; + isWin32 = true; + } + else { + cmd = "env"; + isWin32 = false; + } + p = Runtime.getRuntime().exec(cmd); + is = new InputStreamReader(p.getInputStream()); + rd = new BufferedReader(is); + line = null; + while ((line = rd.readLine()) != null) { + index = -1; + if ((index = line.indexOf("=")) > -1) { + key = line.substring(0, index).trim(); + value = line.substring(index + 1).trim(); + envProps.setProperty(key, value); + } + else + envProps.setProperty(line, ""); + } + is.close(); + + value = envProps.getProperty("SCALA_HOME"); + if (value == null) { + value = (isWin32) ? "c:\\\\Progra~1\\Scala" : "/usr/local/scala"; + } + value + '/> + </CAPTION> + <CAPTION LABEL="Source File(s)"> + <FILE_ENTRY LABEL="File Name" VARNAME="file" EVAL="buffer.getPath()"/> + <!-- + <DIR_ENTRY LABEL="Running Directory" VARNAME="dir" EVAL="buffer.getDirectory()"/> + --> + <!-- the following awaits creation of a dynamic CHOICE element --> + <ENTRY LABEL="Main class" VARNAME="main" EVAL=' + import java.util.regex.Pattern; + p = Pattern.compile(".*object\\s+([A-Za-z_][A-Za-z0-9_]*).*?def\\s+main\\s*\\(.*", Pattern.MULTILINE | Pattern.DOTALL).matcher(buffer.getText(0, buffer.getLength())); + packageName = console.ConsolePlugin.getPackageName(buffer); + p.matches() ? ((packageName == null) ? "" : packageName + ".") + p.group(1) : console.ConsolePlugin.getClassName(buffer) + '/> + </CAPTION> + + <CAPTION LABEL="Application Settings"> + <ENTRY LABEL="Application Parameters" VARNAME="arguments"/> + </CAPTION> + </UI> + <COMMANDS> + <COMMAND SHELL="System" CONFIRM="FALSE"> + buf = new StringBuffer(); + if (home.length() > 0) buf.append(home + File.separator + "bin" + File.separator); + buf.append("scalarun"); + buf.append(" " + file); + buf.append(" -- " + main); + if (arguments.length() > 0) buf.append(" ").append(arguments); + buf.toString() + </COMMAND> + </COMMANDS> +</COMMANDO> + +<!-- $Id$ --> |