From c8f29b0220851a66172dd5a127a1951b5ec4b80d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 9 May 2018 10:20:09 +0200 Subject: [PATCH] lang/nim: refactor config.el #568 --- modules/lang/nim/config.el | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/modules/lang/nim/config.el b/modules/lang/nim/config.el index 7527168ff..4beffb199 100644 --- a/modules/lang/nim/config.el +++ b/modules/lang/nim/config.el @@ -1,14 +1,18 @@ ;;; lang/nim/config.el -*- lexical-binding: t; -*- (def-package! nim-mode - :init - (add-hook 'nim-mode-hook #'nimsuggest-mode)) - -(def-package! flycheck-nim - :when (featurep! :feature syntax-checker) - :after nim-mode + :mode "\\.nim\\'" + :mode ("\\.nim\\(ble\\|s\\)\\'" . nimscript-mode) :config - (add-hook 'nimsuggest-mode-hook #'flycheck-mode) + (load "nim-mode-autoloads" nil t) + ;; NOTE nim-mode autoloads sets up xref + + (defun +nim|init-nimsuggest-mode () + "Conditionally load `nimsuggest-mode', instead of clumsily erroring out if +nimsuggest isn't installed." + (when (executable-find "nimsuggest") + (nimsuggest-mode))) + (add-hook 'nim-mode-hook #'+nim|init-nimsuggest-mode) (map! :map nim-mode-map :localleader @@ -19,5 +23,10 @@ '(("Build & run" :exec nim-compile)) :prompt "Build")) -(when (featurep! :completion company) - (add-hook 'nimsuggest-mode-hook #'company-mode)) + +(def-package! flycheck-nim + :when (featurep! :feature syntax-checker) + :after nim-mode + :config + (add-hook 'nimsuggest-mode-hook #'flycheck-mode)) +