Autocompleter.Editor

Agregar a favoritos

20 Comentarios

Posteado hace 878 días en:

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:

  1. { cierra el corchete y hace un salto de linea
  2. ; hace un salta de linea y tabula
  3. : muestra un listado de pseudoclasses
  4. m muestra un listado para elegir propiedad
  5. margin muestra un listado para especificar propiedad

Estos cuando coincide los tokens:

  1. a: muestra un listado con las pseudoclasses
  2. display: muestra un listado de variables
  3. @ 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.

Ver Autocompleter.Editor

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.


  • avatar

    pecesama#1 hace 878 días

    wow, te ha quedado genial y me viene perfecto en estos momentos

  • avatar

    koronas#2 hace 878 días

    Gran idea y muy bien llevada a cabo. Solo falta esperar otras aplicaciones via web que se basen en esta.

  • avatar

    sosa#3 hace 878 días

    Eres un genio! Cuando sea grande quiero ser como tú.

  • avatar

    IceBeat#4 hace 878 días

    Jejej sosa que arte. La verdad que los lenguajes son faciles de hacer y pueden ser intercambiados en tiempo real, aunque lo aconsejable es indicar desde un principio el lenguaje que tiene que editar el textarea.

  • avatar

    Juani#5 hace 877 días

    Realmente te pasaste… está increible! Yo utilizo textpattern también y directamente, editaba el código en una hoja de estilo aparte y para cada modificación la subo y listo. Hago eso justamente por la razón de que no puedo tabular!
    Brillante código, te felicito!

  • avatar

    DrSlump#6 hace 877 días

    La verdad que está muy bien. Me encanta lo de la lista de selectores :)
    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

  • avatar

    infonomadas@gmail.com#7 hace 877 días

    Cagonto!. Lo que andaba buscando para un proyecto que tenía parado por mi poca soltura como coder.

    Te nombraré padrino de mi proyectito-chorra ;)

  • avatar

    IceBeat#8 hace 877 días

    Gracias Juani, es que eso de no poder tabular agobia un poco.
    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.

  • avatar

    Diego#9 hace 877 días

    Sos un grande Daniel :-), está genial esto!

  • avatar

    mfaras#10 hace 875 días

    Interesantísimo, lo voy a probar para aplicarlo en mi CMS (que próximamente será publicado en version GPL). Yo tengo textarea para el CSS y el HTML del template… no prometo nada pero me entusiasmé tanto que me dieron ganas de hacer el de html.

    Martin.

  • avatar

    IceBeat#11 hace 875 días

    Me alegra que te guste Martin y más me alegra que le metas mano haciendo un lenguaje.
    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.

  • avatar

    Cronos#12 hace 868 días

    voy a cojer un software de edicion de css (Topstyle Pro Css Editor 3.1) y voy a completar tu script con mas campos y mas opciones :D en pocos dias estara listo
    ya os informare ;-)

  • avatar

    IceBeat#13 hace 868 días

    Ohh de luho Cronos, gracias por animarte a escribir o completar un lenguaje.
    El de html no estaria mal ;P.

  • avatar

    carlos#14 hace 194 días

    sabes pq no funciona en ie? por casualidad?


  • avatar

    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.


  • avatar

    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


  • avatar

    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.


  • avatar

    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


  • avatar

    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?


  • avatar

    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 :).