¿Textmate tiene una función para sangrar HTML?
HTML Tidy lo sangra, pero también parece eliminar etiquetas. (¡Esto no es HTML completamente correcto, pero aún así!)
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<title></title>
<script type="text/javascript" src="http://www.speechapi.com/static/lib/swfobject.js"></script>
<script type="text/javascript" src="http://www.speechapi.com/static/lib/speechapi-1.1.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<body>
<!-- All above disappears -->
<p>Test</p>
<!-- All below disappears-->
</body>
</html>