hamlcc ships with hamlint binary when installed globally using npm. You can easily integrate it in emacs's flymake mode. Just copy paste following lines into your emacs init.el
(defun flymake-hamlint-init () (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace)) (local-file (file-relative-name temp-file (file-name-directory buffer-file-name))) (arglist (list local-file))) (list 'hamlint' arglist))) (add-to-list 'flymake-allowed-file-name-masks '("\\.haml\\'" flymake-hamlint-init))
One can decorate the haml file with the first line looking like:
This will tell hamlint what context your template is supposed to be run with.