Revision: 51360
Updated Code
at October 18, 2013 21:10 by guai
Updated Code
buffer.setMode("ruby"); buffers = jEdit.getBuffers(); for(i = 0; i < buffers.length; i++) { jrc = buffers[i].getProperty("JRubyContainer"); if(jrc != null) { break; } } if(jrc == null) { jarfilenamefilter = new java.io.FilenameFilter() { boolean accept(File dir, String name) { return name.endsWith(".jar"); } }; libfiles = new File(System.getenv("JRUBY_HOME") + "/lib/").listFiles(jarfilenamefilter); cl = this.getClass().getClassLoader(); for(i = 0; i < libfiles.length; i++) cl.addURL(new URL("jar:" + libfiles[i].toURL().toString() + "!/")); jrc = new org.jruby.embed.ScriptingContainer(); jrc.setClassLoader(cl); } for(i = 0; i < buffers.length; i++) { buffers[i].setProperty("JRubyContainer", jrc); } outbuffer = buffer.getProperty("outbuffer"); if((outbuffer == null) || outbuffer.isClosed()) { outbuffer = jEdit.newFile(view); buffer.setProperty("outbuffer", outbuffer); } out = new java.io.StringWriter(); jrc.setWriter(out); String text() { view.showBuffer(buffer); res = textArea.getSelectedText(); if(res == null || res.length() == 0) { res = buffer.getText(); } return res; } text = text(); jrc.remove("DATA"); ma = java.util.regex.Pattern.compile("(?sm)\\A(.+)^__END__$(.*)\\z").matcher(text); if(ma.matches()) { text = ma.group(1); jrc.put("DATA", ma.group(2)); } result = jrc.runScriptlet(new java.io.ByteArrayInputStream(("# -*- encoding : utf-8 -*-\n\n" + text).getBytes("UTF-8")), "(eval)"); outbuffer.remove(0, outbuffer.getLength()); outbuffer.insert(0, out.toString()); if(result != null) { outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result); view.showBuffer(outbuffer); }
Revision: 51359
Updated Code
at July 30, 2013 22:26 by guai
Updated Code
buffer.setMode("ruby"); buffers = jEdit.getBuffers(); for(i = 0; i < buffers.length; i++) { jrc = buffers[i].getProperty("JRubyContainer"); if(jrc != null) { break; } } if(jrc == null) { jarfilenamefilter = new java.io.FilenameFilter() { boolean accept(File dir, String name) { return name.endsWith(".jar"); } }; libfiles = new File(System.getenv("JRUBY_HOME") + "/lib/").listFiles(jarfilenamefilter); cl = this.getClass().getClassLoader(); for(i = 0; i < libfiles.length; i++) cl.addURL(new URL("jar:" + libfiles[i].toURL().toString() + "!/")); jrc = cl.loadClass("org.jruby.embed.ScriptingContainer").newInstance(); //jrc.setCompatVersion(cl.loadClass("org.jruby.CompatVersion").getEnumConstants()[2]); //JRUBY1_9 //jrc.setKCode(cl.loadClass("org.jruby.util.KCode").getEnumConstants()[2]); //UTF8 //Macros.message(view, jrc.getClassLoader().getClass().getName()); jrc.setClassLoader(cl); } for(i = 0; i < buffers.length; i++) { buffers[i].setProperty("JRubyContainer", jrc); } outbuffer = buffer.getProperty("outbuffer"); if((outbuffer == null) || outbuffer.isClosed()) { outbuffer = jEdit.newFile(view); buffer.setProperty("outbuffer", outbuffer); } out = new java.io.StringWriter(); jrc.setWriter(out); String text() { view.showBuffer(buffer); res = textArea.getSelectedText(); if(res == null || res.length() == 0) { res = buffer.getText(); } return res; } text = text(); jrc.remove("DATA"); ma = java.util.regex.Pattern.compile("(?sm)\\A(.+)^__END__$(.*)\\z").matcher(text); if(ma.matches()) { text = ma.group(1); jrc.put("DATA", ma.group(2)); } result = jrc.runScriptlet(new java.io.ByteArrayInputStream(("# -*- encoding : utf-8 -*-\n\n" + text).getBytes("UTF-8")), "(eval)"); outbuffer.remove(0, outbuffer.getLength()); outbuffer.insert(0, out.toString()); if(result != null) { outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result); view.showBuffer(outbuffer); }
Revision: 51358
Updated Code
at April 10, 2013 21:38 by guai
Updated Code
buffer.setMode("ruby"); buffers = jEdit.getBuffers(); for(i = 0; i < buffers.length; i++) { jrc = buffers[i].getProperty("JRubyContainer"); if(jrc != null) { break; } } if(jrc == null) { jarfilenamefilter = new java.io.FilenameFilter() { boolean accept(File dir, String name) { return name.endsWith(".jar"); } }; libfiles = new File(System.getenv("JRUBY_HOME") + "/lib/").listFiles(jarfilenamefilter); urls = new URL[libfiles.length]; for(i = 0; i < libfiles.length; i++) { urls[i] = new URL("jar:" + libfiles[i].toURL().toString() + "!/"); } jrubycl = new java.net.URLClassLoader(urls, this.getClass().getClassLoader()); jrc = jrubycl.loadClass("org.jruby.embed.ScriptingContainer").newInstance(); //jrc.setCompatVersion(jrubycl.loadClass("org.jruby.CompatVersion").getEnumConstants()[2]); //JRUBY1_9 //jrc.setKCode(jrubycl.loadClass("org.jruby.util.KCode").getEnumConstants()[2]); //UTF8 jrc.setClassLoader(jrubycl); } for(i = 0; i < buffers.length; i++) { buffers[i].setProperty("JRubyContainer", jrc); } outbuffer = buffer.getProperty("outbuffer"); if((outbuffer == null) || outbuffer.isClosed()) { outbuffer = jEdit.newFile(view); buffer.setProperty("outbuffer", outbuffer); } out = new java.io.StringWriter(); jrc.setWriter(out); String text() { view.showBuffer(buffer); res = textArea.getSelectedText(); if(res == null || res.length() == 0) { res = buffer.getText(); } return res; } text = text(); jrc.remove("DATA"); ma = java.util.regex.Pattern.compile("(?sm)\\A(.+)^__END__$(.*)\\z").matcher(text); if(ma.matches()) { text = ma.group(1); jrc.put("DATA", ma.group(2)); } result = jrc.runScriptlet(new java.io.ByteArrayInputStream(("# -*- encoding : utf-8 -*-\n" + text).getBytes("UTF-8")), "script.rb"); outbuffer.remove(0, outbuffer.getLength()); outbuffer.insert(0, out.toString()); outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result); if(result != null) { view.showBuffer(outbuffer); }
Revision: 51357
Updated Code
at February 27, 2013 18:17 by guai
Updated Code
buffer.setMode("ruby"); buffers = jEdit.getBuffers(); for(i = 0; i < buffers.length; i++) { jrc = buffers[i].getProperty("JRubyContainer"); if(jrc != null) { break; } } if(jrc == null) { jarfilenamefilter = new java.io.FilenameFilter() { boolean accept(File dir, String name) { return name.endsWith(".jar"); } }; libfiles = new File(System.getenv("JRUBY_HOME") + "/lib/").listFiles(jarfilenamefilter); urls = new URL[libfiles.length]; for(i = 0; i < libfiles.length; i++) { urls[i] = new URL("jar:" + libfiles[i].toURL().toString() + "!/"); } jrubycl = new java.net.URLClassLoader(urls, this.getClass().getClassLoader()); jrc = jrubycl.loadClass("org.jruby.embed.ScriptingContainer").newInstance(); jrc.setClassLoader(jrubycl); } for(i = 0; i < buffers.length; i++) { buffers[i].setProperty("JRubyContainer", jrc); } outbuffer = buffer.getProperty("outbuffer"); if((outbuffer == null) || outbuffer.isClosed()) { outbuffer = jEdit.newFile(view); buffer.setProperty("outbuffer", outbuffer); } out = new java.io.StringWriter(); jrc.setWriter(out); String text() { view.showBuffer(buffer); res = textArea.getSelectedText(); if(res == null || res.length() == 0) { res = buffer.getText(); } return res; } text = text(); jrc.remove("DATA"); ma = java.util.regex.Pattern.compile("(?sm)\\A(.+)^__END__$(.*)\\z").matcher(text); if(ma.matches()) { text = ma.group(1); jrc.put("DATA", ma.group(2)); } result = jrc.runScriptlet(text); outbuffer.remove(0, outbuffer.getLength()); outbuffer.insert(0, out.toString()); outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result); if(result != null) { view.showBuffer(outbuffer); }
Revision: 51356
Updated Code
at February 27, 2013 18:15 by guai
Updated Code
buffer.setMode("ruby"); buffers = jEdit.getBuffers(); for(i = 0; i < buffers.length; i++) { jrc = buffers[i].getProperty("JRubyContainer"); if(jrc != null) { break; } } jarfilenamefilter = new java.io.FilenameFilter() { boolean accept(File dir, String name) { return name.endsWith(".jar"); } }; if(jrc == null) { libfiles = new File(System.getenv("JRUBY_HOME") + "/lib/").listFiles(jarfilenamefilter); urls = new URL[libfiles.length]; for(i = 0; i < libfiles.length; i++) { urls[i] = new URL("jar:" + libfiles[i].toURL().toString() + "!/"); } jrubycl = new java.net.URLClassLoader(urls, this.getClass().getClassLoader()); jrc = jrubycl.loadClass("org.jruby.embed.ScriptingContainer").newInstance(); jrc.setClassLoader(jrubycl); } for(i = 0; i < buffers.length; i++) { buffers[i].setProperty("JRubyContainer", jrc); } outbuffer = buffer.getProperty("outbuffer"); if((outbuffer == null) || outbuffer.isClosed()) { outbuffer = jEdit.newFile(view); buffer.setProperty("outbuffer", outbuffer); } out = new java.io.StringWriter(); jrc.setWriter(out); String text() { view.showBuffer(buffer); res = textArea.getSelectedText(); if(res == null || res.length() == 0) { res = buffer.getText(); } return res; } text = text(); jrc.remove("DATA"); ma = java.util.regex.Pattern.compile("(?sm)\\A(.+)^__END__$(.*)\\z").matcher(text); if(ma.matches()) { text = ma.group(1); jrc.put("DATA", ma.group(2)); } result = jrc.runScriptlet(text); outbuffer.remove(0, outbuffer.getLength()); outbuffer.insert(0, out.toString()); outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result); if(result != null) { view.showBuffer(outbuffer); }
Revision: 51355
Updated Code
at December 30, 2011 18:17 by guai
Updated Code
buffer.setMode("ruby"); buffers = jEdit.getBuffers(); for(i = 0; i < buffers.length; i++) { jrc = buffers[i].getProperty("JRubyContainer"); if(jrc != null) { break; } } if(jrc == null) { libfiles = new File(System.getenv("JRUBY_HOME") + "/lib/").listFiles(); urls = new URL[libfiles.length]; for(i = 0; i < libfiles.length; i++) { urls[i] = new URL("jar:" + libfiles[i].toURL().toString() + "!/"); } jrubycl = new java.net.URLClassLoader(urls, this.getClass().getClassLoader()); jrc = jrubycl.loadClass("org.jruby.embed.ScriptingContainer").newInstance(); jrc.setClassLoader(jrubycl); } for(i = 0; i < buffers.length; i++) { buffers[i].setProperty("JRubyContainer", jrc); } outbuffer = buffer.getProperty("outbuffer"); if((outbuffer == null) || outbuffer.isClosed()) { outbuffer = jEdit.newFile(view); buffer.setProperty("outbuffer", outbuffer); } out = new java.io.StringWriter(); jrc.setWriter(out); String text() { view.showBuffer(buffer); res = textArea.getSelectedText(); if(res == null || res.length() == 0) { res = buffer.getText(); } return res; } text = text(); jrc.remove("DATA"); ma = java.util.regex.Pattern.compile("(?sm)\\A(.+)^__END__$(.*)\\z").matcher(text); if(ma.matches()) { text = ma.group(1); jrc.put("DATA", ma.group(2)); } result = jrc.runScriptlet(text); outbuffer.remove(0, outbuffer.getLength()); outbuffer.insert(0, out.toString()); outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result); if(result != null) { view.showBuffer(outbuffer); }
Revision: 51354
Updated Code
at September 23, 2011 01:55 by guai
Updated Code
buffer.setMode("ruby"); buffers = jEdit.getBuffers(); for(i = 0; i < buffers.length; i++) { jrc = buffers[i].getProperty("JRubyContainer"); if(jrc != null) { break; } } if(jrc == null) { libfiles = new File(System.getenv("JRUBY_HOME") + "/lib/").listFiles(); urls = new URL[libfiles.length]; for(i = 0; i < libfiles.length; i++) { urls[i] = new URL("jar:" + libfiles[i].toURL().toString() + "!/"); } jrubycl = new java.net.URLClassLoader(urls, this.getClass().getClassLoader()); jrc = jrubycl.loadClass("org.jruby.embed.ScriptingContainer").newInstance(); jrc.setClassLoader(jrubycl); } for(i = 0; i < buffers.length; i++) { buffers[i].setProperty("JRubyContainer", jrc); } outbuffer = buffer.getProperty("outbuffer"); if((outbuffer == null) || outbuffer.isClosed()) { outbuffer = jEdit.newFile(view); buffer.setProperty("outbuffer", outbuffer); } out = new java.io.StringWriter(); jrc.setWriter(out); String text() { res = textArea.getSelectedText(); if(res == null || res.length() == 0) { res = buffer.getText(); } return res; } text = text(); jrc.remove("DATA"); ma = java.util.regex.Pattern.compile("(?sm)\\A(.+)^__END__$(.*)\\z").matcher(text); if(ma.matches()) { text = ma.group(1); jrc.put("DATA", ma.group(2)); } result = jrc.runScriptlet(text); outbuffer.remove(0, outbuffer.getLength()); outbuffer.insert(0, out.toString()); outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result); view.showBuffer(outbuffer);
Revision: 51353
Updated Code
at September 22, 2011 01:10 by guai
Updated Code
buffer.setMode("ruby"); buffers = jEdit.getBuffers(); for(i = 0; i < buffers.length; i++) { jrc = buffers[i].getProperty("JRubyContainer"); if(jrc != null) { break; } } if(jrc == null) { libfiles = new File(System.getenv("JRUBY_HOME") + "/lib/").listFiles(); urls = new URL[libfiles.length]; for(i = 0; i < libfiles.length; i++) { urls[i] = new URL("jar:" + libfiles[i].toURL().toString() + "!/"); } jrubycl = new java.net.URLClassLoader(urls, this.getClass().getClassLoader()); jrc = jrubycl.loadClass("org.jruby.embed.ScriptingContainer").newInstance(); jrc.setClassLoader(jrubycl); } for(i = 0; i < buffers.length; i++) { buffers[i].setProperty("JRubyContainer", jrc); } outbuffer = buffer.getProperty("outbuffer"); if((outbuffer == null) || outbuffer.isClosed()) { outbuffer = jEdit.newFile(view); buffer.setProperty("outbuffer", outbuffer); } out = new java.io.StringWriter(); jrc.setWriter(out); String text() { res = textArea.getSelectedText(); if(res == null || res.length() == 0) { res = buffer.getText(); } return res; } result = jrc.runScriptlet(text()); outbuffer.remove(0, outbuffer.getLength()); outbuffer.insert(0, out.toString()); outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result); view.showBuffer(outbuffer);
Revision: 51352
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 22, 2011 00:47 by guai
Initial Code
buffer.setMode("ruby"); buffers = jEdit.getBuffers(); for(i = 0; i < buffers.length; i++) { jrc = buffers[i].getProperty("JRubyContainer"); if(jrc != null) { break; } } if(jrc == null) { libfiles = new File(System.getenv("JRUBY_HOME") + "/lib/").listFiles(); urls = new URL[libfiles.length]; for(i = 0; i < libfiles.length; i++) { urls[i] = new URL("jar:" + libfiles[i].toURL().toString() + "!/"); } jrubycl = new java.net.URLClassLoader(urls, this.getClass().getClassLoader()); jrc = jrubycl.loadClass("org.jruby.embed.ScriptingContainer").newInstance(); jrc.setClassLoader(jrubycl); } for(i = 0; i < buffers.length; i++) { buffers[i].setProperty("JRubyContainer", jrc); } outbuffer = buffer.getProperty("outbuffer"); if((outbuffer == null) || outbuffer.isClosed()) { outbuffer = jEdit.newFile(view); buffer.setProperty("outbuffer", outbuffer); } out = new ByteArrayOutputStream(); jrc.setOutput(new PrintStream(out)); String text() { res = textArea.getSelectedText(); if(res == null || res.length() == 0) { res = buffer.getText(); } return res; } result = jrc.runScriptlet(text()); outbuffer.remove(0, outbuffer.getLength()); outbuffer.insert(0, out.toString()); outbuffer.insert(outbuffer.getLength(),"\n\tResult: " + result); view.showBuffer(outbuffer);
Initial URL
Initial Description
Almost the same as my snippet for groovy, but for jruby
Initial Title
jEdit macro integrating jRuby
Initial Tags
Initial Language
Java