al-yasnippet.el 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. ;;; al-yasnippet.el --- Additional functionality for yasnippet
  2. ;; Copyright © 2014-2016 Alex Kost
  3. ;; This program is free software; you can redistribute it and/or modify
  4. ;; it under the terms of the GNU General Public License as published by
  5. ;; the Free Software Foundation, either version 3 of the License, or
  6. ;; (at your option) any later version.
  7. ;; This program is distributed in the hope that it will be useful,
  8. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. ;; GNU General Public License for more details.
  11. ;; You should have received a copy of the GNU General Public License
  12. ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. ;;; Code:
  14. (require 'yasnippet)
  15. ;;;###autoload
  16. (defun al/yas-next-field-or-expand ()
  17. "Go to the next field if a snippet is in progress or perform an expand."
  18. (interactive)
  19. (if (yas--snippets-at-point 'all)
  20. (goto-char (overlay-start yas--active-field-overlay))
  21. (yas-expand)))
  22. ;;;###autoload
  23. (defun al/yas-exit-and-expand ()
  24. "Exit all snippets and expand a snippet before point."
  25. (interactive)
  26. (save-excursion (yas-exit-all-snippets))
  27. (yas-expand))
  28. (provide 'al-yasnippet)
  29. ;;; al-yasnippet.el ends here