added gharbeia.net to 5_published
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
;;; simp-project-with-bookmarks.el --- Utilize Emacs bookmarks with simp
|
||||
|
||||
;; Copyright (C) 2011-2015 @re5et
|
||||
|
||||
;; Author: atom smith
|
||||
;; URL: https://github.com/re5et/simp
|
||||
;; Created: 22 Dec 2011
|
||||
;; Version: 0.4.0
|
||||
;; Keywords: project grep find
|
||||
|
||||
;; This file is NOT part of GNU Emacs.
|
||||
|
||||
;; This 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, or (at your option) any later
|
||||
;; version.
|
||||
|
||||
;; This file 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 Emacs; see the file COPYING, or type `C-h C-c'. If not,
|
||||
;; write to the Free Software Foundation at this address:
|
||||
|
||||
;; Free Software Foundation
|
||||
;; 51 Franklin Street, Fifth Floor
|
||||
;; Boston, MA 02110-1301
|
||||
;; USA
|
||||
|
||||
;;; Commentary
|
||||
|
||||
;; Use your bookmarks to jump into a simp action without
|
||||
;; having to go there first. You can wrap any call in
|
||||
;; simp-project-with-bookmark, and it will allow you to
|
||||
;; select a bookmark to determine which project you are
|
||||
;; working with.
|
||||
|
||||
(require 'simp-project)
|
||||
(require 'bookmark)
|
||||
|
||||
(defmacro simp-project-with-bookmark (body)
|
||||
"Perform a simp project action using emacs
|
||||
bookmark system to set the project context to use"
|
||||
`(let ((bookmark (list
|
||||
(bookmark-completing-read
|
||||
"bookmark for simp-project"
|
||||
bookmark-current-bookmark))))
|
||||
(let ((simp-buffer-project nil)
|
||||
(default-directory (bookmark-location (car bookmark))))
|
||||
,body)))
|
||||
|
||||
(defmacro simp-project-feature-with-bookmark (feature)
|
||||
(let ((with-bookmark-function-name (intern (format "simp-project-with-bookmark-%s" feature)))
|
||||
(function-name (intern (format "simp-project-%s" feature))))
|
||||
(if (fboundp function-name)
|
||||
`(defun ,with-bookmark-function-name ()
|
||||
,(format "%s using simp project with bookmark" function-name)
|
||||
(interactive)
|
||||
(simp-project-with-bookmark
|
||||
(,function-name))))))
|
||||
|
||||
;; Make simp-project-with-bookmark convenience methods
|
||||
;; for included simp project features
|
||||
|
||||
(simp-project-feature-with-bookmark rgrep)
|
||||
(simp-project-feature-with-bookmark find-file)
|
||||
(simp-project-feature-with-bookmark ibuffer)
|
||||
|
||||
(provide 'simp-project-with-bookmarks)
|
||||
|
||||
;;; simp-project-with-bookmarks.el ends here
|
||||
Reference in New Issue
Block a user