branch: scratch/editorconfig-cc
commit 6405aa9692a41e7583b725bbb187acca33dbb283
Author: 10sr <8slashes+...@gmail.com>
Commit: Stefan Monnier <monn...@iro.umontreal.ca>

    Add editorconfig-conf-mode.el (#97)
    
    And moved some functions and definitions from editorconfig.el
---
 editorconfig-conf-mode.el | 94 +++++++++++++++++++++++++++++++++++++++++++++++
 editorconfig.el           | 60 ------------------------------
 2 files changed, 94 insertions(+), 60 deletions(-)

diff --git a/editorconfig-conf-mode.el b/editorconfig-conf-mode.el
new file mode 100644
index 0000000000..2c2b6ea73e
--- /dev/null
+++ b/editorconfig-conf-mode.el
@@ -0,0 +1,94 @@
+;;; editorconfig-conf-mode.el --- Major mode for editing .editorconfig files
+
+;; Copyright (C) 2011-2016 EditorConfig Team
+
+;; Author: EditorConfig Team <editorcon...@googlegroups.com>
+;; Version: 0.7.6
+;; URL: https://github.com/editorconfig/editorconfig-emacs#readme
+
+;; See
+;; https://github.com/editorconfig/editorconfig-emacs/graphs/contributors
+;; or the CONTRIBUTORS file for the list of contributors.
+
+;; This file is part of EditorConfig Emacs Plugin.
+
+;; EditorConfig Emacs Plugin 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.
+
+;; EditorConfig Emacs Plugin 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
+;; EditorConfig Emacs Plugin. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Major mode for editing .editorconfig files.
+
+;;; Code:
+
+(require 'conf-mode)
+
+(defvar editorconfig-conf-mode-syntax-table
+  (let ((table (make-syntax-table conf-unix-mode-syntax-table)))
+    (modify-syntax-entry ?\; "<" table)
+    table)
+  "Syntax table in use in `editorconfig-conf-mode' buffers.")
+
+;;;###autoload
+(define-derived-mode editorconfig-conf-mode conf-unix-mode "EditorConfig"
+  "Major mode for editing .editorconfig files."
+  (set-variable 'indent-line-function 'indent-relative)
+  (let ((key-property-list
+          '("charset"
+            "end_of_line"
+            "indent_size"
+            "indent_style"
+            "insert_final_newline"
+            "max_line_length"
+            "root"
+            "tab_width"
+            "trim_trailing_whitespace"))
+        (key-value-list
+          '("true"
+            "false"
+            "lf"
+            "cr"
+            "crlf"
+            "space"
+            "tab"
+            "latin1"
+            "utf-8"
+            "utf-8-bom"
+            "utf-16be"
+            "utf-16le"))
+        (font-lock-value
+          '(("^[ \t]*\\[\\(.+?\\)\\]" 1 font-lock-type-face)
+            ("^[ \t]*\\(.+?\\)[ \t]*[=:]" 1 font-lock-variable-name-face))))
+
+    ;; Highlight all key values
+    (dolist (key-value key-value-list)
+      (add-to-list
+        'font-lock-value
+        `(,(format "[=:][ \t]*\\(%s\\)\\([ \t]\\|$\\)" key-value)
+          1 font-lock-constant-face)))
+    ;; Highlight all key properties
+    (dolist (key-property key-property-list)
+      (add-to-list
+        'font-lock-value
+        `(,(format "^[ \t]*\\(%s\\)[ \t]*[=:]" key-property)
+          1 font-lock-builtin-face)))
+
+    (conf-mode-initialize "#" font-lock-value)))
+
+;;;###autoload
+(add-to-list 'auto-mode-alist
+  '("/\\.editorconfig\\'" . editorconfig-conf-mode))
+
+(provide 'editorconfig-conf-mode)
+
+;;; editorconfig-conf-mode.el ends here
diff --git a/editorconfig.el b/editorconfig.el
index bded6aa75f..7d3c081db1 100644
--- a/editorconfig.el
+++ b/editorconfig.el
@@ -39,8 +39,6 @@
 
 ;;; Code:
 
-(require 'conf-mode)
-
 (declare-function editorconfig-core-get-properties-hash
   "editorconfig-core"
   nil)
@@ -321,12 +319,6 @@ This function do the job only when the major mode is not 
listed in
                  editorconfig-exclude-modes)))
     (editorconfig-apply)))
 
-(defvar editorconfig-conf-mode-syntax-table
-  (let ((table (make-syntax-table conf-unix-mode-syntax-table)))
-    (modify-syntax-entry ?\; "<" table)
-    table)
-  "Syntax table in use in `editorconfig-conf-mode' buffers.")
-
 
 ;;;###autoload
 (define-minor-mode editorconfig-mode
@@ -341,56 +333,4 @@ visiting files or changing major modes if the major mode 
is not listed in
       (add-hook hook 'editorconfig-mode-apply)
       (remove-hook hook 'editorconfig-mode-apply))))
 
-
-
-;;;###autoload
-(define-derived-mode editorconfig-conf-mode conf-unix-mode "EditorConfig"
-  "Major mode for editing .editorconfig files."
-  (set-variable 'indent-line-function 'indent-relative)
-  (let ((key-property-list
-          '("charset"
-            "end_of_line"
-            "indent_size"
-            "indent_style"
-            "insert_final_newline"
-            "max_line_length"
-            "root"
-            "tab_width"
-            "trim_trailing_whitespace"))
-        (key-value-list
-          '("true"
-            "false"
-            "lf"
-            "cr"
-            "crlf"
-            "space"
-            "tab"
-            "latin1"
-            "utf-8"
-            "utf-8-bom"
-            "utf-16be"
-            "utf-16le"))
-        (font-lock-value
-          '(("^[ \t]*\\[\\(.+?\\)\\]" 1 font-lock-type-face)
-            ("^[ \t]*\\(.+?\\)[ \t]*[=:]" 1 font-lock-variable-name-face))))
-
-    ;; Highlight all key values
-    (dolist (key-value key-value-list)
-      (add-to-list
-        'font-lock-value
-        `(,(format "[=:][ \t]*\\(%s\\)\\([ \t]\\|$\\)" key-value)
-          1 font-lock-constant-face)))
-    ;; Highlight all key properties
-    (dolist (key-property key-property-list)
-      (add-to-list
-        'font-lock-value
-        `(,(format "^[ \t]*\\(%s\\)[ \t]*[=:]" key-property)
-          1 font-lock-builtin-face)))
-
-    (conf-mode-initialize "#" font-lock-value)))
-
-;;;###autoload
-(add-to-list 'auto-mode-alist
-  '("/\\.editorconfig\\'" . editorconfig-conf-mode))
-
 (provide 'editorconfig)

Reply via email to