Skip to content
A Emacs major mode for editing Hack code
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
.travis.yml
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Cask
LICENSE
README.md
hack-mode.el
screenshot.png

README.md

hack-mode MELPA Build Status

hack-mode is an Emacs major mode for editing Hack code.

screenshot

hack-mode includes extensive, precise syntax highlighting:

  • Comment highlighting (additionally highlighting special comments like strict, HH_FIXME)
  • Keyword highlighting (case insensitive where appropriate)
  • String ('foo', "foo", <<<FOOand<<<'FOO'§) highlighting, including interpolation
  • XHP support

It also provides indentation, integration with hackfmt and parenthesis match highlighting.

Installation

Install from MELPA, or load this package into your elisp load-path.

Configuration

After installation, hack-mode will automatically run on .hack, .hck and .hhi files.

It will also run on .php files, but php-mode will take precedence if installed. If you want hack-mode to take precedence, use the following:

(add-to-list 'auto-mode-alist '("\\.php\\'" . hack-mode))

Formatting

hack-mode provides hack-format-buffer to run hackfmt on the whole file. If you'd like this automatically run on save, add it to your hooks:

(add-hook 'hack-mode-hook #'hack-enable-format-on-save)

Other Packages

We recommend using hack-mode with the following minor-modes:

(add-hook 'hack-mode-hook #'lsp-hack-enable)
(add-hook 'hack-mode-hook #'flycheck-mode)
(add-hook 'hack-mode-hook #'company-mode)

License

hack-mode is licensed under the GNU General Public License v3.0.

You can’t perform that action at this time.