diff --git a/README.md b/README.md new file mode 100644 index 0000000..543923b --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +Configuration +============= + +In your .emacs: + + (require 'perlbrew) + (perlbrew-switch "perl-5.12.3") ;; initialize perl version to use + +Commands +======== + +* perlbrew (args): M-x perlbrew (same arguments as perlbrew) +* perlbrew-switch (version): M-x perlbrew-switch perl-5.13.11 diff --git a/perlbrew.el b/perlbrew.el new file mode 100644 index 0000000..19057ca --- /dev/null +++ b/perlbrew.el @@ -0,0 +1,49 @@ +;;; perlbrew.el --- A perlbrew wrapper for Emacs + +;; Copyright (C) 2011 Kentaro Kuribayashi + +;; Author: Kentaro Kuribayashi +;; Keywords: Emacs, Perl + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; (require 'perlbrew) +;; (perlbrew-switch "perl-5.12.3") ;; initialize perl version to use + +;;; Code: + +(defvar perlbrew-command-path "perlbrew") + +(defun perlbrew-command (args) + (perlbrew-join (list perlbrew-command-path args))) + +(defun perlbrew (args) + (interactive "MArgs: ") + (let* ((command (perlbrew-command args)) + (result (replace-regexp-in-string "\n+$" "" (shell-command-to-string command)))) + (if (interactive-p) + (unless (string-match "^\\s*$" result) (message result)) + result))) + +(defun perlbrew-switch (version) + (interactive "MVersion: ") + (perlbrew (perlbrew-join (list "switch" version)))) + +(defun perlbrew-join (list) + (mapconcat 'identity list " ")) + +(provide 'perlbrew) +;;; perlbrew.el ends here