From: <osw...@us...> - 2008-03-30 22:05:53
|
Revision: 12347 http://jedit.svn.sourceforge.net/jedit/?rev=12347&view=rev Author: oswaldcz Date: 2008-03-30 15:05:51 -0700 (Sun, 30 Mar 2008) Log Message: ----------- Added actions "Evaluate buffer in JavaScript" and "Evaluate selection in JavaScript" Modified Paths: -------------- plugins/JavaScriptShell/trunk/JavaScriptShell.props plugins/JavaScriptShell/trunk/docs/users-guide.xml plugins/JavaScriptShell/trunk/javascriptshell/JavaScriptShell.java Added Paths: ----------- plugins/JavaScriptShell/trunk/actions.xml Modified: plugins/JavaScriptShell/trunk/JavaScriptShell.props =================================================================== --- plugins/JavaScriptShell/trunk/JavaScriptShell.props 2008-03-30 22:05:38 UTC (rev 12346) +++ plugins/JavaScriptShell/trunk/JavaScriptShell.props 2008-03-30 22:05:51 UTC (rev 12347) @@ -1,3 +1,6 @@ + + + plugin.javascriptshell.JavaScriptShellPlugin.name=JavaScript Shell plugin.javascriptshell.JavaScriptShellPlugin.author=Jakub Roztocil plugin.javascriptshell.JavaScriptShellPlugin.description=JavaScript shell and macros handler @@ -11,9 +14,17 @@ macro-handler.javascript.label=JavaScript macro-handler.javascript.glob=*.js -plugin.javascriptshell.JavaScriptShellPlugin.menu=console.shell.JavaScript-show - console.shell.JavaScript-show.label=JavaScript Shell javascript-error.title=JavaScript Error javascript-error.message=A JavaScript error occurred. + + +javascriptshell.evaluate-selection.label=Evaluate selection in JavaScript +javascriptshell.evaluate-buffer.label=Evaluate buffer in JavaScript + + +plugin.javascriptshell.JavaScriptShellPlugin.menu=console.shell.JavaScript-show \ + javascriptshell.evaluate-selection \ + javascriptshell.evaluate-buffer + Added: plugins/JavaScriptShell/trunk/actions.xml =================================================================== --- plugins/JavaScriptShell/trunk/actions.xml (rev 0) +++ plugins/JavaScriptShell/trunk/actions.xml 2008-03-30 22:05:51 UTC (rev 12347) @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<!DOCTYPE ACTIONS SYSTEM "actions.dtd"> +<ACTIONS> + <ACTION NAME="javascriptshell.evaluate-selection"> + <CODE>javascriptshell.JavaScriptShell.evaluateSelection();</CODE> + </ACTION> + <ACTION NAME="javascriptshell.evaluate-buffer"> + <CODE>javascriptshell.JavaScriptShell.evaluateBuffer();</CODE> + </ACTION> +</ACTIONS> Property changes on: plugins/JavaScriptShell/trunk/actions.xml ___________________________________________________________________ Name: svn:keywords + Id Modified: plugins/JavaScriptShell/trunk/docs/users-guide.xml =================================================================== --- plugins/JavaScriptShell/trunk/docs/users-guide.xml 2008-03-30 22:05:38 UTC (rev 12346) +++ plugins/JavaScriptShell/trunk/docs/users-guide.xml 2008-03-30 22:05:51 UTC (rev 12347) @@ -34,7 +34,7 @@ their values are identical to the variables in BeanShell scripts. The variables are: view, textArea and buffer. </para> - + </section> <section id="startup"> <title>Example of a useful startup script written in JavaScript</title> @@ -90,13 +90,21 @@ <title>Change log</title> <itemizedlist> <listitem> - <para>Version 0.1, Requires jEdit 4.3pre6, ConsolePlugin 4.3.3 and Java 1.5</para> + <para>Version 0.1, Requires jEdit 4.3pre6, ConsolePlugin 4.3.3 and Java 1.6</para> <itemizedlist> <listitem> <para>Initial release.</para> </listitem> </itemizedlist> </listitem> + <listitem> + <para>Version 0.2, Requires jEdit 4.3pre6, ConsolePlugin 4.3.3 and Java 1.6</para> + <itemizedlist> + <listitem> + <para>Added menu with actions "JavaScript shell", "Evaluate buffer in JavaScript" and "Evaluate selection in JavaScript"</para> + </listitem> + </itemizedlist> + </listitem> </itemizedlist> </section> </article> Modified: plugins/JavaScriptShell/trunk/javascriptshell/JavaScriptShell.java =================================================================== --- plugins/JavaScriptShell/trunk/javascriptshell/JavaScriptShell.java 2008-03-30 22:05:38 UTC (rev 12346) +++ plugins/JavaScriptShell/trunk/javascriptshell/JavaScriptShell.java 2008-03-30 22:05:51 UTC (rev 12347) @@ -30,6 +30,8 @@ import org.gjt.sp.jedit.Macros.Handler; import org.gjt.sp.util.Log; import org.gjt.sp.jedit.gui.TextAreaDialog; +import org.gjt.sp.jedit.buffer.JEditBuffer; +import org.gjt.sp.jedit.textarea.TextArea; public class JavaScriptShell extends Shell { @@ -86,22 +88,46 @@ public static void runScript(String path, View view) { File file = new File(path); - if (file.exists()) { + try { + BufferedReader reader = new BufferedReader(new FileReader(file)); + StringBuffer code = new StringBuffer(); + String line; + while ((line = reader.readLine()) != null) { + code.append(line+"\n"); + } + evaluateCode(view, code.toString()); + } catch (Exception e) { + Log.log(Log.ERROR, JavaScriptShell.class, e.toString()); + new TextAreaDialog(view, "javascript-error", e); + } + } + + public static void evaluateSelection() { + View view = jEdit.getActiveView(); + TextArea textArea = view.getTextArea(); + String selectedText = textArea.getSelectedText(); + if (selectedText == null) { + view.getToolkit().beep(); + } else { + evaluateCode(view, selectedText); + } + } + + public static void evaluateBuffer() { + View view = jEdit.getActiveView(); + JEditBuffer buffer = view.getBuffer(); + evaluateCode(view, buffer.getText(0, buffer.getLength())); + } + + public static void evaluateCode(View view, String code) { try { - BufferedReader reader = new BufferedReader(new FileReader(file)); - StringBuffer code = new StringBuffer(); - String line; - while ((line = reader.readLine()) != null) { - code.append(line+"\n"); - } //Log.log(Log.DEBUG, JavaScriptShell.class, code.toString()); setGlobals(view); - engine.eval(code.toString()); + engine.eval(code); } catch (Exception e) { Log.log(Log.ERROR, JavaScriptShell.class, e.toString()); new TextAreaDialog(view, "javascript-error", e); } - } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |