From 984c470159a68114be2a260412cfefe2c158ab99 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 1 Feb 2017 04:04:28 -0500 Subject: extras: glusterfs-mode.el has incorrect FSF address found by rpmlint on OpenSuSE Build Service And convert DOS crlf to Unix lf, also found by SuSE rpmlint Change-Id: I0329e6682333ead21ca1b76a3b00cb863c2af51b Signed-off-by: Kaleb S. KEITHLEY Reviewed-on: https://review.gluster.org/16500 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Vijay Bellur --- extras/glusterfs-mode.el | 225 ++++++++++++++++++++++++----------------------- 1 file changed, 113 insertions(+), 112 deletions(-) (limited to 'extras') diff --git a/extras/glusterfs-mode.el b/extras/glusterfs-mode.el index d4f6dc568b6..a9ed2335ab3 100644 --- a/extras/glusterfs-mode.el +++ b/extras/glusterfs-mode.el @@ -1,112 +1,113 @@ -;;; Copyright (C) 2007-2011 Gluster Inc. -;;; -;;; 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 2 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, write to the Free Software -;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -;;; - -(defvar glusterfs-mode-hook nil) - -;; (defvar glusterfs-mode-map -;; (let ((glusterfs-mode-map (make-keymap))) -;; (define-key glusterfs-mode-map "\C-j" 'newline-and-indent) -;; glusterfs-mode-map) -;; "Keymap for WPDL major mode") - -(add-to-list 'auto-mode-alist '("\\.vol\\'" . glusterfs-mode)) - -(defconst glusterfs-font-lock-keywords-1 - (list - ; "cluster/{unify,afr,stripe}" - ; "performance/{io-cache,io-threads,write-behind,read-ahead,stat-prefetch}" - ; "protocol/{client/server}" - ; "features/{trash,posix-locks,fixed-id,filter}" - ; "stroage/posix" - ; "encryption/rot-13" - ; "debug/trace" - '("\\<\\(cluster/\\(unify\\|afr\\|replicate\\|stripe\\|ha\\|dht\\|distribute\\)\\|\\performance/\\(io-\\(cache\\|threads\\)\\|write-behind\\|read-ahead\\|symlink-cache\\)\\|protocol/\\(server\\|client\\)\\|features/\\(trash\\|posix-locks\\|locks\\|path-converter\\|filter\\)\\|storage/\\(posix\\|bdb\\)\\|encryption/rot-13\\|debug/trace\\)\\>" . font-lock-keyword-face)) -"Additional Keywords to highlight in GlusterFS mode.") - -(defconst glusterfs-font-lock-keywords-2 - (append glusterfs-font-lock-keywords-1 - (list - ; "replicate" "namespace" "scheduler" "remote-subvolume" "remote-host" - ; "auth.addr" "block-size" "remote-port" "listen-port" "transport-type" - ; "limits.min-free-disk" "directory" - ; TODO: add all the keys here. - '("\\<\\(inode-lru-limit\\|replicate\\|namespace\\|scheduler\\|username\\|password\\|allow\\|reject\\|block-size\\|listen-port\\|transport-type\\|transport-timeout\\|directory\\|page-size\\|page-count\\|aggregate-size\\|non-blocking-io\\|client-volume-filename\\|bind-address\\|self-heal\\|read-only-subvolumes\\|read-subvolume\\|thread-count\\|cache-size\\|window-size\\|force-revalidate-timeout\\|priority\\|include\\|exclude\\|remote-\\(host\\|subvolume\\|port\\)\\|auth.\\(addr\\|login\\)\\|limits.\\(min-disk-free\\|transaction-size\\|ib-verbs-\\(work-request-\\(send-\\|recv-\\(count\\|size\\)\\)\\|port\\|mtu\\|device-name\\)\\)\\)\ \\>" . font-lock-constant-face))) - "option keys in GlusterFS mode.") - -(defconst glusterfs-font-lock-keywords-3 - (append glusterfs-font-lock-keywords-2 - (list - ; "option" "volume" "end-volume" "subvolumes" "type" - '("\\<\\(option\ \\|volume\ \\|subvolumes\ \\|type\ \\|end-volume\\)\\>" . font-lock-builtin-face))) - ;'((regexp-opt (" option " "^volume " "^end-volume" "subvolumes " " type ") t) . font-lock-builtin-face)) - "Minimal highlighting expressions for GlusterFS mode.") - - -(defvar glusterfs-font-lock-keywords glusterfs-font-lock-keywords-3 - "Default highlighting expressions for GlusterFS mode.") - -(defvar glusterfs-mode-syntax-table - (let ((glusterfs-mode-syntax-table (make-syntax-table))) - (modify-syntax-entry ?\# "<" glusterfs-mode-syntax-table) - (modify-syntax-entry ?* ". 23" glusterfs-mode-syntax-table) - (modify-syntax-entry ?\n ">#" glusterfs-mode-syntax-table) - glusterfs-mode-syntax-table) - "Syntax table for glusterfs-mode") - -;; TODO: add an indentation table - -(defun glusterfs-indent-line () - "Indent current line as GlusterFS code" - (interactive) - (beginning-of-line) - (if (bobp) - (indent-line-to 0) ; First line is always non-indented - (let ((not-indented t) cur-indent) - (if (looking-at "^[ \t]*volume\ ") - (progn - (save-excursion - (forward-line -1) - (setq not-indented nil) - (setq cur-indent 0)))) - (if (looking-at "^[ \t]*end-volume") - (progn - (save-excursion - (forward-line -1) - (setq cur-indent 0)) - (if (< cur-indent 0) ; We can't indent past the left margin - (setq cur-indent 0))) - (save-excursion - (while not-indented ; Iterate backwards until we find an indentation hint - (progn - (setq cur-indent 2) ; Do the actual indenting - (setq not-indented nil))))) - (if cur-indent - (indent-line-to cur-indent) - (indent-line-to 0))))) - -(defun glusterfs-mode () - (interactive) - (kill-all-local-variables) - ;; (use-local-map glusterfs-mode-map) - (set-syntax-table glusterfs-mode-syntax-table) - (set (make-local-variable 'indent-line-function) 'glusterfs-indent-line) - (set (make-local-variable 'font-lock-defaults) '(glusterfs-font-lock-keywords)) - (setq major-mode 'glusterfs-mode) - (setq mode-name "GlusterFS") - (run-hooks 'glusterfs-mode-hook)) - -(provide 'glusterfs-mode) +;;; Copyright (C) 2007-2017 Red Hat, Inc. +;;; Copyright (C) 2007-2011 Gluster Inc. +;;; +;;; 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 2 +;;; 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, write to the Free Software +;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +;;; + +(defvar glusterfs-mode-hook nil) + +;; (defvar glusterfs-mode-map +;; (let ((glusterfs-mode-map (make-keymap))) +;; (define-key glusterfs-mode-map "\C-j" 'newline-and-indent) +;; glusterfs-mode-map) +;; "Keymap for WPDL major mode") + +(add-to-list 'auto-mode-alist '("\\.vol\\'" . glusterfs-mode)) + +(defconst glusterfs-font-lock-keywords-1 + (list + ; "cluster/{unify,afr,stripe}" + ; "performance/{io-cache,io-threads,write-behind,read-ahead,stat-prefetch}" + ; "protocol/{client/server}" + ; "features/{trash,posix-locks,fixed-id,filter}" + ; "storage/posix" + ; "encryption/rot-13" + ; "debug/trace" + '("\\<\\(cluster/\\(unify\\|afr\\|replicate\\|stripe\\|ha\\|dht\\|distribute\\)\\|\\performance/\\(io-\\(cache\\|threads\\)\\|write-behind\\|read-ahead\\|symlink-cache\\)\\|protocol/\\(server\\|client\\)\\|features/\\(trash\\|posix-locks\\|locks\\|path-converter\\|filter\\)\\|storage/\\(posix\\|bdb\\)\\|encryption/rot-13\\|debug/trace\\)\\>" . font-lock-keyword-face)) +"Additional Keywords to highlight in GlusterFS mode.") + +(defconst glusterfs-font-lock-keywords-2 + (append glusterfs-font-lock-keywords-1 + (list + ; "replicate" "namespace" "scheduler" "remote-subvolume" "remote-host" + ; "auth.addr" "block-size" "remote-port" "listen-port" "transport-type" + ; "limits.min-free-disk" "directory" + ; TODO: add all the keys here. + '("\\<\\(inode-lru-limit\\|replicate\\|namespace\\|scheduler\\|username\\|password\\|allow\\|reject\\|block-size\\|listen-port\\|transport-type\\|transport-timeout\\|directory\\|page-size\\|page-count\\|aggregate-size\\|non-blocking-io\\|client-volume-filename\\|bind-address\\|self-heal\\|read-only-subvolumes\\|read-subvolume\\|thread-count\\|cache-size\\|window-size\\|force-revalidate-timeout\\|priority\\|include\\|exclude\\|remote-\\(host\\|subvolume\\|port\\)\\|auth.\\(addr\\|login\\)\\|limits.\\(min-disk-free\\|transaction-size\\|ib-verbs-\\(work-request-\\(send-\\|recv-\\(count\\|size\\)\\)\\|port\\|mtu\\|device-name\\)\\)\\)\ \\>" . font-lock-constant-face))) + "option keys in GlusterFS mode.") + +(defconst glusterfs-font-lock-keywords-3 + (append glusterfs-font-lock-keywords-2 + (list + ; "option" "volume" "end-volume" "subvolumes" "type" + '("\\<\\(option\ \\|volume\ \\|subvolumes\ \\|type\ \\|end-volume\\)\\>" . font-lock-builtin-face))) + ;'((regexp-opt (" option " "^volume " "^end-volume" "subvolumes " " type ") t) . font-lock-builtin-face)) + "Minimal highlighting expressions for GlusterFS mode.") + + +(defvar glusterfs-font-lock-keywords glusterfs-font-lock-keywords-3 + "Default highlighting expressions for GlusterFS mode.") + +(defvar glusterfs-mode-syntax-table + (let ((glusterfs-mode-syntax-table (make-syntax-table))) + (modify-syntax-entry ?\# "<" glusterfs-mode-syntax-table) + (modify-syntax-entry ?* ". 23" glusterfs-mode-syntax-table) + (modify-syntax-entry ?\n ">#" glusterfs-mode-syntax-table) + glusterfs-mode-syntax-table) + "Syntax table for glusterfs-mode") + +;; TODO: add an indentation table + +(defun glusterfs-indent-line () + "Indent current line as GlusterFS code" + (interactive) + (beginning-of-line) + (if (bobp) + (indent-line-to 0) ; First line is always non-indented + (let ((not-indented t) cur-indent) + (if (looking-at "^[ \t]*volume\ ") + (progn + (save-excursion + (forward-line -1) + (setq not-indented nil) + (setq cur-indent 0)))) + (if (looking-at "^[ \t]*end-volume") + (progn + (save-excursion + (forward-line -1) + (setq cur-indent 0)) + (if (< cur-indent 0) ; We can't indent past the left margin + (setq cur-indent 0))) + (save-excursion + (while not-indented ; Iterate backwards until we find an indentation hint + (progn + (setq cur-indent 2) ; Do the actual indenting + (setq not-indented nil))))) + (if cur-indent + (indent-line-to cur-indent) + (indent-line-to 0))))) + +(defun glusterfs-mode () + (interactive) + (kill-all-local-variables) + ;; (use-local-map glusterfs-mode-map) + (set-syntax-table glusterfs-mode-syntax-table) + (set (make-local-variable 'indent-line-function) 'glusterfs-indent-line) + (set (make-local-variable 'font-lock-defaults) '(glusterfs-font-lock-keywords)) + (setq major-mode 'glusterfs-mode) + (setq mode-name "GlusterFS") + (run-hooks 'glusterfs-mode-hook)) + +(provide 'glusterfs-mode) -- cgit