From 55c0587735265689809591c9f4199f51a8481ad8 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Tue, 9 Mar 2021 18:11:57 +0000 Subject: (Emacs)+custom personalised ada-mode The defautl ada-mode requires the installation of many different tools, the compilation of several different systems and much more. I wasn't able to fix all the issues with my installation so I decided to scrap it and make my own. This mode just colourises the buffer so far, but I hope to implement indentation shortly. --- Emacs/.config/emacs/ada-mode.el | 66 +++++++++++++++++++++++++++++++++++++++++ Emacs/.config/emacs/config.org | 10 +++++++ 2 files changed, 76 insertions(+) create mode 100644 Emacs/.config/emacs/ada-mode.el (limited to 'Emacs/.config/emacs') 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 +;; 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 . + +;;; 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 diff --git a/Emacs/.config/emacs/config.org b/Emacs/.config/emacs/config.org index 326791f..4f9b9b4 100644 --- a/Emacs/.config/emacs/config.org +++ b/Emacs/.config/emacs/config.org @@ -1697,6 +1697,16 @@ use the current buffer?) but it works out. :keymaps 'pdf-view-mode-map "M-g" #'pdfgrep)) #+end_src +** Ada +Check out [[file:ada-mode.el][ada-mode*]], my custom ada-mode that replaces the default one. +This mode just colourises stuff, and uses eglot to do the heavy +lifting. + +#+begin_src emacs-lisp + (load-file (concat user-emacs-directory "ada-mode.el")) + (with-eval-after-load "eglot" + (add-hook 'ada-mode-hook #'eglot)) +#+end_src ** Org *** Org Core Variables Tons of variables for org-mode, including a ton of latex ones. -- cgit v1.2.3-13-gbd6f