diff options
Diffstat (limited to 'Emacs/.config/emacs/ada-mode.el')
-rw-r--r-- | Emacs/.config/emacs/ada-mode.el | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/Emacs/.config/emacs/ada-mode.el b/Emacs/.config/emacs/ada-mode.el new file mode 100644 index 0000000..764a121 --- /dev/null +++ b/Emacs/.config/emacs/ada-mode.el @@ -0,0 +1,66 @@ +;;; ada-mode.el --- My custom ada-mode that colourises buffers -*- lexical-binding: t; -*- + +;; Copyright (C) 2021 Aryadev Chavali + +;; Author: Aryadev Chavali <aryadev@aryadevchavali.com> +;; Keywords: faces, languages + +;; 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 3 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, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; This provides colourising for ada files. Is not compatible with +;; standard ada-mode due to name conflicts. Personally I'd rather +;; have a mode for colourising a buffer which is what this is supposed +;; to be. + +;; I feel ada-modeā¢ (the official one) tries to do too many things at +;; once, so I want something that does the basics. Also want to take +;; this opportunity to make a new mode and what facilities Emacs +;; provides for it. + +;;; Code: + +(require 'generic-x) + +(define-generic-mode ada-mode + '("--") ; Comments + '("abort" "else" "new" "return" + "abs" "elsif" "not" "reverse" + "abstract" "end" "null" + "accept" "entry" "select" + "access" "exception" "of" "separate" + "aliased" "exit" "or" "subtype" + "all" "others" "synchronized" + "and" "for" "out" + "array" "function" "overriding" "tagged" + "at" "task" + "generic" "package" "terminate" + "begin" "goto" "pragma" "then" + "body" "private" "type" + "if" "procedure" + "case" "in" "protected" "until" + "constant" "interface" "use" + "is" "raise" + "declare" "range" "when" + "delay" "limited" "record" "while" + "delta" "loop" "rem" "with" + "digits" "renames" + "do" "mod" "requeue" "xor") ; Keywords + nil + '("\\.ad\\(b\\|s\\)") + nil) + +(provide 'ada-mode) +;;; ada-mode.el ends here |