aboutsummaryrefslogtreecommitdiff
path: root/Emacs
diff options
context:
space:
mode:
Diffstat (limited to 'Emacs')
-rw-r--r--Emacs/.config/emacs/ada-mode.el66
-rw-r--r--Emacs/.config/emacs/config.org10
2 files changed, 76 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
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.