From: <ez...@us...> - 2013-12-07 23:52:24
|
Revision: 23375 http://jedit.svn.sourceforge.net/jedit/?rev=23375&view=rev Author: ezust Date: 2013-12-07 23:52:16 +0000 (Sat, 07 Dec 2013) Log Message: ----------- New Project option: run commands from different directroy (shadow build/run). Modified Paths: -------------- plugins/Console/trunk/Console.props plugins/Console/trunk/build.xml plugins/Console/trunk/console/BufferOutput.java plugins/Console/trunk/console/ConsolePlugin.java plugins/Console/trunk/console/ProjectCommandOptionsService.java plugins/Console/trunk/console/Shell.java plugins/Console/trunk/console/commando/CommandoThread.java plugins/Console/trunk/console/commands/latex.xml plugins/Console/trunk/docs/CHANGELOG.txt Added Paths: ----------- plugins/Console/trunk/console/options/ProjectCommandOptionPane.java Removed Paths: ------------- plugins/Console/trunk/console/ProjectCommandOptionPane.java Modified: plugins/Console/trunk/Console.props =================================================================== --- plugins/Console/trunk/Console.props 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/Console.props 2013-12-07 23:52:16 UTC (rev 23375) @@ -3,19 +3,21 @@ # We provide a custom action set, so we must be activated at startup plugin.console.ConsolePlugin.activate=startup plugin.console.ConsolePlugin.name=Console -plugin.console.ConsolePlugin.version=5.1.3 +plugin.console.ConsolePlugin.version=5.1.4 # jEdit 4.4 plugin API for short description. plugin.console.ConsolePlugin.description=A command line shell and plugin interface for adding other custom shells. plugin.console.ConsolePlugin.docs=index.html -plugin.console.ConsolePlugin.author=Slava Pestov, Alan Ezust, Artem Bryantsev +plugin.console.ConsolePlugin.author=Slava Pestov (former), Alan Ezust, Artem Bryantsev # see jEdit.getBuild() to understand the numbering scheme. plugin.console.ConsolePlugin.depend.0=jedit 05.00.99.00 plugin.console.ConsolePlugin.depend.1=jdk 1.6 plugin.console.ConsolePlugin.depend.2=plugin errorlist.ErrorListPlugin 2.1 -plugin.console.ConsolePlugin.depend.3=optional plugin projectviewer.ProjectPlugin 3.5.0 +plugin.console.ConsolePlugin.depend.3=optional plugin CommonControlsPlugin 1.5 +plugin.console.ConsolePlugin.depend.4=optional plugin projectviewer.ProjectPlugin 3.5.0 + # Menu plugin.console.ConsolePlugin.menu=console run-last-console-command - \ commando - commando-compile commando-run console-clear - \ @@ -166,14 +168,14 @@ environment variables.</p></HTML> options.pv.commands.label=Console +options.pv.useRunDir=Directory to run commands: options.pv.commands.help=You can run these commands from Plugins->Console->Project. options.pv.commands.compile=Compile Project: options.pv.commands.run=Run Project: options.pv.shell=Project Root Shell: -options.pv.shell.tooltip=CD to project root will switch to this shell first -options.pv.commands.tooltip=This command is run from the Project Root Shell/Dir +options.pv.shell.tooltip=Use this shell for running commands ### SystemShell console.shell.info.toggle=true console.shell.info=This shell runs operating system processes.\n\ Modified: plugins/Console/trunk/build.xml =================================================================== --- plugins/Console/trunk/build.xml 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/build.xml 2013-12-07 23:52:16 UTC (rev 23375) @@ -8,6 +8,12 @@ - If necessary, change the list of files in the 'packageFiles' selector --> <!-- ================================================== --> + + <!-- One of these two property files below should define build.support to point to + a checkout of the build-support project: + svn co https://jedit.svn.sourceforge.net/svnroot/jedit/build-support/trunk + --> + <property file="build.properties" /> <property file="../build.properties" /> <property name="javadoc.packagenames" value="console.*,jcfunc.*" /> @@ -41,6 +47,7 @@ <path id="project.class.path"> <pathelement location="${jedit.plugins.dir}/ProjectViewer.jar"/> <pathelement location="${jedit.plugins.dir}/ErrorList.jar" /> + <pathelement location="${jedit.plugins.dir}/CommonControls.jar" /> </path> </project> Modified: plugins/Console/trunk/console/BufferOutput.java =================================================================== --- plugins/Console/trunk/console/BufferOutput.java 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/console/BufferOutput.java 2013-12-07 23:52:16 UTC (rev 23375) @@ -41,17 +41,16 @@ /** * - * Output to buffer implementation. + * Implementation of Console "Shell Command, Output to New Buffer" * - * TODO: add better docs here. - * */ public class BufferOutput implements Output { /** Guess the edit mode of the output based on the command line executed. */ - static public String guessMode(String command) { + static public String guessMode(String command) { + command = command.toLowerCase(); if (command.contains("diff") || command.contains("patch")) return "patch"; if (command.contains("html")) return "html"; Modified: plugins/Console/trunk/console/ConsolePlugin.java =================================================================== --- plugins/Console/trunk/console/ConsolePlugin.java 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/console/ConsolePlugin.java 2013-12-07 23:52:16 UTC (rev 23375) @@ -546,19 +546,14 @@ if (cmd == null || cmd.trim() == "") return; } - - // Run the command in the project's root, but then return to - // the original working directory - final SystemShell systemShell = getSystemShell(); + view.getDockableWindowManager().showDockableWindow("console"); final Console console = (Console) getConsole(view); - console.setShell("System"); if (jEdit.getBooleanProperty("console.clearBeforeExecute")) console.clear(); -/* console.getOutput().writeAttrs( - ConsolePane.colorAttributes(console.getInfoColor()), - "\n"+cmd+"\n"); */ - console.chDir(project.getRootPath(), true); + String runDir = project.getProperty("console.runDir"); + if (runDir == null) runDir = project.getRootPath(); + console.chDir(runDir, true); console.run(console.getShell(), console.getOutput(), cmd); } // }}} Deleted: plugins/Console/trunk/console/ProjectCommandOptionPane.java =================================================================== --- plugins/Console/trunk/console/ProjectCommandOptionPane.java 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/console/ProjectCommandOptionPane.java 2013-12-07 23:52:16 UTC (rev 23375) @@ -1,105 +0,0 @@ -/* - * ProjectCommandOptionsService.java - * :tabSize=4:indentSize=4:noTabs=false: - * :folding=explicit:collapseFolds=1: - * - * Copyright © 2010-2013 Damien Radtke, Alan Ezust - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -package console; - - -import javax.swing.*; -import javax.swing.JComboBox; - -import org.gjt.sp.jedit.gui.HistoryTextField; -import org.gjt.sp.jedit.jEdit; -import projectviewer.vpt.VPTProject; -import projectviewer.gui.OptionPaneBase; - -/** - * @author Damien Radtke - * Projectviewer Console OptionPane - * An option pane for configuring project commands - */ -public class ProjectCommandOptionPane extends OptionPaneBase { - - private VPTProject proj; - private JComboBox shell; - private String _shell; - private HistoryTextField compile; - private HistoryTextField run; - - /* - * Constructor for ProjectCommandOptionPane - */ - public ProjectCommandOptionPane(VPTProject proj) { - super("pv.commands", "console"); - this.proj = proj; - } - - protected void _init() { - - compile = new HistoryTextField("console.compile.project"); - run = new HistoryTextField("console.run.project"); - compile.setToolTipText(jEdit.getProperty("options.pv.commands.tooltip")); - run.setToolTipText(jEdit.getProperty("options.pv.commands.tooltip")); - - shell = new JComboBox(Shell.getShellNames()); - shell.setToolTipText(jEdit.getProperty("options.pv.shell.tooltip")); - - _shell = proj.getProperty("console.shell"); - - // check that the previously chosen shell was not uninstalled: - if ((_shell != null) && (console.Shell.getShell(_shell) == null)) - _shell = null; - - if (_shell == null) _shell = Console.shellForVFS(proj.getRootPath()); - shell.setSelectedItem(_shell); - - String _compile = proj.getProperty("console.compile"); - if (_compile != null) - compile.setText(_compile); - - String _run = proj.getProperty("console.run"); - if (_run != null) - run.setText(_run); - - addComponent(new JLabel(jEdit.getProperty("options.pv.commands.help"))); - addComponent(jEdit.getProperty("options.pv.commands.compile"), compile); - addComponent(jEdit.getProperty("options.pv.commands.run"), run); - addComponent(jEdit.getProperty("options.pv.shell"), shell); - - } - - protected void _save() { - String ccmd = compile.getText(); - if (!ccmd.equals("")) { - proj.setProperty("console.compile", compile.getText()); - compile.getModel().addItem(ccmd); - } - String rcmd = run.getText(); - if (!rcmd.equals("")) { - run.getModel().addItem(rcmd); - proj.setProperty("console.run", rcmd); - } - String favoriteShell = shell.getSelectedItem().toString(); - if (!favoriteShell.equals(_shell)) - proj.setProperty("console.shell", favoriteShell); - } - -} Modified: plugins/Console/trunk/console/ProjectCommandOptionsService.java =================================================================== --- plugins/Console/trunk/console/ProjectCommandOptionsService.java 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/console/ProjectCommandOptionsService.java 2013-12-07 23:52:16 UTC (rev 23375) @@ -27,6 +27,8 @@ import org.gjt.sp.jedit.OptionPane; import org.gjt.sp.jedit.OptionGroup; +import console.options.ProjectCommandOptionPane; + /** * @author Damien Radtke * class ProjectCommandOptionsService Modified: plugins/Console/trunk/console/Shell.java =================================================================== --- plugins/Console/trunk/console/Shell.java 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/console/Shell.java 2013-12-07 23:52:16 UTC (rev 23375) @@ -24,8 +24,6 @@ import org.gjt.sp.jedit.*; import org.gjt.sp.jedit.gui.DockableWindowManager; -import org.gjt.sp.util.Log; -import org.gjt.sp.util.StringList; // {{{ Shell class @@ -87,15 +85,7 @@ */ public static String[] getShellNames() { - StringList retVal = new StringList(); - - String[] newAPI = ServiceManager.getServiceNames(SERVICE); - for(int i = 0; i < newAPI.length; i++) - { - retVal.add(newAPI[i]); - } - - return retVal.toArray(); + return ServiceManager.getServiceNames(SERVICE); } //}}} //{{{ handlesVFS() Modified: plugins/Console/trunk/console/commando/CommandoThread.java =================================================================== --- plugins/Console/trunk/console/commando/CommandoThread.java 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/console/commando/CommandoThread.java 2013-12-07 23:52:16 UTC (rev 23375) @@ -27,7 +27,7 @@ import javax.swing.*; import java.util.Vector; import org.gjt.sp.jedit.*; -import org.gjt.sp.util.Log; + //}}} // {{{ commandothread class class CommandoThread extends Thread Modified: plugins/Console/trunk/console/commands/latex.xml =================================================================== --- plugins/Console/trunk/console/commands/latex.xml 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/console/commands/latex.xml 2013-12-07 23:52:16 UTC (rev 23375) @@ -43,10 +43,11 @@ <TOGGLE LABEL="Process a TCX table" VARNAME="tcx"/> </CAPTION> - <CAPTION LABEL="Output options"> - <CHOICE LABEL="Output format" VARNAME="format" DEFAULT="dvi"> - <OPTION LABEL="DVI" VALUE="dvi"/> - <OPTION LABEL="PDF" VALUE="pdf"/> + <CAPTION LABEL="Options"> + <CHOICE LABEL="Latex Executable" VARNAME="executable" DEFAULT="xelatex"> + <OPTION LABEL="xelatex" VALUE="xelatex"/> + <OPTION LABEL="latex" VALUE="latex"/> + <OPTION LABEL="pdflatex" VALUE="pdflatex"/> </CHOICE> <CHOICE LABEL="Interaction mode" VARNAME="interaction" DEFAULT="nonstopmode"> @@ -63,19 +64,16 @@ <COMMANDS> <COMMAND SHELL="System"> buf = new StringBuffer(); - + dir = sourcedir; if (makeIn.equals("projectroot")) { dir = projectroot; } else if (makeIn.equals("customloc")) { dir = customlocation; } - else dir = sourcedir; - if(format.equals("dvi")) - buf.append("latex"); - else - buf.append("pdflatex"); + console.ConsolePlugin.getConsole(view).chDir(dir); + buf.append(executable); if(!font_max.equals("")) { Added: plugins/Console/trunk/console/options/ProjectCommandOptionPane.java =================================================================== --- plugins/Console/trunk/console/options/ProjectCommandOptionPane.java (rev 0) +++ plugins/Console/trunk/console/options/ProjectCommandOptionPane.java 2013-12-07 23:52:16 UTC (rev 23375) @@ -0,0 +1,147 @@ +/* + * ProjectCommandOptionsService.java + * :tabSize=4:indentSize=4:noTabs=false: + * :folding=explicit:collapseFolds=1: + * + * Copyright © 2010-2013 Damien Radtke, Alan Ezust + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +package console.options; + + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.*; + +import org.gjt.sp.jedit.gui.HistoryTextField; +import org.gjt.sp.jedit.jEdit; + +import common.gui.FileTextField; + +import console.Console; +import console.Shell; +import projectviewer.vpt.VPTProject; +import projectviewer.gui.OptionPaneBase; + +/** ProjectViewer Console OptionPane + * + * An option pane for configuring project commands + * + * @author Damien Radtke + * @author Alan Ezust + * + */ +@SuppressWarnings("serial") +public class ProjectCommandOptionPane extends OptionPaneBase implements ActionListener { + + private VPTProject proj; + private JComboBox<String> shell; + private String _shell; + private HistoryTextField compile; + + private HistoryTextField run; + private JCheckBox useRunDir; + private FileTextField runDir; + private String _runDir; + + /* + * Constructor for ProjectCommandOptionPane + */ + public ProjectCommandOptionPane(VPTProject proj) { + super("pv.commands", "console"); + this.proj = proj; + } + + protected void _init() { + + compile = new HistoryTextField("console.compile.project"); + + run = new HistoryTextField("console.run.project"); + useRunDir = new JCheckBox(jEdit.getProperty("options.pv.useRunDir")); + runDir = new FileTextField(); + shell = new JComboBox<String>(Shell.getShellNames()); + + runDir.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + +// compile.setToolTipText(jEdit.getProperty("options.pv.commands.tooltip")); +// run.setToolTipText(jEdit.getProperty("options.pv.commands.tooltip")); + shell.setToolTipText(jEdit.getProperty("options.pv.shell.tooltip")); + + _runDir = proj.getProperty("console.runDir"); + useRunDir.setSelected(_runDir != null); + useRunDir.addActionListener(this); + if (_runDir == null) + _runDir = proj.getRootPath(); + runDir.getTextField().setText(_runDir); + + + _shell = proj.getProperty("console.shell"); + // check that the previously chosen shell was not uninstalled: + if ((_shell != null) && (console.Shell.getShell(_shell) == null)) + _shell = null; + + if (_shell == null) _shell = Console.shellForVFS(proj.getRootPath()); + shell.setSelectedItem(_shell); + + String _compile = proj.getProperty("console.compile"); + if (_compile != null) + compile.setText(_compile); + + String _run = proj.getProperty("console.run"); + if (_run != null) + run.setText(_run); + + addComponent(new JLabel(jEdit.getProperty("options.pv.commands.help"))); + addComponent(jEdit.getProperty("options.pv.commands.compile"), compile); + addComponent(jEdit.getProperty("options.pv.commands.run"), run); + addComponent(useRunDir, runDir); + addComponent(jEdit.getProperty("options.pv.shell"), shell); + actionPerformed(null); + + } + + protected void _save() { + String ccmd = compile.getText(); + if (!ccmd.equals("")) { + proj.setProperty("console.compile", ccmd); + compile.getModel().addItem(ccmd); + } + else proj.removeProperty("console.compile"); + + String rcmd = run.getText(); + if (!rcmd.equals("")) { + run.getModel().addItem(rcmd); + proj.setProperty("console.run", rcmd); + } + else proj.removeProperty("console.run"); + + String favoriteShell = shell.getSelectedItem().toString(); + if (!favoriteShell.equals(_shell)) + proj.setProperty("console.shell", favoriteShell); + String rDir = runDir.getTextField().getText(); + if (useRunDir.isSelected() && (rDir != _runDir)) + proj.setProperty("console.runDir", rDir); + else proj.removeProperty("console.runDir"); + } + + @Override + public void actionPerformed(ActionEvent e) { + runDir.setEnabled(useRunDir.isSelected()); + } + +} Modified: plugins/Console/trunk/docs/CHANGELOG.txt =================================================================== --- plugins/Console/trunk/docs/CHANGELOG.txt 2013-12-07 14:52:00 UTC (rev 23374) +++ plugins/Console/trunk/docs/CHANGELOG.txt 2013-12-07 23:52:16 UTC (rev 23375) @@ -2,6 +2,9 @@ jEdit Console Plugin Changelog $Date$ + Version 5.1.4 Requires jEdit 5.0, Java 1.6, ErrorList 2.1, CommonControls 1.5, and ProjectViewer 3.5 (optional). + [Alan Ezust] + New Project option: run commands from different directroy (shadow build/run). Version 5.1.3 Requires jEdit 5.0, Java 1.6, ErrorList 2.1, and ProjectViewer 3.5 (optional). [Alan Ezust] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |