pants.el
Description
This library provides an interface to pants, a fast, scalable build system.
Install
Get a copy of the repository:
git clone git@github.com:fcuny/pants.el.gitThen update your Emacs configuration:
(use-package pants
:load-file "~/workspace/pants.el/pants.el"
:bind (("C-c b" . pants-find-build-file)
("C-c r" . pants-run-binary)
("C-c t" . pants-run-test))
:mode (("BUILD\\'" . pants-build-mode))
:custom
(pants-source-tree-root "/Users/fcuny/workspace/source")
(pants-bury-compilation-buffer t)
(pants-extra-args "-q"))Configuration
There's a few variables that you can set:
pants-completion-system: Which completion system to use. The possible values are Ivy, Ido and Helm. Ivy is the default one.
pants-source-tree-root: Path to the repository.
pants-ini: Name of the pants.ini file to use (default is
pants.ini).pants-exec-name: Path to the pants executable in the repository (default is
pants)pants-build-file: Name of the BUILD file to look for
pants-bury-compilation-buffer: Set to true if you want to bury the compilation buffer after running successfully a command
pants-extra-args: Optional arguments to use with every call to
pants(for example: "-q")pants-exec-args: Optional arguments to the pants executable. The default is
--no-colorpants-build-format-exec: Path to the `buildifier` executable. Required in order to format BUILD files.
Usage
Go to the closest BUILD file
Do m-x pants-find-build-file.
Run a binary target
Do m-x pants-run-binary. It will
present a list of targets and let you select which one to run.
Run a test target
Do m-x pants-run-test. It will present
a list of targets and let you select which one to run.
Jump to a REPL
Do m-x pants-run-python-repl. It will
present a list of targets and create a REPL.
Format the BUILD file
Do m-x pants-build-fmt. It will format
the BUILD file using `buildifier`.
