rails-plugin-minor-mode.el
1 ;;; rails-plugin-minor-mode.el --- minor mode for RubyOnRails plugins 2 3 ;; Copyright (C) 2006 Dmitry Galinsky <dima dot exe at gmail dot com> 4 5 ;; Authors: Dmitry Galinsky <dima dot exe at gmail dot com> 6 7 ;; Keywords: ruby rails languages oop 8 ;; $URL: svn://rubyforge.org/var/svn/emacs-rails/trunk/rails-plugin-minor-mode.el $ 9 ;; $Id: rails-plugin-minor-mode.el 112 2007-03-24 22:34:38Z dimaexe $ 10 11 ;;; License 12 13 ;; This program is free software; you can redistribute it and/or 14 ;; modify it under the terms of the GNU General Public License 15 ;; as published by the Free Software Foundation; either version 2 16 ;; of the License, or (at your option) any later version. 17 18 ;; This program is distributed in the hope that it will be useful, 19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 ;; GNU General Public License for more details. 22 23 ;; You should have received a copy of the GNU General Public License 24 ;; along with this program; if not, write to the Free Software 25 ;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 26 27 ;;; Code: 28 29 (defun rails-plugin-minor-mode:switch-to-init () 30 (interactive) 31 (rails-core:find-file-if-exist 32 (rails-core:plugin-file (rails-core:current-plugin) "init.rb"))) 33 34 (defun rails-plugin-minor-mode:switch-with-menu () 35 (interactive) 36 (let* ((item) 37 (plugin (rails-core:current-plugin)) 38 (menu (rails-core:plugin-files plugin))) 39 (setq item 40 (rails-core:menu 41 (list (concat "Plugin " plugin) 42 (cons "Please select.." (list->alist menu))))) 43 (when item 44 (rails-core:find-file-if-exist 45 (rails-core:plugin-file plugin item))))) 46 47 (define-minor-mode rails-plugin-minor-mode 48 "Minor mode for RubyOnRails plugins." 49 nil 50 " plugin" 51 nil 52 (setq rails-primary-switch-func 'rails-plugin-minor-mode:switch-to-init) 53 (setq rails-secondary-switch-func 'rails-plugin-minor-mode:switch-with-menu)) 54 55 (provide 'rails-plugin-minor-mode)