(in-package "editor")
(defvar *ruby-plus-app-menu* nil)
(defvar *ruby-plus-menu-name* "Ruby(&R)")
(defun ruby-plus-menu-update ()
(interactive)
(use-local-menu (ruby-plus-add-menu)))
(add-hook '*ruby-mode-hook* 'ruby-plus-menu-update)
(defun ruby-plus-add-menu ()
(let ((menu (copy-menu-items *app-menu* (create-menu))))
(insert-popup-menu menu (get-menu-position menu 'ed::help)
*ruby-plus-app-menu*
*ruby-plus-menu-name*)
menu))
(defun ruby-plus-init-app-menu ()
(unless *ruby-plus-app-menu*
(setq *ruby-plus-app-menu*
(let ((menu (create-popup-menu)))
(add-menu-item menu nil "レシピファイルを生成(&M)" 'ruby-plus-mkexy)
(add-menu-item menu nil "コンパイル(&C)" 'ruby-plus-exerb)
(add-menu-separator menu)
(add-menu-item menu nil "エラーチェック(&E)" 'ruby-syntax-check)
(add-menu-item menu nil "実行(&X)" 'ruby-run-script)
(add-menu-item menu nil "デバッグ(&D)" 'ruby-debug)
(add-menu-separator menu)
(add-menu-item menu nil "インデント調整(&D)" 'ruby-plus-indent-selection :selection)
(add-menu-separator menu)
(add-menu-item menu nil "ruby-doc-minor-mode(&D)" 'ruby-doc-minor-mode)
(add-menu-separator menu)
(add-menu-item menu nil "debug-mode Help(&1)" 'ruby-plus-debug-help)
(add-menu-item menu nil "ruby-doc-minor-mode Help(&2)" 'ruby-plus-rd-mode-help)
(add-menu-separator menu)
(add-menu-item menu nil "関数一覧(&L)" 'list-function)
(add-menu-item menu nil "ヘルプ(&?)" 'ruby-plus-show-html-help)
(add-menu-item menu nil "ReFe(&R)" 'ruby-refe)
menu))))
(add-hook '*init-app-menus-hook* 'ruby-plus-init-app-menu)
(defun ruby-plus-debug-help ()
(interactive)
(message-box "Enter コマンドなどを入力
Y (y/n)とかでyを入力
N (y/n)とかでnを入力
q デバッグモードを終了
Q デバッグモードを終了(確認なし)
b 現在行にbreak pointを設定
B 設定されているbreak pointを表示
w 現在行にwatch pointを設定
d 現在行に設定されているpointを解除
D 設定されているpointをすべて解除
e displayを設定
E 設定されているdisplayを表示
u displayを解除
U displayをすべて解除
c 続行
s step
C-u s step(数入力)
n next
C-u n next(数入力)
h where
C-Up up
C-Down down
f finish
p pコマンド"
"デバッグモードキーバインド一覧"))
(defun ruby-plus-rd-mode-help ()
(interactive)
(message-box "Enter 改行してインデント
TAB インデント
M-Left インデントを減らす
M-Right インデントを増やす
C-c f e Insert Inline Emphasis
C-c f c Insert Inline Code
C-c f v Insert Inline Var
C-c f k Insert Inline Keyboard
C-c f i Insert Inline Index
C-c f r Insert Inline Reference
c-c f u Insert Inline URL
C-c f f Insert Inline Footnote
C-c f b Insert Inline Verb"
"RD用モードキーバインド一覧"))