[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 9abf842 19/63: Enable snippet-mode automatically
From: |
Noam Postavsky |
Subject: |
[elpa] master 9abf842 19/63: Enable snippet-mode automatically |
Date: |
Mon, 17 Jul 2017 22:54:13 -0400 (EDT) |
branch: master
commit 9abf842e356e7b42fa105fe6284fb5ebe58a7ed1
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>
Enable snippet-mode automatically
* yasnippet.el (yas-snippet-mode-buffer-p): New function, detects
buffers visiting files under `yas-snippet-dirs'. Add it
`magic-fallback-mode-alist' to enable `snippet-mode' automatically,.
---
yasnippet.el | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/yasnippet.el b/yasnippet.el
index fa538c1..644aa90 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -915,6 +915,21 @@ Honour `yas-dont-activate-functions', which see."
(set (make-local-variable 'comment-start-skip) "#+[\t ]*")
(add-hook 'after-save-hook #'yas-maybe-load-snippet-buffer nil t))
+(defun yas-snippet-mode-buffer-p ()
+ "Return non-nil if current buffer should be in `snippet-mode'.
+Meaning it's visiting a file under one of the mode directories in
+`yas-snippet-dirs'."
+ (when buffer-file-name
+ (member
+ (expand-file-name
+ ".."
+ (file-name-directory buffer-file-name))
+ (yas-snippet-dirs))))
+
+;; We're abusing `magic-fallback-mode-alist' here because
+;; `auto-mode-alist' doesn't support function matchers.
+(add-to-list 'magic-fallback-mode-alist
+ `(yas-snippet-mode-buffer-p . snippet-mode))
;;; Internal structs for template management
- [elpa] master 4fa52e6 01/63: Improve final message produced by yas-reload-all, (continued)
- [elpa] master 4fa52e6 01/63: Improve final message produced by yas-reload-all, Noam Postavsky, 2017/07/17
- [elpa] master 8412d71 03/63: Reword #744 yet again, Noam Postavsky, 2017/07/17
- [elpa] master 4ef1768 10/63: Add timestamp of source revision to HTML doc, Noam Postavsky, 2017/07/17
- [elpa] master 7b013db 06/63: Keep yas--snippets-at-point for compatibility, Noam Postavsky, 2017/07/17
- [elpa] master 5534cab 07/63: Respect yas-indent-line for mirror updates, Noam Postavsky, 2017/07/17
- [elpa] master c485d13 04/63: Remove last use of flet, Noam Postavsky, 2017/07/17
- [elpa] master 80a1098 02/63: Rework yas-reload-all message introduced by #744, Noam Postavsky, 2017/07/17
- [elpa] master 28d5496 11/63: Use git describe for doc HTML output, Noam Postavsky, 2017/07/17
- [elpa] master cce2e0d 09/63: Make the documentation build reproducible, Noam Postavsky, 2017/07/17
- [elpa] master 2ca6321 05/63: Promote yas--snippets-at-point to a public API, Noam Postavsky, 2017/07/17
- [elpa] master 9abf842 19/63: Enable snippet-mode automatically,
Noam Postavsky <=
- [elpa] master 48cd716 14/63: Use more compact format for snippet menus, Noam Postavsky, 2017/07/17
- [elpa] master b62cf52 23/63: Remove lambda list building hack, Noam Postavsky, 2017/07/17
- [elpa] master 7b3c29d 13/63: * doc/faq.org: Typos and grammar., Noam Postavsky, 2017/07/17
- [elpa] master 14819c9 28/63: Make yas-buffer-local-condition into a defcustom, Noam Postavsky, 2017/07/17
- [elpa] master f3d0e03 25/63: * yasnippet-tests.el (snippet-exit-hooks): New test., Noam Postavsky, 2017/07/17
- [elpa] master 4ee3835 08/63: Use expand-env for all snippet evaluations, Noam Postavsky, 2017/07/17
- [elpa] master 203df22 22/63: Use debug-on-error to simplify error handling, Noam Postavsky, 2017/07/17
- [elpa] master 9c9547a 21/63: Don't catch and rethrow yas-{-}exception, Noam Postavsky, 2017/07/17
- [elpa] master e878afb 12/63: Update handling of markers during indentation, Noam Postavsky, 2017/07/17
- [elpa] master 6c4fbb2 24/63: Fix snippet local exit hook, Noam Postavsky, 2017/07/17