diff options
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) |
