Autocompleter.Editor
Muchos de nosotros que tenemos CMS estamos acostumbrados a pasarlas canutas editando el código de las plantillas con los textarea. Siempre tenemos la manía horrorosa de tabular el contenido y claro yo en mi caso siempre me salgo del foco.
Autocompleter.Editor resuelve este problema y muchos otros más. Es un script JS basado en el autocompleter de script.aculo.us y en un este que tabula el código.
Este editor crea snippets al estilo textmate, es decir, escribiendo una palabra clave y dando al tabulador conseguimos un remplazo de código. También lo dota de tooltips informativos cuando pulsamos ESC y de un autocompletado en caso que el carácter coincida con los tokens del lenguaje.
Para esta primera versión he escrito el lenguage.CSS que básicamente contiene los snippets y los token necesarios para escribir CSS rápido y cómodo.
Aconsejo ver el archivo language.CSS.js para ver los snippets y los token pero os pongo un par de ellos para que entendáis mejor el concepto.
Estos funcionan cuando tabulamos:
{cierra el corchete y hace un salto de linea;hace un salta de linea y tabula:muestra un listado de pseudoclassesmmuestra un listado para elegir propiedadmarginmuestra un listado para especificar propiedad
Estos cuando coincide los tokens:
a:muestra un listado con las pseudoclassesdisplay:muestra un listado de variables@muestra un listado de reglas arroba
Hay que tener en cuenta que el listado que sale cuando coinciden los token es de 5, pero al escribir podremos apurar más la búsqueda.
Quien se anima a escribir más lenguajes?.
Update: Ahora más friki todavía.
Puedes aplicar funciones a la selección del texto. Para verlo en acción tienes que seleccionar texto y pulsar ctrl+shift+(un numero del 0 al 9), por ahora solo hay 3 ejemplos.
Puedes pulsar el numero 1 para desplegar un tooltip o directamente aplicar el uppercase o el lowercase con el 9 o el 0.
Nota: En IE no funciona.
Ver post
Comentar
pecesama#1 hace 878 días
koronas#2 hace 878 días
sosa#3 hace 878 días
IceBeat#4 hace 878 días
Juani#5 hace 877 días
Brillante código, te felicito!
DrSlump#6 hace 877 días
Yo llevo un tiempo trabajando en un editor de código en JavaScript compatible con IE y Moz (portable a Opera 8 y Safari).
Hasta hace poco estaba integrando autocompletado y brace-matching, pero me quemé por intentar implementar funcionalidad avanzada demasiado pronto.
A ver si ahora que ha acabado la liga me pongo los findes a montar una versión beta.
Por cierto, hay más info en http://blog.netxus.es/projects/textarea
infonomadas@gmail.com#7 hace 877 días
Te nombraré padrino de mi proyectito-chorra ;)
IceBeat#8 hace 877 días
DrSlurmp ya nos contaras que tal va ese editor, no hay demo verdad?. Tiene que ser un bastinazo l del highlight y ademas compatible con IE jeje, increible.
Jejej okey infonomadas.
Diego#9 hace 877 días
mfaras#10 hace 875 días
Martin.
IceBeat#11 hace 875 días
Quizas escribe algun post sobre la creación de ellos y el porque de usar los hash o matrizes.
una cosa que vendria de lujo para el lenaguaje html seria el de convertir la seleccion en entidades html, para asi si tenemos codigo podemos convertirlo.
Cronos#12 hace 868 días
ya os informare ;-)
IceBeat#13 hace 868 días
El de html no estaria mal ;P.
carlos#14 hace 194 días
sabes pq no funciona en ie? por casualidad?
IceBeat#15 hace 194 días
@carlos no funciona porque en IE carece de unas características que los otros navegadores tienen, como es el selectionstart. Aunque ahora con rangos creo que podría hacerlo funcionar.
carlos#16 hace 193 días
podrias aconsejarme como hacer que funcione?, no puedo depurarlo ya que ie no tiene debugger de javascript. Hay alguna manera para saber que objeto es el que falla para sustituirlo?.
GRACIAS
IceBeat#17 hace 192 días
@carlos pues creo que seria algo complejo, no lo se, tendrias que reemplzar todos los selectionStar, seleciontEnd, por rangos para el IE, el cual pueda saber que posición de texto tiene seleccionado dentro del textarea.
carlos#18 hace 191 días
estoy intentando arreglarlo, ya esta mas o menos encarrilado lo que me falta es tiempo, cuando lo tenga te lo mando. Un saludo y gracias
carlos#19 hace 191 días
ya creo que esta era solo añadir una funcion, lo estoy probando a destajo a ver si falla pero, he cambiado de camino un par de cosillas como el completar al haer clic al tabulador , dado que en ie cambia el foco de elemento. Por ahora es shift y en firefox shift + spacio. Te lo envio?
IceBeat#20 hace 191 días
Es increíble que el código tenga 2 años y todavía funcione jeje. Pues aceptaría con mucho gusto el update.
Ahora mismo yo tengo que enfocar esto al nuevo postEditor, ya que con las novedades en safari ha dejado de funcionar. postEditor es otro estilo, pero es que hace tiempo que no me manejo con prototype :).