|
2 | 2 |
|
3 | 3 | ;; Author: Preetpal S. Sohal |
4 | 4 | ;; URL: https://github.com/preetpalS/emacs-dotenv-mode |
5 | | -;; Version: 0.2.4 |
| 5 | +;; Version: 0.2.5 |
6 | 6 | ;; Package-Requires: ((emacs "24.3")) |
7 | 7 | ;; License: GNU General Public License Version 3 |
8 | 8 |
|
|
36 | 36 | :group 'languages |
37 | 37 | :prefix "dotenv-") |
38 | 38 |
|
| 39 | +;; Adapted from code in ruby-mode provided with Emacs |
| 40 | +(defcustom dotenv-comment-column (default-value 'comment-column) |
| 41 | + "Indentation column of comments." |
| 42 | + :type 'integer |
| 43 | + :safe 'integerp) |
| 44 | + |
39 | 45 | (defvar dotenv-mode-syntax-table |
40 | 46 | (let ((table (make-syntax-table))) |
41 | 47 | (modify-syntax-entry ?' "\"'" table) ; ?' is a string delimiter |
|
78 | 84 | ("\${[[:alpha:]]+[[:alnum:]_]*}" . font-lock-variable-name-face) |
79 | 85 | ("\$([[:alpha:]]+[[:alnum:]_]*)" . font-lock-variable-name-face))) |
80 | 86 |
|
| 87 | +(defun dotenv-mode-variables () |
| 88 | + "Initialize buffer-local variables for `dotenv-mode'" |
| 89 | + (setq-local comment-start "# ") ;; Added due to suggestion by jscheid (https://github.com/jscheid) |
| 90 | + (setq-local comment-end "") |
| 91 | + (setq-local comment-column dotenv-comment-column) |
| 92 | + (setq-local comment-start-skip "#+ *") |
| 93 | + (setq-local font-lock-defaults '((dotenv-mode-keywords)))) |
| 94 | + |
81 | 95 | ;;;###autoload |
82 | 96 | (define-derived-mode dotenv-mode prog-mode ".env" |
83 | 97 | "Major mode for `.env' files." |
84 | 98 | :abbrev-table nil |
85 | 99 | :syntax-table dotenv-mode-syntax-table |
86 | | - (setq-local font-lock-defaults '((dotenv-mode-keywords)))) |
| 100 | + (dotenv-mode-variables)) |
87 | 101 |
|
88 | 102 | ;;;###autoload |
89 | 103 | (mapc (lambda (s) (add-to-list 'auto-mode-alist `(,s . dotenv-mode))) |
|
0 commit comments