From 7daade1c4d3756e67fe14c87d5212f0c9f77205c Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Sat, 5 Nov 2022 11:14:20 +0100 Subject: Add support for kotlin by adding flycheck-android-kotlin checker --- flycheck-android-experimental.el | 50 +++++++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 6 deletions(-) (limited to 'flycheck-android-experimental.el') 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" -- cgit v1.2.3-70-g09d2