_ ご飯食べて、少しまったり
LKPTeam「ところで」
カレン「ん?」
LKPTeam「エロゲー、通販で頼んだんですけど」
カレン「……また?!」
LKPTeam「いや、同人ですけどね」
LKPTeam「値段も2,000ですし」
カレン「……ならいいけど」
カレン「で、なんてタイトル?」
LKPTeam「えっと『夏音』ですね」
LKPTeam「Clearの絵描きさんが絵を担当してるゲームですね」
カレン「ふーん」
LKPTeam「今日届くかと思ってたんですけど、まだのようです」
カレン「配達日指定とかしたの?」
LKPTeam「あ、そういえば月曜日の指定をしてました」
カレン「だったら来週じゃないの?」
LKPTeam「うー」
LKPTeam「ちょっと長いですね、それは」
カレン「自業自得」
カレン「というか、またそんなエロげー買って…」
LKPTeam「まぁまぁ」
もうしばらく待ってよう
_ ということで<何が(笑)
(provide "clear-mode")
(export '(*clear-mode-auto-insert-end-str*
*clear-mode-insert-start-str*
*clear-mode-insert-close-str*
toggle-clear-auto-insert
))
(defvar *clear-mode-auto-insert-end-str* t)
(defvar *clear-mode-insert-start-str* "(´-`).。oO(")
(defvar *clear-mode-insert-end-str* ")")
(defvar-local *clear-mode* nil)
(defvar *clear-mode-map* nil)
(unless *clear-mode-map*
(setq *clear-mode-map* (make-sparse-keymap))
(define-key *clear-mode-map* #\RET 'clear-newline)
(define-key *clear-mode-map* #\C-j 'clear-newline-not-insert-str)
)
(defvar-local *multiline* nil)
(defun clear-newline ()
(interactive)
(let ((currentp (point))
(insert-end-str nil))
(if *multiline*
(progn
(insert #\LFD)
(return-from clear-newline)))
(goto-bol)
(if (looking-at (concat ".+" *clear-mode-insert-end-str* "$"))
(setq insert-end-str nil)
(setq insert-end-str t))
(if (looking-for *clear-mode-insert-start-str*)
(progn
(goto-char currentp)
(and (not (looking-back *clear-mode-insert-end-str*))
(when *clear-mode-auto-insert-end-str*
(insert *clear-mode-insert-end-str*)))
(insert #\LFD)
(return-from clear-newline)))
(insert *clear-mode-insert-start-str*)
(goto-eol)
(if insert-end-str
(insert *clear-mode-insert-end-str*))
(insert #\LFD)
)
)
(defun clear-newline-not-insert-str ()
(interactive)
(if (not *multiline*)
(progn
(goto-bol)
(setq *multiline* (make-marker))
(set-marker *multiline*)
(goto-eol)
(insert #\LFD))
(progn
(save-excursion
(goto-marker *multiline*)
(insert *clear-mode-insert-start-str*))
(and (not (looking-back *clear-mode-insert-end-str*))
(when *clear-mode-auto-insert-end-str*
(insert *clear-mode-insert-end-str*)))
(goto-eol)
(insert #\LFD)
(setq *multiline* nil)))
)
(defun toggle-clear-auto-insert ()
(interactive)
(if *clear-mode-auto-insert-end-str*
(setq *clear-mode-auto-insert-end-str* nil)
(setq *clear-mode-auto-insert-end-str* t)))
(defun clear-mode (&optional (arg nil sv))
(interactive "p")
(ed::toggle-mode '*clear-mode* arg sv)
(update-mode-line t)
(if *clear-mode*
(set-minor-mode-map *clear-mode-map*)
(unset-minor-mode-map *clear-mode-map*))
t)
(pushnew '(*clear-mode* . "Clear-thread-2ch") *minor-mode-alist* :key #'car)
_ 間違いなく役に立たないことが確実なClearスレ@エロげ板専用minor-mode(笑)
_ 2ch-modeと一緒にお使い下さい……ってそんなの誰も使わないって(笑)
_ 出来ること。
(´–`).。oO(←のような文字列を自動的に挿入します)
(´–`).。oO(閉じ括弧も同様に自動で挿入)
(´–`).。oO(閉じ括弧が入力されている時は挿入しません)
(´–`).。oO(複数行も
一応対応してます)
(´–`).。oO(整形はしてませんが)
とまぁ、clear–modeで入力してみました(^^;
_ 自分で作っておいてアレだけど、役に立ちませんな(笑)
_ まぁアレだ、minor-modeの練習ってことで(^^;
_ 27:40、ご就寝です、おやすみなさい