25 lines
		
	
	
		
			631 B
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			631 B
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
|   | (require 'evil) | ||
|  | (require 'eiffel) | ||
|  | 
 | ||
|  | (define-minor-mode evil-eiffel-mode | ||
|  |   "Buffer local minor mode for evil-eiffel" | ||
|  |   :init-value nil | ||
|  |   :lighter "EvilEiffel" | ||
|  |   :keymap (make-sparse-keymap) | ||
|  |   :group 'evil-eiffel) | ||
|  | 
 | ||
|  | (add-hook 'eiffel-mode-hook 'evil-eiffel-mode) | ||
|  | 
 | ||
|  | (mapc #'(lambda (state)  | ||
|  |           (evil-define-key state evil-eiffel-mode-map | ||
|  |             (kbd "M-c") 'eif-compile | ||
|  |             (kbd "M-r") 'eif-run | ||
|  |             (kbd "M-d") 'eif-debug | ||
|  |             (kbd "M-o") 'eif-set-compile-options | ||
|  |             (kbd "M-s") 'eif-short | ||
|  |             (kbd "M-e") 'eif-next-error | ||
|  |             )) | ||
|  |       '(normal insert)) | ||
|  | 
 | ||
|  | (provide 'evil-eiffel) |