69 lines
2.1 KiB
EmacsLisp
69 lines
2.1 KiB
EmacsLisp
;;; 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 Version
|
|
;; 2 as published by the Free Software Foundation.
|
|
|
|
;; 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 see what facilities Emacs
|
|
;; provides for it.
|
|
|
|
;;; Other notes:
|
|
;; TODO: Handle indenting
|
|
|
|
;;; 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
|