|
1 | | -;;; modulefiles-mode.el --- Major mode for Modules modulefiles editing -*- lexical-binding: t; -*- |
| 1 | +;;; modulefile-mode.el --- Major mode for Modules modulefile editing -*- lexical-binding: t; -*- |
2 | 2 |
|
3 | 3 | ;; Author: Laurent Besson <[email protected]> |
4 | 4 | ;; Maintainer: Laurent Besson <[email protected]> |
5 | 5 | ;; Created: June 12, 2025 |
6 | 6 | ;; Version: 1.0 |
7 | | -;; Package-Requires: ((emacs "24") |
8 | | -;; Keywords: Modules, modulefiles |
| 7 | +;; Tested with: ((emacs "24") |
| 8 | +;; Keywords: Modules, modulefile |
9 | 9 | ;; URL: https://modules.readthedocs.io/en/latest/index.html |
10 | 10 |
|
11 | 11 | ;; This file is not part of GNU Emacs. |
|
25 | 25 |
|
26 | 26 | ;; Comments: |
27 | 27 |
|
28 | | -;; modulefiles-mode is a major mode for highlighting modufiles syntax |
29 | | -;; it derives from tcl-mode as modulefiles is based on this language |
30 | | -;; It adds colorizing for main modulefiles commands |
| 28 | +;; modulefile-mode is a major mode for highlighting modufiles syntax |
| 29 | +;; it derives from tcl-mode as modulefile is based on this language |
| 30 | +;; It adds colorizing for main modulefile commands |
| 31 | + |
| 32 | +;; font-lock-keyword-face is used to colorize Modulefile specific commands |
| 33 | +;; font-lock-preprocessor-face is used to colorize Modulefile specific variables |
| 34 | +;; ;; these variables will not be highlighted the same way as regular Tcl variables |
31 | 35 |
|
32 | 36 | ;; Installation |
33 | 37 | ;; Copy this file into your Emacs package search directory |
34 | 38 | ;; and add the folliwing lines to your .emacs startup file: |
35 | 39 | ;; |
36 | | -;; (add-to-list 'magic-mode-alist '("#%Module" . modulefiles-mode)) |
37 | | -;; (autoload 'modulefiles-mode "modulefiles-mode" |
38 | | -;; "Major mode for editing Modulefiles files" t) |
| 40 | +;; (add-to-list 'magic-mode-alist '("#%Module" . modulefile-mode)) |
| 41 | +;; (autoload 'modulefile-mode "modulefile-mode" |
| 42 | +;; "Major mode for editing Modulefile files" t) |
39 | 43 |
|
40 | | -;; Modulefiles mode definition: |
| 44 | +;; Modulefile mode definition: |
41 | 45 |
|
42 | | -(define-derived-mode modulefiles-mode tcl-mode "Modulefiles" |
43 | | - "Major mode for highlighting Modulefiles file type." |
44 | | - (font-lock-add-keywords 'modulefiles-mode |
| 46 | +(define-derived-mode modulefile-mode tcl-mode "Modulefile" |
| 47 | + "Major mode for highlighting Modulefile file type." |
| 48 | + (font-lock-add-keywords 'modulefile-mode |
45 | 49 | '( |
46 | 50 | ("\\<\\(add-property\\|always-load\\|append-path\\|complete\\|conflict\\|depends-on\\|family\\|getenv\\|getvariant\\|hide-modulefile\\|hide-version\\|is-avail\\|is-loaded\\|is-saved\\|is-used\\|lsb-release\\|module-whatis\\|module-alias\\|module-forbid\\|module-help\\|module-hide\\|module-info\\|module-tag\\|module-version\\|module-virtual\\|module-warn\\|modulepath-label\\|module\\|prepend-path\\|prereq-all\\|prereq-any\\|pushenv\\|prereq\\|remove-path\\reportError\\|reportWarning\\|require-fullname\\|set-alias\\|set-function\\|setenv\\|source-sh\\|uncomplete\\|unset-alias\\|uncomplete\\|unset-alias\\|unset-function\\|unetenv\\|variant\\|versioncmp\\|x-resource\\)\\>" . font-lock-keyword-face) |
47 | 51 | ) |
48 | 52 | ) |
| 53 | + (font-lock-add-keywords 'modulefile-mode |
| 54 | + '( |
| 55 | + ("\\<\\(ModulesVersion\\|ModulesCurrentModulefile\\|ModuleToolVersion\\|ModuleVariant\\|ModuleTool\\)\\>" . font-lock-preprocessor-face) |
| 56 | + ) |
| 57 | + ) |
49 | 58 | ) |
50 | 59 |
|
51 | | -(provide 'modulefiles-mode) |
| 60 | +(provide 'modulefile-mode) |
0 commit comments