sbbs.el

Diff
Login

Differences From Artifact [c864d8c09d]:

To Artifact [4c0b868675]:


   561    561     (setq-local revert-buffer-function #'sbbs--reload-thread))
   562    562   
   563    563   (defvar sbbs-compose-mode-map
   564    564     (let ((map (make-sparse-keymap)))
   565    565       (define-key map (kbd "C-c C-c") #'sbbs-compose-create)
   566    566       map))
   567    567   
          568  +(defvar sbbs--font-lock
          569  +  ;; stolen/based on from http://textboard.org/prog/81/5
          570  +  '(;; code
          571  +    ("^```\\(.*\n\\)*?```\n?" . 'sbbs--code-face)
          572  +    ;; bold
          573  +    ("\\*\\*[^ ].*?\\*\\*" . 'bold)
          574  +    ;; italic
          575  +    ("__[^ ].*?__" . 'italic)
          576  +    ;; monospaced
          577  +    ("==[^ ].*?==" . 'shadow)
          578  +    ;; spoiler
          579  +    ("~~[^ ].*?~~" . 'sbbs--spoiler-face)
          580  +    ;; references
          581  +    (">>\\([[:digit:]]+\\(?:-[[:digit:]]+\\)?\\(?:,[[:digit:]]+\\(?:-[[:digit:]]+\\)?\\)*\\)"
          582  +     . 'link)
          583  +    ;; quotes
          584  +    ("^>.*" . font-lock-comment-face))
          585  +  "Highlighting for SchemeBBS posts")
          586  +
   568    587   (define-derived-mode sbbs-compose-mode text-mode "SchemeBBS Compose"
   569    588     "Major mode for composing replies and starting new threads."
          589  +  (setq-local comment-start ">")
          590  +  (setq-local comment-start-skip "^>")
          591  +  (setq-local font-lock-defaults '(sbbs--font-lock))
          592  +  (setq-local font-lock-multiline t)
   570    593     (setq-local fill-column most-positive-fixnum)
   571    594     (message "Press C-c C-c to send"))
   572    595   
   573    596   (provide 'sbbs)
   574    597   
   575    598   ;;; sbbs.el ends here