Overview
Comment: | added formatting functions for compose-mode |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
9cf3c77a3c63613f72df693ddc3940a4 |
User & Date: | philip@warpmail.net on 2020-05-05 19:49:13 |
Other Links: | branch diff | manifest | tags |
Context
2020-05-05
| ||
19:49 | use variable-pitch face for links check-in: 093b218ae8 user: philip@warpmail.net tags: master, trunk | |
19:49 | added formatting functions for compose-mode check-in: 9cf3c77a3c user: philip@warpmail.net tags: master, trunk | |
2020-04-24
| ||
09:30 | show spoilers when point is on one check-in: 5794890443 user: philip@warpmail.net tags: master, trunk | |
Changes
Modified sbbs.el from [02e789626c] to [a69b270c46].
484 484 (insert (format ">>%d" nr)) 485 485 (newline)) 486 486 (setq header-line-format (format "Responding to Thread %d" id) 487 487 sbbs--thread-id id 488 488 sbbs--board board) 489 489 (switch-to-buffer (current-buffer))))) 490 490 491 +(defun sbbs-compose-format (style) 492 + "Insert " 493 + (if (region-active-p) 494 + (save-excursion 495 + (goto-char (region-beginning)) 496 + (insert "style") 497 + (goto-char (region-end)) 498 + (insert "style")) 499 + (insert style style) 500 + (forward-char (- (length style))))) 501 + 502 +(defun sbbs-compose-format-code () 503 + "Insert code syntax markers." 504 + (interactive) 505 + (sbbs-compose-format "```\n")) 506 + 507 +(defun sbbs-compose-format-bold () 508 + "Insert bold syntax markers." 509 + (interactive) 510 + (sbbs-compose-format "**")) 511 + 512 +(defun sbbs-compose-format-italic () 513 + "Insert italic syntax markers." 514 + (interactive) 515 + (sbbs-compose-format "__")) 516 + 517 +(defun sbbs-compose-format-verbatim () 518 + "Insert verbatim syntax markers." 519 + (interactive) 520 + (sbbs-compose-format "==")) 521 + 522 +(defun sbbs-compose-format-spoiler () 523 + "Insert spoiler syntax markers." 524 + (interactive) 525 + (sbbs-compose-format "~~")) 526 + 527 +(defun sbbs-compose-unformat () 528 + (interactive) 529 + (when (search-backward-regexp "\\(\\*\\*\\|==\\|__\\|~~\\)" nil t) 530 + (looking-at (concat "\\(" (regexp-quote (match-string 1)) "\\).*?" 531 + "\\(" (regexp-quote (match-string 1)) "\\)")) 532 + (replace-match "" nil nil nil 2) 533 + (replace-match "" nil nil nil 1))) 534 + 491 535 (defun sbbs-compose-create () 492 536 "Upload response or thread to board." 493 537 (interactive) 494 538 (let ((board sbbs--board) 495 539 (url-request-method "POST") 496 540 (url-request-extra-headers 497 541 '(("Content-Type" . "application/x-www-form-urlencoded"))) ................................................................................ 601 645 (visual-line-mode t) 602 646 (setq-local revert-buffer-function #'sbbs--reload-thread) 603 647 (add-hook 'post-command-hook #'sbbs--uncover-spoiler 604 648 nil t)) 605 649 606 650 (defvar sbbs-compose-mode-map 607 651 (let ((map (make-sparse-keymap))) 652 + (define-key map (kbd "C-c C-f C-b") #'sbbs-compose-format-bold) 653 + (define-key map (kbd "C-c C-f C-i") #'sbbs-compose-format-italic) 654 + (define-key map (kbd "C-c C-f C-v") #'sbbs-compose-format-verbatim) 655 + (define-key map (kbd "C-c C-f C-s") #'sbbs-compose-format-spoiler) 656 + (define-key map (kbd "C-c C-f C-c") #'sbbs-compose-format-code) 657 + (define-key map (kbd "C-c C-f C-d") #'sbbs-compose-unformat) 608 658 (define-key map (kbd "C-c C-c") #'sbbs-compose-create) 609 659 map)) 610 660 611 661 (defvar sbbs--font-lock 612 662 ;; stolen/based on from http://textboard.org/prog/81/5 613 663 '(;; code 614 664 ("^```\\(.*\n\\)*?```\n?" . 'sbbs--code-face)