概要
emacs で Ruby を編集している際に Yard ドキュメントを補完してほしくなったので Yasnippet にテンプレートを補完してみました
環境
- macOS 10.15.4
- emacs 25.3.1
- yasnippet 0.14.0
Yasnippet インストール
M-x package-list-packages
melpa がダメな場合は gnu からで良いと思います
新規スニペット登録
ここの情報を元にスニペットを登録していきます
M-x yas-new-snippet
or
C-c C-n
最初は以下のような情報しかありません
key はスニペットを呼び出す際の名前になります
基本は同じ内容を登録すれば良いと思います
# -*- mode: snippet -*-
# key:
# name:
# --
key, name を決めたらすぐ下に登録したいスニペットを記載します
今回は yard のドキュメント情報なのでコメントが先頭がシャープになっていますがシャープにする必要はありませんのでご注意ください
# -*- mode: snippet -*-
# key: yard-method-abstract
# name: yard-method-abstract
# --
# An alias to {Parser::SourceParser}'s parsing method
#
# @author hawksnowlog
#
# @see http://example.com Description of URL
# @see SomeOtherClass#method
#
# @deprecated Use {#my_new_method} instead of this method because
# it uses a library that is no longer supported in Ruby 1.9.
# The new method accepts the same parameters.
#
# @abstract
# @private
あとは保存すれば OK です
保存の際にスニペットを使うモードを指定するので今回は ruby-mode
を指定します
C-c C-c
(Save)- ruby-mode (Select mode)
.emacs.d/snippets/ruby-mode/yard-method-abstract
に保存されます
同じようにいろいろとスニペットを作成していきます
すべて登録できたら M-x yas-describe-tables
で確認しましょう
Yasnippet の自動起動
今回はモードを気にせず自動起動するようにします
必要なモードのときのみ起動するようにするには add-hook
などと組み合わせてください
vim .emacs
; for yanippet
(require 'yasnippet)
(yas-global-mode 1)
動作確認
*.rb
ファイルを開いている状態 (ruby-mode が起動している状態) で yas-insert-snippet
を実行してみましょう
以下のようにちゃんと登録したスニペットの一覧が表示されて選択することで yard のドキュメントが登録できることが確認できると思います
その他操作方法
スニペットの追加
M-x yas-insert-snippet
スニペットの編集
M-x yas-visit-snippet
or
C-c C-v
最後に
Yasnippet を使って yard のドキュメントテンプレートを管理してみました
パッケージにして package-install でインストールできるようにしてもいいかなと思いました
0 件のコメント:
コメントを投稿