JEdit: encerrar entre caracteres especiales al escribir

­

JEdit debe ser el programa que más he usado y que sigo usando.  mi espíritu "aventurero" me hace probar otros editores, pero de una u otra forma vuelvo al nunca bien ponderado JEdit.  hace tiempo escribí un artículo para EstadoBeta acerca de sus gracias, y si hay alguna que le falta es una que encontré en Netbeans (hubo un tiempo que le fuí infiel a  JEdit XD).

Me refiero a la posibilidad de poder presionar ciertos caracteres como " o ' y que el editor vea si hay algo seleccionado, y  de estarlo, que automáticamente encierre lo seleccionado entre estos caracteres especiales.  Ignoro como se llama esta funcionalidad, y por más que busqué, no dí con un plugin que hiciera la tarea.  Este artículo detalla el como lograrlo.

­

Hay hartas cosas buenas de JEdit, pero una de las que nunca había explorado eran las macros.  Muy parecidas a las macros de Office (u OpenOffice), pero en lenguaje Java, dan muchas funcionalidades al "gusto del cliente".  Por defecto vienen hartas ya instaladas, pero si quieres hacer nuevas, las dejas en ~.jedit/macros y JEdit las reconocerá.

Luego encontes llegué al siguiente código:

­selection = textArea.getSelectedText();


if ( selection != null ) {

x = "[ " + selection + " ]";
textArea.setSelectedText( x );

} else

textArea.setSelectedText( "[" );­

Esto, sólo para el caracter [.  Como los caracteres que me interesaba con esta funcionalidad son: " ' [ { (, tengo un archivo con ese código por cada uno de esos caracteres cambiando el caracter necesario en cada uno de ellos.  todos almacenados en ~.jedit/macros.  donde el primero se llama braquets1.bsh para [, braquets2.bsh para {...y así.

Este es el código que hará el truco, pero ¿cómo hacerlo para que se gatille automáticamente al presionar el caracter en cuestión?.  Como otros editores, JEdit también posee los "atajos de teclado" que están en Utilities/Global Options/Shortcuts.  En la parte superior, eliges Macros, y se listarán todas las macros registradas, entre ellas, deberían estar los archivos de braquets.

Ahora sólo selecciona braquets1 y asígnale [, para el braquets2 asígnale {...y así...

Si alguien sabe como se llama la funcionalidad, que por favor lo comente abajo.  Del mismo modo, si alguien conoce una forma mejor de lograr esto, que también lo comente.  Gracias.­