Los editores “clásicos” como Emacs y VIM pueden parecer cosa del pasado cuando hoy en día IDEs como NetBeans o Eclipse detectan errores en el código sin necesidad esperar a compilarlo para encontrarlo (aunque esto se de sobre todo con Java, por algún extraño motivo...), sin embargo la extensionalidad de estos editores permite replicar esto sin grandes problemas.

Emacs incluye por defecto un “minor-mode” llamado flymake que permite hacerlo, aunque haya que hacer unas pequeñas configuraciones dependiendo del lenguaje, la Wiki de Emacs describe como hacerlo para unos cuantos lenguajes.

Pero, y si el lenguaje no está soportado, como Flex o ensamblador? La solución es sencilla, solo habrá que crear un Makefile con una entrada check-syntax que lance el comando adecuado sobre los archivos $(CHK_SOURCES), por ejemplo:

1
2
3
4
AS=nasm -g

check-syntax:
    $(AS) $(CHK_SOURCES) -o /dev/null

Puede que al activar el flymake-mode, este se desactive automáticamente por que interpreta la extensión como no válida para esto, se puede añadir a la lista de permitidas con

1
2
3
(push '("\\.<extensión>$" flymake-simple-make-init) flymake-allowed-file-name-masks)
;;; Por ejemplo, para ensamblador
(push '("\\.asm$" flymake-simple-make-init) flymake-allowed-file-name-masks)

Y ya podemos programar en ensamblador con los avisos en tiempo real de cualquier IDE. Flymake sobre un archivo en ensamblador