Sangría html + javascript / css

5

¿Ha encontrado un editor de texto OS X capaz de sangrar tanto la línea

var x = 2;

y las lineas

<it>Item A</it>
<it>Item B</it>

en el siguiente html?

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Test</title>
<script>
function foo_bar() {
var x = 2;
}
</script>
</head>
<body onload="foo_bar()">

<h1>Header</h1>

<ul>
<it>Item A</it>
<it>Item B</it>
</ul>

</body>
</html>

He probado todos los paquetes de emacs que pretenden hacer esta tarea simple correctamente (a través de un modo mayor y otro menor), pero ninguno es adecuado. Estoy demasiado interesado en emacs como para abandonarlo por completo, pero ahora estoy buscando un editor que no sea emacs para esta tarea.

Calaf
fuente
Nadie más va a elegir un editor de texto en función de si puede sangrar automáticamente JavaScript incrustado en HTML. (O busque esta pregunta.)
Lri
¿Es eso así? Nos dilucidan.
Calaf
2
@LauriRanta Esa no es una buena suposición. Si una persona tuviera la pregunta, es muy probable que más lo haga. Si estás interesado en preocuparte por preguntas oscuras, prueba algunas de las mías.
CajunLuke
1
Es interesante, así que no creo que debamos cerrarlo. OTOH parece ser solucionable con algún inteligente hackeo de Emacs Lisp, por lo que tal vez AskDifferent es el lugar equivocado para preguntar.
nohillside
@patrix He probado el modo multi-web y nXhtml. Ninguno de los dos encaja. La compatibilidad con dos modos ha faltado en emacs desde que Knuth mezcló TeX con programas en un solo archivo. Es seguro no apostar que emacs tendrá esta capacidad en el corto plazo. Por supuesto, si publica los "hacks inteligentes de Lisp", hará que muchas personas se sientan encantadas.
Calaf

Respuestas:

3

Escribí web-mode.el (disponible en http://web-mode.org ) porque tuve los mismos problemas que tú. Este modo principal de Emacs para editar plantillas HTML (HTML con CSS / JS / PHP / JSP) es autónomo (no se requiere otro mayor) y resalta la sintaxis y las sangrías según el tipo de bloque.

OP Raving

Con nada más que

(require 'web-mode)

en su .emacsy almacenamiento web-mode.elen una ubicación accesible (su directorio de inicio lo hará para empezar), el ejemplo de código en la pregunta se verá así de inmediato.

ingrese la descripción de la imagen aquí

Para obtener la sangría correcta

ingrese la descripción de la imagen aquí

necesitarás usar

;; First the (general) requisite initialization.
(package-initialize)

(require 'web-mode)

(eval-after-load "web-mode"
  '(progn 
     (add-to-list 'auto-mode-alist '("\\.css\\'" . web-mode))
     (add-to-list 'auto-mode-alist '("\\.html\\'" . web-mode))
     (add-to-list 'auto-mode-alist '("\\.js\\'" . web-mode))

     (setq web-mode-script-padding 2)
     (setq web-mode-style-padding 2)
     (setq web-mode-block-padding 2)
     ))
fxbois
fuente
2

Uso mucho Textmate y me encanta cómo me sangran los autos cuando realizo mis Desarrollos Rails. Es un editor de texto realmente bueno y vale la pena el precio. Tiene muchas características buenas.

Sin embargo, la mayoría de los editores de texto suelen tener sangría automática. Coda 2 sí y creo que Textwrangler y algunos otros. No debería ser demasiado difícil de encontrar que funciona y la mayoría de ellos tienen pruebas gratuitas para jugar primero para ver si son de su agrado.

Espero que esta respuesta te ayude.

de_an777
fuente
1
Sublime Text es otra buena opción: sublimetext.com
Vickash
Sí lo es, gracias, tuve que enterarme de eso.
de_an777
Textmate efectivamente sangra Javascript incrustado dentro de HTML (Editar \ Seleccionar \ Todos = Comando-A; Texto \ Sangría Selección Opción-Comando- [). No veo cómo Coda 2 o Textwrangler pueden sangrar una selección. Sublime Text 2 tiene varias opciones de selección y sangría. Ninguno de mis ensayos sangra el búfer seleccionado. Ahora, si solo Textmate importara de alguna manera mi esquema de color emacs.
Calaf
Textmate te permite cambiar el esquema de color a lo que quieras. Es bastante impresionante, hay muchos temas para descargar. Puedes hacer y crear el tuyo también. Aquí hay uno que encontré que parece un tema oscuro para emacs: mac.softpedia.com/get/Graphics/Emacs-TextMate.shtml
de_an777
... y para usar un tema, haga doble clic en el archivo .tmTheme, en lugar de cargarlo a través de Textmate. Además, como se indica en la sección "14 Temas" del manual, el wiki ( wiki.macromates.com/Themes/UserSubmittedThemes ) tiene varios temas adicionales.
Calaf