summaryrefslogtreecommitdiff
path: root/flycheck-android-experimental.el
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2022-11-05 11:14:20 +0100
committerJoel Klinghed <the_jk@spawned.biz>2022-11-05 11:14:20 +0100
commit7daade1c4d3756e67fe14c87d5212f0c9f77205c (patch)
tree24030f9b373b3d110a641e3f3e68a43ab47d6436 /flycheck-android-experimental.el
parentb3467614c5917a1c24afa30ae9101984f09a0b0b (diff)
Add support for kotlin by adding flycheck-android-kotlin checker
Diffstat (limited to 'flycheck-android-experimental.el')
-rw-r--r--flycheck-android-experimental.el50
1 files changed, 44 insertions, 6 deletions
diff --git a/flycheck-android-experimental.el b/flycheck-android-experimental.el
index 0449394..4b781eb 100644
--- a/flycheck-android-experimental.el
+++ b/flycheck-android-experimental.el
@@ -34,15 +34,25 @@
:safe #'stringp)
(make-variable-buffer-local 'flycheck-android-java-checkstyle-properties)
-(flycheck-def-option-var flycheck-android-java-variant nil android-java
+(flycheck-def-option-var flycheck-android-variant nil android-java android-kotlin
"Variant to select instead of first."
:safe #'stringp)
-(make-variable-buffer-local 'flycheck-android-java-variant)
+(make-variable-buffer-local 'flycheck-android-variant)
-(flycheck-def-option-var flycheck-android-java-skip-gen nil android-java
+(flycheck-def-option-var flycheck-android-skip-gen nil android-java android-kotlin
"Set to non-nil if generate*Sources task should not be run before checking."
:safe #'stringp)
-(make-variable-buffer-local 'flycheck-android-java-skip-gen)
+(make-variable-buffer-local 'flycheck-android-skip-gen)
+
+(flycheck-def-option-var flycheck-android-kotlin-detekt-cli nil android-kotlin
+ "Path to detekt-cli."
+ :safe #'stringp)
+(make-variable-buffer-local 'flycheck-android-kotlin-detekt-cli)
+
+(flycheck-def-option-var flycheck-android-kotlin-detekt-config nil android-kotlin
+ "Path to detekt.yml."
+ :safe #'stringp)
+(make-variable-buffer-local 'flycheck-android-kotlin-detekt-config)
(flycheck-define-checker android-java
"Java syntax checker using javac."
@@ -57,9 +67,9 @@
(option "--checkstyle-properties="
flycheck-android-java-checkstyle-properties concat)
(option "--variant="
- flycheck-android-java-variant concat)
+ flycheck-android-variant concat)
(option-flag "--skip-gen"
- flycheck-android-java-skip-gen)
+ flycheck-android-skip-gen)
(eval (flycheck-android-get-sessiondir))
(eval buffer-file-name)
source)
@@ -83,6 +93,34 @@
(error line-start (file-name) ":" line ": " (message) line-end))
:modes java-mode)
+(flycheck-define-checker android-kotlin
+ "Kotlin syntax checker using kotlin."
+ :command ("python"
+ (eval (flycheck-android-find-tool "kotlin"))
+ (option "--detekt-cli="
+ flycheck-android-kotlin-detekt-cli concat)
+ (option "--detekt-config="
+ flycheck-android-kotlin-detekt-config concat)
+ (option "--variant="
+ flycheck-android-variant concat)
+ (option-flag "--skip-gen"
+ flycheck-android-skip-gen)
+ (eval (flycheck-android-get-sessiondir))
+ (eval buffer-file-name)
+ source)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ":" column ": warning:"
+ (message (one-or-more (not (any "^")))
+ (any "^"))
+ line-end)
+ (error line-start (file-name) ":" line ":" column ": error:"
+ (message (one-or-more (not (any "^")))
+ (any "^"))
+ line-end)
+ ;; detekt
+ (warning line-start (file-name) ":" line ":" column ": " (message) line-end))
+ :modes kotlin-mode)
+
(defun flycheck-android-find-tool (tool)
"Find flycheck-android-TOOL.py.
TOOL=name of tool"