ruby plugin improved

This commit is contained in:
Sameer Rahmani 2016-04-23 13:25:14 +04:30
parent 70b8a04d11
commit 86010edc52
5 changed files with 39 additions and 5 deletions

2
fg42
View File

@ -1,7 +1,7 @@
#! /bin/sh
#export FG42_HOME=--PATH--
export FG42_HOME=$HOME/src/FG42/FG42
export FG42_HOME=$HOME/src/FG42
#emacs -Q --no-splash --name FG42 --title FG42 -q -l --PATH--/fg42-config.el "$@"
emacs-snapshot --name FG42 -q --no-site-file --no-site-lisp --no-splash --title FG42 -l $FG42_HOME/fg42-config.el "$@"

View File

@ -18,6 +18,8 @@
(depends-on 'projectile-rails)
(depends-on 'robe)
(depends-on 'yari)
(depends-on 'ggtags)
(depends-on 'rake)
;; Extension -------------------------------------
(extension ruby

View File

@ -7,6 +7,7 @@
(setup-general-ruby-editor)
(setup-inf-ruby)
(setup-bundler)
(setup-rake)
(global-set-key (kbd "M-.") 'my-find-tag)

View File

@ -1,3 +1,4 @@
;;; Code:
;; Functions -------------------------------------------------
;;;###autoload
@ -16,6 +17,36 @@
(define-key enh-ruby-mode-map (kbd "\C-c b o") 'bundle-open)
(define-key enh-ruby-mode-map (kbd "\C-c b c") 'bundle-console))
;;;###autoload
(defun rake-test ()
(interactive)
(let* ((root (or (rake--root) (user-error "Rakefile not found"))))
(rake--with-root root (compile "rake test" 'rake-compilation-mode))))
;;;###autoload
(defun rake-migrate ()
(interactive)
(let* ((root (or (rake--root) (user-error "Rakefile not found"))))
(rake--with-root root (compile "rake db:migrate" 'rake-compilation-mode))))
(defun rake-seed ()
(interactive)
(let* ((root (or (rake--root) (user-error "Rakefile not found"))))
(rake--with-root root (compile "rake db:seed" 'rake-compilation-mode))))
;;;###autoload
(defun setup-rake ()
"Setup bundler and its keybindings"
(require 'rake)
(eval-after-load 'projectile
'(setq rake-completion-system projectile-completion-system))
(define-key enh-ruby-mode-map (kbd "\C-c c r") 'rake)
(define-key enh-ruby-mode-map (kbd "\C-c c t") 'rake-test)
(define-key enh-ruby-mode-map (kbd "\C-c c m") 'rake-migrate)
(define-key enh-ruby-mode-map (kbd "\C-c c s") 'rake-seed))
;;;###autoload
(defun setup-inf-ruby()
"Setup inf-ruby and Robe"
@ -65,7 +96,7 @@
;;;###autoload
(defun visit-project-tags ()
(interactive)
(let ((tags-file (concat (projectile-project-root) "TAGS")))
(let ((tags-file (concat (projectile-project-root) "tags")))
(visit-tags-table tags-file)
(message (concat "Loaded " tags-file))))
@ -75,7 +106,7 @@
(interactive)
(message "building project tags")
(let ((root (projectile-project-root)))
(shell-command (concat "ctags -e -R . $(bundle list --paths) --extra=+fq --exclude=db --exclude=test --exclude=.git --exclude=public -f " root "TAGS " root)))
(shell-command (concat "ctags -e -R . $(bundle list --paths) --extra=+fq --exclude=db --exclude=test --exclude=.git --exclude=public -f " root "tags " root)))
(visit-project-tags)
(message "tags built successfully"))
@ -84,7 +115,7 @@
(interactive)
(if (file-exists-p (concat (projectile-project-root) "TAGS"))
(visit-project-tags)
(build-ctags))
(build-ctag-file))
(etags-select-find-tag-at-point))
(provide 'extensions/ruby/setup)

View File

@ -56,7 +56,7 @@ local should be 't' if theme is on FG42 it self"
;;;###autoload
(defun env (&rest args)
"setup environment variables given as params"
"setup environment variables given as params."
(require 'seq)
(let ((pairs (seq-partition args 2)))
(dolist (pair pairs)