From 1eb19ac1ada394a758d3ccc2ec3366caf59c8181 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sat, 19 Dec 2015 00:22:45 +0100 Subject: [PATCH] Add yasnippet library --- emacs/.emacs.d/init.el | 17 ++++--------- emacs/.emacs.d/site-lisp/oni-yas.el | 37 +++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 emacs/.emacs.d/site-lisp/oni-yas.el diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el index edb4c22..7668a38 100644 --- a/emacs/.emacs.d/init.el +++ b/emacs/.emacs.d/init.el @@ -141,16 +141,6 @@ MODE1 is enabled and vice-versa." "Set the `disabled' property for each item in FUNCTIONS to nil." (mapc #'(lambda (f) (put f 'disabled nil)) functions)) -(defun oni:write-file-func () - "Function for `write-file-hooks'." - (time-stamp)) - -(defun oni:yas-minor-mode-func () - "Function for `yas-minor-mode-hook'." - (define-key yas-minor-mode-map (kbd "TAB") nil) - (define-key yas-minor-mode-map [(tab)] nil) - (define-key yas-minor-mode-map (kbd "C-\\") 'yas-expand)) - (defun oni:outline-toggle-entry () (interactive) (if (outline-on-heading-p) @@ -559,8 +549,11 @@ MODE1 is enabled and vice-versa." ;; Don't use tabs in vala-mode (add-hook 'vala-mode-hook 'oni:disable-tabs-mode) -(add-hook 'write-file-hooks 'oni:write-file-func) -(add-hook 'yas-global-mode-hook 'oni:yas-minor-mode-func) +;; Update timestamps before writing a file. +(add-hook 'write-file-hooks 'time-stamp) + +;; Set yasnippet-specific keybindings. +(add-hook 'yas-global-mode-hook 'oni:set-keys-for-yasnippet) ;; Disable line truncation in ERT results. (add-hook 'ert-results-mode-hook 'oni:disable-line-truncation) diff --git a/emacs/.emacs.d/site-lisp/oni-yas.el b/emacs/.emacs.d/site-lisp/oni-yas.el new file mode 100644 index 0000000..469ae9f --- /dev/null +++ b/emacs/.emacs.d/site-lisp/oni-yas.el @@ -0,0 +1,37 @@ +;;; oni-yas.el --- Extra functions and commands for yasnippet -*- lexical-binding: t; -*- + +;; Copyright (C) 2015 Tom Willemse + +;; Author: Tom Willemse +;; Keywords: + +;; This program 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 of the License, or +;; (at your option) any later version. + +;; This program 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 this program. If not, see . + +;;; Commentary: + +;; Here are some extra functions and commands for yasnippet. + +;;; Code: + +(require 'yasnippet) + +;;;###autoload +(defun oni:set-keys-for-yasnippet () + "Set yasnippet-specific keybindings." + (define-key yas-minor-mode-map (kbd "TAB") nil) + (define-key yas-minor-mode-map [(tab)] nil) + (define-key yas-minor-mode-map (kbd "C-\\") 'yas-expand)) + +(provide 'oni-yas) +;;; oni-yas.el ends here