-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathssb.el
42 lines (35 loc) · 1.04 KB
/
ssb.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
;; Secure Scuttlebutt Major Mode
(defvar ssb-mode-hook nil
"*List of functions called when entering SSB mode.*")
(defvar ssb-mode-map nil
"Keymap for SSB major mode.")
(if ssb-mode-map
nil
(setq ssb-mode-map (make-keymap))
(define-key ssb-mode-map "\C-c \C-c" ssb-start-server))
;(defvar ssb-mode-abbrev-table ...)
(defun display-message (message)
"message is a plist"
(let (buffer (generate-new-buffer "*SSB Message*")
(author (assoc author message))
(text (assoc text message))
(time-stamp (assoc timestamp message)))
(switch-to-buffer buffer)
(insert author timestamp)
(insert text)
))
(defun ssb-mode ()
"Major mode for Secure Scuttlebutt
Special commands:
\\{ssb-mode-map}"
(interactive)
(kill-all-local-variables)
(setq major-mode 'ssb-mode)
(setq mode-name "SSB")
(make-local-variable 'ssb-names-file)
(setq local-variable "~/.ssb/flume/names.json")
(use-local-map 'ssb-mode-map)
(run-hooks 'ssb-mode-hook)
(ssb-start-server)
(ssb-whoami))
(provide 'ssb) ;; allows users to (require 'name)