sbbs.el

Check-in [45803d5d77]
Login
Overview
Comment:implemented fontification in compose buffer
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | master | trunk
Files: files | file ages | folders
SHA3-256: 45803d5d77b6511e3d5926b8ace756e79154d163f6285671cfde7b98d0d9a834
User & Date: philip@warpmail.net on 2020-03-17 12:31:31
Other Links: branch diff | manifest | tags
Context
2020-04-24
08:40
added sbbs-show-replies check-in: 8395dc0011 user: philip@warpmail.net tags: master, trunk
2020-03-17
12:31
implemented fontification in compose buffer check-in: 45803d5d77 user: philip@warpmail.net tags: master, trunk
11:37
disabled paragraph filling while composing check-in: 0cea683e16 user: philip@warpmail.net tags: master, trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Modified sbbs.el from [c864d8c09d] to [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