diff --git a/layers/+lang/nim/local/flycheck-nim/flycheck-nim.el b/layers/+lang/nim/local/flycheck-nim/flycheck-nim.el deleted file mode 100644 index 9d1a42147..000000000 --- a/layers/+lang/nim/local/flycheck-nim/flycheck-nim.el +++ /dev/null @@ -1,109 +0,0 @@ -;;; flycheck-nim.el --- Defines a flycheck syntax checker for nim - -;; Copyright (c) 2015 Adam Schwalm -;; Author: Adam Schwalm -;; Version: 0.1 - -;; This program is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;;; Code: - -(require 'flycheck) -(require 'dash) - -(flycheck-def-args-var flycheck-nim-args nim) - -(flycheck-def-option-var flycheck-nim-experimental nil nim - "Whether to enable experimental features in the nim compiler. -When non-nil, enables experimental features, via `--experimental'." - :type 'boolean - :safe #'booleanp) - -(flycheck-def-option-var flycheck-nim-threads t nim - "Whether to enable threads. -When non-nil, enables threads, via `--threads:on'." - :type 'boolean - :safe #'booleanp) - -(flycheck-def-option-var flycheck-nim-hints "on" nim - "Whether to enable compiler hints. -Enables or disables all hints via `--hints'." - :type '(choice (const :tag "Off" "off") - (const :tag "On" "on")) - :safe #'stringp) - -(flycheck-def-option-var flycheck-nim-warnings "on" nim - "Whether to enable compiler warnings. -Enables or disables all warnings via `--warnings'." - :type '(choice (const :tag "Off" "off") - (const :tag "On" "on")) - :safe #'stringp) - -(flycheck-def-option-var flycheck-nim-specific-hints nil nim - "Settings for specific hints from the compiler. -Enables or disables specific hints via `--hint[x]'" - :type '(choice (const :tag "No specific hint settings" nil) - (repeat :tag "Specific hint settings" - (group (string :tag "Hint name") - (choice (const :tag "Off" "off") - (const :tag "On" "on"))))) - :safe (lambda (l) (-all? #'flycheck-string-list-p l))) - -(flycheck-def-option-var flycheck-nim-specific-warnings nil nim - "Settings for specific warnings from the compiler. -Enables or disables specific warnings via `--warning[x]'" - :type '(choice (const :tag "No specific warning settings" nil) - (repeat :tag "Specific warning settings" - (group (string :tag "Warning name") - (choice (const :tag "Off" "off") - (const :tag "On" "on"))))) - :safe (lambda (l) (-all? #'flycheck-string-list-p l))) - -(flycheck-define-checker nim - "A syntax checker for the nim programming language. - -See http://nim-lang.org" - :command ("nim" "check" - (option-flag "--experimental" flycheck-nim-experimental) - (option-flag "--threads:on" flycheck-nim-threads) - (option "--hints:" flycheck-nim-hints concat) - (option "--warnings:" flycheck-nim-warnings concat) - (eval (--map (format "--hint[%s]:%s" (car it) (cadr it)) - flycheck-nim-specific-hints)) - (eval (--map (format "--warning[%s]:%s" (car it) (cadr it)) - flycheck-nim-specific-warnings)) - (eval flycheck-nim-args) - ;; Must use source-original so relative imports and - ;; qualified references to local variables resolve correctly - source-original) - :error-patterns - ((error line-start (file-name) "(" line ", " - column ") Error:" - (message (one-or-more not-newline) - (optional - (and "\nbut expected one of:" - (minimal-match (one-or-more anything)) "\n\n")))) - (warning line-start (file-name) "(" line ", " - column ") " (or "Hint:" "Warning:") (message) line-end)) - :error-filter - (lambda (errors) - (flycheck-sanitize-errors (flycheck-increment-error-columns errors))) - :modes (nim-mode nimrod-mode)) - -(add-to-list 'flycheck-checkers 'nim) - -(provide 'flycheck-nim) -;;; flycheck-nim.el ends here diff --git a/layers/+lang/nim/packages.el b/layers/+lang/nim/packages.el index 036c129e3..6af219d3c 100644 --- a/layers/+lang/nim/packages.el +++ b/layers/+lang/nim/packages.el @@ -2,7 +2,7 @@ '(company company-nim flycheck - (flycheck-nim :location local) + flycheck-nim nim-mode)) (defun nim/post-init-company ()