;;; scdoc-mode.el --- Major mode for scdoc files -*- lexical-binding: t; -*- ;; Copyright 2021 Armaan Bhojwani ISC license. ;; Author: Armaan Bhojwani ;; Maintainer: Armaan Bhojwani ;; Created: May 30, 2021 ;; Version: 0.0.0 ;; URL: https://git.armaanb.net/scdoc-mode ;;; Commentary: ;; auto-fill-mode is reccomended. Make sure to add the following to ;; your init file: ;; ;; (autoload 'scdoc-mode "scdoc-mode" "Major mode for editing scdoc files" t) ;; (add-to-list 'auto-mode-alist '("\\.scd\\'" . scdoc-mode)) ;;; Code: (defvar scdoc-level-1 'org-level-1) (defvar scdoc-level-2 'org-level-2) (defvar scdoc-level-3 'org-level-3) (defvar scdoc-underline-face 'underline) (defface scdoc-bold-face '((t :weight bold)) "Plain bold face." :group 'scdoc-faces) (defvar scdoc-bold-face 'scdoc-bold-face) (defvar scdoc-faces '(("^# .*" . scdoc-level-1) ; Heading 1 ("^## .*" . scdoc-level-2) ; Heading 2 ("^### .*" . scdoc-level-3) ; Heading 3 ("++$" . font-lock-warning-face) ; Line break ("^```$" . font-lock-comment-delimiter-face) ; Literal text ("^; .*" . font-lock-comment-face) ; Comments ("_.*_" . scdoc-underline-face) ; Undsky blerlines ("\*.*\*" . scdoc-bold-face) ; Bold )) (define-derived-mode scdoc-mode text-mode "scdoc" "Major mode for editing scdoc files." (setq font-lock-defaults '(scdoc-faces) fill-column 80)) (provide 'scdoc-mode) ;;; scdoc-mode.el ends here