日暮途遠(Linux)

Just another WordPress.com site

thing-at-point関数でカーソル下の文字列を取得/Emacs-Lisp

leave a comment »

URL にカーソルがあるとき、それをマークアップしてみる。
今度はちょっとだけ難しいかもしれませんが、カーソル位置にある URL を HTML でマークアップしたかったとしましょう。
実現したいことは、
カーソル位置から URL だけを取得する。
取得した文字を変換する。
という2つが実現できればやれそうです。これは、simple.el と同じ標準ライブラリの thingatpt.el に定義されている関数を使うと実現可能になります。

(defun create-hyper-link-at-point-url ()
"カーソル位置のURLを HTML でマークアップする"
(interactive)
(let* ((bounds (bounds-of-thing-at-point 'url))
(start (car bounds))
(end (cdr bounds))
(link (format "" (thing-at-point 'url))))
(delete-region start end)
(insert link)))

引用元: カーソル位置の情報で遊ぼう。 – 日々、とんは語る。.

こちらを参考にわかったのですが、(thing-at-point ‘url)のurlをwordにするとURLのアドレスではなくカーソル位置の単語が取得できるみたいです。また、この館数は文字列のポイントの始点と終点を取得しているらしく、format関数を使うことで、文字列を取得しているみたいです。

必要に応じ、応用が利きそうなので抑えておきたい関数です。

 

Written by 廣野秀樹

2013年4月14日 @ 5:35 午後

カテゴリー: Emacs-Lisp

Tagged with ,

コメントを残す