Hatena::Groupsubtech

名称未設定♥

 | 

2009-06-24

perl-rename-buffer - package名にrename-bufferしてくれるelisp #2

16:52 |  perl-rename-buffer - package名にrename-bufferしてくれるelisp #2 - 名称未設定♥ を含むブックマーク はてなブックマーク -  perl-rename-buffer - package名にrename-bufferしてくれるelisp #2 - 名称未設定♥

g:subtech:id:hirose31:20090613:1244914640 の続き。

コードスケッチのときとか、ひとつのファイルにmain部とpackage宣言とが混在してるときに、ファイルの下の方のpackage宣言をひろってrename-bufferしちゃうので、最初のn行までにpackage宣言があるときのみその名でrename-bufferするようにしてみた。

(defun plcmp-get-current-package-name-first (&optional limitline)
  "nil or string"
  (let ((re (rx-to-string `(and bol
                                (* space)
                                "package"
                                (* space)
                                (group
                                 (regexp ,plcmp-perl-package-re))
                                (* not-newline)
                                ";")))
        (bound (if (not limitline)
                   nil
                 (line-end-position limitline)))
        )
    (save-excursion
      (goto-char (point-min))
      (when (re-search-forward re bound t)
        (match-string-no-properties 1)))))

(defun perl-rename-buffer ()
  (interactive)
  (let ((package-name (plcmp-get-current-package-name-first 16)))
    (when package-name
      (rename-buffer package-name t))))

GermanGerman 2012/09/28 08:33 What a pleasure to find someone who thinks trhough the issues

fxjxsrdnfxjxsrdn 2012/09/29 10:23 Dgpk43 , [url=http://jzmmgvbgrnsl.com/]jzmmgvbgrnsl[/url], [link=http://iwjmfctfltgl.com/]iwjmfctfltgl[/link], http://ndicwzsvnxfe.com/

lbvbgcmlbvbgcm 2012/09/30 10:26 9FycUm <a href="http://bqkfxfqlmtoz.com/">bqkfxfqlmtoz</a>

xyupscxyupsc 2012/09/30 22:22 L1TQNU , [url=http://jjrsitalnatd.com/]jjrsitalnatd[/url], [link=http://rfgvdoqivngq.com/]rfgvdoqivngq[/link], http://oxnqcszqofdh.com/

ゲスト



トラックバック - http://subtech.g.hatena.ne.jp/hirose31/20090624
 |