emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/nginx-mode f33abe7 26/34: Use syntax table instead of font


From: ELPA Syncer
Subject: [nongnu] elpa/nginx-mode f33abe7 26/34: Use syntax table instead of font-lock regexp
Date: Sun, 29 Aug 2021 11:24:16 -0400 (EDT)

branch: elpa/nginx-mode
commit f33abe726268bd2174413bcc7748faf37db9028c
Author: USAMI Kenta <tadsan@zonu.me>
Commit: USAMI Kenta <tadsan@zonu.me>

    Use syntax table instead of font-lock regexp
---
 nginx-mode.el | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/nginx-mode.el b/nginx-mode.el
index 78089cd..319287c 100644
--- a/nginx-mode.el
+++ b/nginx-mode.el
@@ -1,4 +1,3 @@
-
 ;;; nginx-mode.el --- major mode for editing nginx config files
 
 ;; Copyright 2010 Andrew J Cosgriff <andrew@cosgriff.name>
@@ -7,7 +6,7 @@
 ;; Maintainer: Andrew J Cosgriff <andrew@cosgriff.name>
 ;; Created: 15 Oct 2010
 ;; Version: 1.1.6
-;; Keywords: nginx
+;; Keywords: languages, nginx
 
 ;; available from http://github.com/ajc/nginx-mode
 
@@ -50,10 +49,15 @@
   "*Indentation can insert tabs in nginx mode if this is non-nil."
   :type 'boolean :group 'nginx)
 
+(defvar nginx-mode-syntax-table
+  (let ((table (make-syntax-table)))
+    (modify-syntax-entry ?# "< b" table)
+    (modify-syntax-entry ?\n "> b" table)
+    table)
+  "Syntax table for `nginx-mode'.")
 
 (defvar nginx-font-lock-keywords
-  (list '("#.*" . font-lock-comment-face)
-       '("^\\([ \t]+\\)?\\([A-Za-z09_]+\\)" 2 font-lock-keyword-face t)
+  (list '("^\\([ \t]+\\)?\\([A-Za-z09_]+\\)" 2 font-lock-keyword-face t)
        ;; uncomment the next one if you want your eyes to bleed
        ;; (it'll highlight parentheses and curly braces)
        ;;'("\\(\{\\|\}\\|\(\\|\)\\)" . font-lock-pseudo-keyword-face)
@@ -158,16 +162,14 @@ of the closing brace of a block."
   "Keymap for editing nginx config files.")
 
 ;;;###autoload
-(defun nginx-mode ()
+(define-derived-mode nginx-mode prog-mode "Nginx"
   "Major mode for highlighting nginx config files.
 
 The variable nginx-indent-level controls the amount of indentation.
 \\{nginx-mode-map}"
-  (interactive)
-  (kill-all-local-variables)
+  :syntax-table nginx-mode-syntax-table
+
   (use-local-map nginx-mode-map)
-  (setq mode-name "Nginx"
-        major-mode 'nginx-mode)
 
   (set (make-local-variable 'comment-start) "# ")
   (set (make-local-variable 'comment-start-skip) "#+ *")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]