feat(wpcarro/emacs): Package bookmark.el
More Elisp packaging :) Change-Id: Ia4971de0815d12f8da1eaa911fa17b8b4896415d Reviewed-on: https://cl.tvl.fyi/c/depot/+/7383 Reviewed-by: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
This commit is contained in:
		
							parent
							
								
									325a7d6fa9
								
							
						
					
					
						commit
						5a0ed0f67e
					
				
					 3 changed files with 14 additions and 0 deletions
				
			
		|  | @ -1,50 +0,0 @@ | |||
| ;;; bookmark.el --- Saved files and directories on my filesystem -*- lexical-binding: t -*- | ||||
| 
 | ||||
| ;; Author: William Carroll <wpcarro@gmail.com> | ||||
| ;; Version: 0.0.1 | ||||
| ;; Package-Requires: ((emacs "24.3")) | ||||
| 
 | ||||
| ;;; Commentary: | ||||
| ;; A more opinionated version of Emacs's builtin `jump-to-register'. | ||||
| 
 | ||||
| ;;; Code: | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; Dependencies | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
| (require 'project) | ||||
| (require 'general) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; Configuration | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
| (cl-defstruct bookmark label path kbd) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; API | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
| (defun bookmark-open (b) | ||||
|   "Open bookmark, B, as either a project directory or a regular directory." | ||||
|   (with-temp-buffer | ||||
|     (cd (bookmark-path b)) | ||||
|     (call-interactively #'project-find-file))) | ||||
| 
 | ||||
| (defun bookmark-install-kbd (b) | ||||
|   "Define two functions to explore B and assign them to keybindings." | ||||
|   (eval `(defun ,(intern (format "bookmark-visit-%s" (bookmark-label b))) () | ||||
|            (interactive) | ||||
|            (find-file ,(bookmark-path b)))) | ||||
|   (eval `(defun ,(intern (format "bookmark-browse-%s" (bookmark-label b))) () | ||||
|            (interactive) | ||||
|            (bookmark-open ,b))) | ||||
|   (general-define-key | ||||
|    :prefix "<SPC>" | ||||
|    :states '(motion) | ||||
|    (format "J%s" (bookmark-kbd b)) `,(intern (format "bookmark-visit-%s" (bookmark-label b))) | ||||
|    (format "j%s" (bookmark-kbd b)) `,(intern (format "bookmark-browse-%s" (bookmark-label b))))) | ||||
| 
 | ||||
| (provide 'bookmark) | ||||
| ;;; bookmark.el ends here | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue