欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

jEdit宏使其像GroovyConsole一样,jeditgroovyconsole,buffer.setMo

来源: javaer 分享于  点击 23626 次 点评:133

jEdit宏使其像GroovyConsole一样,jeditgroovyconsole,buffer.setMo


buffer.setMode("groovy");buffers = jEdit.getBuffers();for(i = 0; i < buffers.length; i++) {    gsh = buffers[i].getProperty("GroovyShell");    if(gsh != null) { break; }}if(gsh == null) {    libfiles = new File(System.getenv("GROOVY_HOME") + "/lib/").listFiles();    urls = new URL[libfiles.length];    for(i = 0; i < libfiles.length; i++) {        urls[i] = new URL("jar:" + libfiles[i].toURL().toString() + "!/");    }    groovycl = new java.net.URLClassLoader(urls, this.getClass().getClassLoader());    gshClass = groovycl.loadClass("groovy.lang.GroovyShell");    gsh = gshClass.getConstructor(new Class[] {java.lang.ClassLoader.class}).newInstance(new Object[] {groovycl});}for(i = 0; i < buffers.length; i++) {    buffers[i].setProperty("GroovyShell", gsh);}outbuffer = buffer.getProperty("outbuffer");if((outbuffer == null) || outbuffer.isClosed()) {    outbuffer = jEdit.newFile(view);    buffer.setProperty("outbuffer", outbuffer);}out = new java.io.StringWriter();gsh.setProperty("out", out);String text() {    view.showBuffer(buffer);    res = textArea.getSelectedText();    if(res == null || res.length() == 0) { res = buffer.getText(); }    return res;}String cwd = System.getProperty("user.dir");System.setProperty("user.dir", buffer.getDirectory());result = gsh.evaluate(text());System.setProperty("user.dir", cwd);outbuffer.remove(0, outbuffer.getLength());outbuffer.insert(0, out.toString());outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result);if(result != null) {    view.showBuffer(outbuffer);}
相关栏目:

用户点评