summaryrefslogtreecommitdiff
path: root/lisp/flycheck-nasm/flycheck-nasm.el
diff options
context:
space:
mode:
authorJohn Turner <jturner.usa@gmail.com>2024-02-05 16:01:38 -0500
committerJohn Turner <jturner.usa@gmail.com>2024-02-05 16:01:38 -0500
commit7ff7d6570086df681479bfe8b5ad2fc78b4d7c7f (patch)
tree83669a0693669b3db7bd555e866567be653f57be /lisp/flycheck-nasm/flycheck-nasm.el
parent86fee35bc4287f0336f11697709edee9f72e3208 (diff)
downloademacs.d-7ff7d6570086df681479bfe8b5ad2fc78b4d7c7f.tar.gz
lisp/flycheck-nasm: create flycheck checker for NASM
Diffstat (limited to 'lisp/flycheck-nasm/flycheck-nasm.el')
-rw-r--r--lisp/flycheck-nasm/flycheck-nasm.el37
1 files changed, 37 insertions, 0 deletions
diff --git a/lisp/flycheck-nasm/flycheck-nasm.el b/lisp/flycheck-nasm/flycheck-nasm.el
new file mode 100644
index 0000000..9ff9bde
--- /dev/null
+++ b/lisp/flycheck-nasm/flycheck-nasm.el
@@ -0,0 +1,37 @@
+;;; flycheck-nasm-mode.el --- flycheck checker for NASM -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2024 John Turner
+
+;; Author: John Turner jturner.usa@gmail.com
+
+;; 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 <https://www.gnu.org/licenses/>.
+
+
+;;; Code:
+
+(require 'flycheck)
+
+(flycheck-def-option-var flycheck-nasm-format "elf64" nasm
+ "NASM executable format."
+ :type 'string)
+
+(flycheck-define-checker nasm
+ "Flycheck checker for NASM."
+ :command ("nasm" "-o" "/dev/null" (option "-f" flycheck-nasm-format) source)
+ :error-patterns ((error line-start (file-name) ":" line ":" space "error:" space (message) line-end)
+ (warning line-start (file-name) ":" line ":" space "warning:" space (message) line-end))
+ :modes (asm-mode nasm-mode))
+
+(provide 'flycheck-nasm)
+;;; flycheck-nasm-mode.el ends here