* pants.el ** Description This library provides an interface to [[http://www.pantsbuild.org/][pants]], a fast, scalable build system. ** Install Get a copy of the repository: #+BEGIN_SRC sh git clone git@github.com:fcuny/pants.el.git #+END_SRC Then update your Emacs configuration: #+BEGIN_SRC emacs-lisp (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")) #+END_SRC ** 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-color= - *pants-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`.