summaryrefslogtreecommitdiff
path: root/flycheck-android-experimental.el
diff options
context:
space:
mode:
Diffstat (limited to 'flycheck-android-experimental.el')
-rw-r--r--flycheck-android-experimental.el44
1 files changed, 44 insertions, 0 deletions
diff --git a/flycheck-android-experimental.el b/flycheck-android-experimental.el
new file mode 100644
index 0000000..96374c7
--- /dev/null
+++ b/flycheck-android-experimental.el
@@ -0,0 +1,44 @@
+;;; flycheck-android-experimental.el --- Flycheck for Android using experimental
+;;; gradle plugin
+
+;; Copyright (C) 2017 by Joel Klinghed
+
+;; Author: Joel Klinghed <the_jk@yahoo.com>
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'flycheck)
+
+(flycheck-define-checker android-java
+ "Java syntax checker using javac."
+ :command ("python"
+ (eval (flycheck-android-find-tool "java"))
+ (eval buffer-file-name)
+ source)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ": warning:"
+ (message (one-or-more (not (any "^")))
+ (any "^"))
+ line-end)
+ (error line-start (file-name) ":" line ": error:"
+ (message (one-or-more (not (any "^")))
+ (any "^"))
+ line-end))
+ :modes java-mode)
+
+(defun flycheck-android-find-tool (tool)
+ "Find flycheck-android-TOOL.py.
+TOOL=name of tool"
+ (let ((filename (concat "flycheck-android-" tool ".py")))
+ (expand-file-name
+ filename
+ (concat (file-name-as-directory "bin")
+ (file-name-directory (symbol-file 'flycheck-android-find-tool))))))
+
+(add-to-list 'flycheck-checkers 'android-java)
+
+(provide 'flycheck-android-experimental)
+
+;;; flycheck-android-experimental.el ends here