{ config, lib, ... }:

with lib;

mkIf (elem "emacs::web-mode" config.machine.pkgs) {
  programs.emacs.init.usePackage.web-mode = {
    enable = true;
    mode = [
      ''("\\.html?\\'" . web-mode)''
      ''("\\.phtml\\'" . web-mode)''
      ''("\\.tpl\\.php\\'" . web-mode)''
      ''("\\.[agj]sp\\'" . web-mode)''
      ''("\\.as[cp]x\\'" . web-mode)''
      ''("\\.erb\\'" . web-mode)''
      ''("\\.mustache\\'" . web-mode)''
      ''("\\.djhtml\\'" . web-mode)''
    ];
    config = ''
      (setq web-mode-engines-alist
            '(("php"    . "\\.phtml\\'")
              ("blade"  . "\\.blade\\."))
      )
    '';
  };
}