diff options
| author | Joel Klinghed <the_jk@yahoo.com> | 2017-01-10 22:59:49 +0100 |
|---|---|---|
| committer | Joel Klinghed <the_jk@yahoo.com> | 2017-01-10 23:03:12 +0100 |
| commit | 3b109d366f5cc60efb66a88263e1f092900578cb (patch) | |
| tree | d3434ace230bee2f39ccaf945c9c16b73929ab7c /flycheck-android-experimental.el | |
| parent | babdbc6b0a4c3c803996ef4a057846ef461e0a21 (diff) | |
Add a cache for gradle output
Diffstat (limited to 'flycheck-android-experimental.el')
| -rw-r--r-- | flycheck-android-experimental.el | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/flycheck-android-experimental.el b/flycheck-android-experimental.el index 00e0a4e..181b056 100644 --- a/flycheck-android-experimental.el +++ b/flycheck-android-experimental.el @@ -11,10 +11,14 @@ (require 'flycheck) +(defvar flycheck-android-sessiondir nil + "Session directory used for caching.") + (flycheck-define-checker android-java "Java syntax checker using javac." :command ("python" (eval (flycheck-android-find-tool "java")) + (eval (flycheck-android-get-sessiondir)) (eval buffer-file-name) source) :error-patterns @@ -37,6 +41,20 @@ TOOL=name of tool" (concat (file-name-directory (symbol-file 'flycheck-android-find-tool)) (file-name-as-directory "bin"))))) +(defun flycheck-android-remove-sessiondir () + "Delete session dir if it exists and unsets the variable." + (when flycheck-android-sessiondir + (delete-directory flycheck-android-sessiondir t) + (setq flycheck-android-sessiondir nil))) + +(defun flycheck-android-get-sessiondir () + "Return sessiondir if already set otherwise create and set it." + (or flycheck-android-sessiondir + (progn + (add-hook 'kill-emacs-hook 'flycheck-android-remove-sessiondir) + (setq flycheck-android-sessiondir + (make-temp-file "flycheck-android" t))))) + (add-to-list 'flycheck-checkers 'android-java) (provide 'flycheck-android-experimental) |
