diff --git a/layers/+lang/kotlin/README.org b/layers/+lang/kotlin/README.org new file mode 100644 index 000000000..4688181cc --- /dev/null +++ b/layers/+lang/kotlin/README.org @@ -0,0 +1,25 @@ +#+TITLE: kotlin layer + +[[file:img/kotlin.png]] + +* Table of Contents :TOC_4_gh:noexport: +- [[#description][Description]] + - [[#features][Features:]] +- [[#install][Install]] + - [[#layer][Layer]] + - [[#ktlint][Ktlint]] + +* Description +This layer adds support for [[http://kotlinlang.org/][Kotlin]] in Spacemacs + +** Features: + - Linting with [[https://github.com/shyiko/ktlint][ktlint]] and [[https://github.com/whirm/flycheck-kotlin][flycheck-kotlin]] + - navigation with `ggtags` + +* Install +** Layer + To use this configuration layer, add it to your =~/.spacemacs=. You will need to + add =kotlin= to the existing =dotspacemacs-configuration-layers= list in this + file. +** Ktlint + You must install [[https://github.com/shyiko/ktlint][ktlint]] and make sure that the `ktlint` binary is on Emacs' `exec-path` diff --git a/layers/+lang/kotlin/img/kotlin.png b/layers/+lang/kotlin/img/kotlin.png new file mode 100644 index 000000000..344e1f9ce Binary files /dev/null and b/layers/+lang/kotlin/img/kotlin.png differ diff --git a/layers/+lang/kotlin/packages.el b/layers/+lang/kotlin/packages.el new file mode 100644 index 000000000..b7fb06833 --- /dev/null +++ b/layers/+lang/kotlin/packages.el @@ -0,0 +1,42 @@ +;;; packages.el --- kotlin layer packages file for Spacemacs. +;; +;; Copyright (c) 2012-2017 Sylvain Benner & Contributors +;; +;; Author: Shanavas M +;; URL: https://github.com/syl20bnr/spacemacs +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 + +;;; Code: + +(defconst kotlin-packages + '( + kotlin-mode + flycheck + (flycheck-kotlin :requires flycheck) + ggtags + helm-gtags + )) + +(defun kotlin/post-init-flycheck () + (spacemacs/enable-flycheck 'kotlin-mode)) + +(defun kotlin/init-flycheck-kotlin () + (use-package flycheck-kotlin + :defer t + :init (add-hook 'flycheck-mode-hook #'flycheck-kotlin-setup))) + +(defun kotlin/post-init-ggtags () + (add-hook 'kotlin-mode-local-vars-hook #'spacemacs/ggtags-mode-enable)) + +(defun kotlin/post-init-helm-gtags () + (spacemacs/helm-gtags-define-keys-for-mode 'kotlin-mode)) + +(defun kotlin/init-kotlin-mode () + (use-package kotlin-mode + :defer t + :init)) + +;;; packages.el ends here