diff options
Diffstat (limited to 'configs/shared/.emacs.d/wpc/google-tooling.el')
-rw-r--r-- | configs/shared/.emacs.d/wpc/google-tooling.el | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/configs/shared/.emacs.d/wpc/google-tooling.el b/configs/shared/.emacs.d/wpc/google-tooling.el new file mode 100644 index 000000000000..661df41d6c63 --- /dev/null +++ b/configs/shared/.emacs.d/wpc/google-tooling.el @@ -0,0 +1,53 @@ +;;; google-tooling.el --- Better access to Google tooling -*- lexical-binding: t -*- +;; Author: William Carroll <wpcarro@gmail.com> + +;;; Commentary: + +;; First, I must opine. Feel free to skip this section. In general, it seems +;; that the average programmer's workflow suffer from what economists call +;; "inelastic demand". This means that any increase in price for something +;; sends the demand plummeting. Another way of phrasing this is that +;; programmers are "price sensitive" when it comes to adopting new workflows. +;; +;; For us, any deviation from our "established" workflow feels costly. This +;; makes sense to me because programming is already taxing, so any additional +;; taxation can feel unbearable. Until programming changes dramatically, and we +;; relieve our dependence on files and text for modeling complex applications, +;; this inelastic demand will remain the status quo. Therefore, it's critical +;; to reduce the price of experimenting with new tools such that new, superior +;; habits may form. In this vain, this module attempts to surface "luxury +;; tools" (i.e. dependency pruners, code linters, code formatters) via Emacs to +;; reduce the price of experimenting with them. + +;;; Code: + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Dependencies +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(require 'macros) + +;; TODO: Figure out whether or not to integrate with google-emacs. + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Library +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(defconst google-tooling/tools + '(("Depana" . "depana") + ("Build cleaner" . "build_cleaner") + ("Java formatter" . "google-java-format") + ("Proto formatter" . "clang-format")) + "Mapping of names of tools to the names of the executables that run them.") + +(use-package protobuf-mode + :config + (macros/support-file-extension "pb" protobuf-mode)) + +;; TODO: Call blaze build, use Counsel to select an action, run that action on +;; the nearest BUILD file. + +;; TODO: Call build-cleaner on the nearest BUILD file. + +(provide 'google-tooling) +;;; google-tooling.el ends here |