64 lines
1.7 KiB
Nix
64 lines
1.7 KiB
Nix
{ config, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
mkIf (elem "emacs::web-mode" config.machine.pkgs) {
|
|
programs.emacs.init.usePackage = {
|
|
web-mode = {
|
|
enable = true;
|
|
# bind = {};
|
|
mode = [
|
|
''("\\.html\\'" . web-mode)''
|
|
''("\\.css\\'" . web-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\\."))
|
|
)
|
|
'';
|
|
};
|
|
js2-mode = {
|
|
enable = true;
|
|
mode = [
|
|
''("\\.js\\'" . js2-mode)''
|
|
];
|
|
};
|
|
typescript-mode = {
|
|
enable = true;
|
|
hook = lib.optional (elem "emacs::lsp" config.machine.pkgs)
|
|
''(typescript-mode . (lambda () (lsp)))'';
|
|
mode = [
|
|
''("\\.ts\\'" . typescript-mode)''
|
|
];
|
|
};
|
|
# tide = {
|
|
# enable = true;
|
|
# after = [ "typescript-mode" "company" "flycheck" ];
|
|
# hook = [
|
|
# "(typescript-mode . tide-setup)"
|
|
# "(typescript-mode . tide-hl-identifier-mode)"
|
|
# "(before-save . tide-format-before-save)"
|
|
# ];
|
|
# config = ''
|
|
# (flycheck-mode +1)
|
|
# (setq flycheck-check-syntax-automatically '(save mode-enabled))
|
|
# (setq company-tooltip-align-annotations t)
|
|
# '';
|
|
# };
|
|
impatient-mode = {
|
|
enable = true;
|
|
};
|
|
simple-httpd = {
|
|
enable = true;
|
|
};
|
|
};
|
|
}
|