Existen algunos estándares y estilos generales de codificación bien conocidos para SQL (por ejemplo, capitalizar palabras reservadas, colocar palabras clave principales en diferentes líneas, etc.).
¿Emacs viene con algún modo para esto, o hay algún paquete para formatear SQL para que se adhiera a los estándares comunes?
major-mode
formatting
sql
Amelio Vazquez-Reina
fuente
fuente
Respuestas:
Emacs no viene nada útil para la sangría sql.
Lo mejor que hay es sql-indent.el
Lo que no hace sangría automática solo en sangría de comando.
Lo he encontrado bastante útil a veces
fuente
Si no le importa llamar a un proceso de Python, entonces esto funciona (
pip install sqlparse
):fuente
No es una respuesta completa a su consulta, pero para capitalizar palabras reservadas, tengo algunas definiciones abreviadas. Aquí hay un breve ejemplo para mostrarle (sin incluir todas las palabras sql reservadas)
fuente
Desde la versión 21.4a, Emacs viene con
sql-mode
(sql.el) que hace sangría automática y bloqueo de fuente. Sin linting incorporado, pero le permite definir un linter externo con la variable personalizablesql-linter-program
(M-x customize-group SQL
)fuente