Skip to content

Instantly share code, notes, and snippets.

@archimag
Created December 3, 2018 11:10
Show Gist options
  • Save archimag/593350a65db5d31122b4c0d030039f5a to your computer and use it in GitHub Desktop.
Save archimag/593350a65db5d31122b4c0d030039f5a to your computer and use it in GitHub Desktop.
Emacs config for kotlin and gradle
(require 'gradle-mode)
(gradle-mode 1)
(setf gradle-use-gradlew t)
(setf gradle-gradlew-executable "./gradlew")
(eval-after-load 'flycheck
(lambda ()
(require 'flycheck-kotlin)
(flycheck-kotlin-setup)))
(require 'lsp-mode)
(defun is-gradle-project-dir (dir)
(file-exists-p (expand-file-name "build.gradle" dir)))
(defun find-gradle-root-dir (&optional dir)
(let ((root (locate-dominating-file (or dir default-directory) 'is-gradle-project-dir)))
(if root
(or (find-gradle-root-dir (file-name-directory (directory-file-name root)))
root))))
(lsp-define-stdio-client lsp-kotlin-mode
"kotlin"
#'find-gradle-root-dir
'("kotlin-language-server"))
(add-hook 'kotlin-mode-hook
(lambda ()
(flycheck-mode t)
(lsp-kotlin-mode-enable)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment