]> code.delx.au - gnu-emacs-elpa/blob - packages/yasnippet/NEWS
Merge commit '0cda39255827f283e7578cd469ae42daad9556a2' from js2-mode
[gnu-emacs-elpa] / packages / yasnippet / NEWS
1 Yasnippet NEWS -- history of user-visible changes.
2
3 Copyright (C) 2016 Free Software Foundation, Inc.
4 See the end of the file for license conditions.
5
6 \f
7 * 0.10.0 (June 11th, 2016)
8
9 ** Changes and New Features
10
11 *** Yasnippet now prints far fewer message by default.
12 See Github #682, #683.
13
14 *** `yas-wrap-around-region' can be set to a register.
15 The register's content will be used. This is like the old `cua'
16 option, but can be used with any register and doesn't require enabling
17 cua-mode.
18
19 *** Clearing of snippet fields is now decided by the command's effect.
20 The `delete-selection' property is no longer consulted. See Github #662.
21
22 *** Empty lines in snippet expansion are no longer indented.
23 See Github #679.
24
25 *** All lines from mirror output are now indented.
26 See Github #665.
27
28 *** New variable yas-alias-to-yas/prefix-p
29 See Github #696, #699.
30
31 *** New function yas-next-field-will-exit-p
32 See Github #561.
33
34 *** `snippet-mode' is now autoloaded.
35
36 ** Fixed Bugs
37
38 *** Fix incompatibility with Emacs 25 and haskell-mode.
39 This should also help other modes with a non-nil syntax-propertize
40 function. See Github #687.
41
42 *** Text property changes no longer disable snippets.
43 This prevents cc-mode based modes from causing premature exit of
44 snippets. See Github #677.
45
46 *** Fields are now transformed correctly after `yas-next-field'.
47 See Github #381.
48
49 *** The $> construct is now escaped correctly, and documented.
50 See Github #640.
51
52 *** Avoid corruption of snippet content when loading from files.
53 See Github #707 and Emacs bug #23659.
54
55 *** `yas-wrap-around-region' now works for snippets with fields
56 farther down the buffer than $0. See Github #636.
57
58 *** The active region is deleted when using `yas-expand'.
59 This makes it consistent with `yas-insert-snippet'. See Github #523.
60
61 *** Fix mirror+autofill interaction.
62 See Github #643 and http://emacs.stackexchange.com/q/19206/5296.
63
64 *** Snippet insertion no longer adds irrelevant strings to kill ring.
65 See Github #675.
66
67 \f
68 * 0.9.1 (April 3rd, 2016)
69
70 ** Changes and New Features
71
72 *** Noam Postavsky is now the official yasnippet maintainer.
73
74 *** `yas-visit-snippet-file' now works for compiled snippets (see Github #597).
75
76 *** New function `yas-lookup-snippet' (see Github #595, #596).
77
78 *** .emacs.d/snippets directory is now created automatically.
79 If that value is present in `yas-snippet-dirs' (see Github #648).
80
81 *** Default value for `yas-snippet-dirs' now uses `user-emacs-directory'
82 instead of hardcoding "~/emacs.d" (see Github #632).
83
84 *** `yas-visit-snippet-file' no longer overrides `yas-prompt-functions',
85 see Github #576.
86
87 *** The defaults for prompting have changed.
88 `yas-x-prompt' is no longer present in the default value of
89 `yas-prompt-functions'.
90
91 The new function `yas-maybe-ido-prompt' (which performs ido prompting
92 if `ido-mode' is enabled) replaces `yas-ido-prompt' (which always
93 performs ido prompting). Previously the behaviour was dependent on
94 the Emacs version being used.
95
96 *** The default value of `yas-buffer-local-condition' now works for `yas-insert-snippet' too.
97 See Github #305.
98
99 *** The default value of `yas-new-snippet-default' no longer inserts `require-final-newline: nil'.
100 It was redundant, since `mode: snippet' already accomplishes the same.
101 `binding: ${4:direct-keybinding}}' is also removed, as it is hardly
102 ever wanted.
103
104 *** Snippet fields are only cleared by commands with `delete-selection' property,
105 See Github #515, #644.
106
107 *** `yas-initialize' (and backward compat alias `yas/initialize') are restored,
108 but marked obsolete, use (yas-global-mode +1) instead. See Github
109 #546, #569.
110
111 *** `yas-key-syntaxes' is much more powerful and accepts functions.
112 Enables use cases when discovering keys based on buffer syntax is not
113 good enough. See issue #497.
114
115 *** Documentation rewritten in org-mode and updated.
116 A tremendous effort by Noam Postavsky. Hopefully easier to maintain
117 and navigate. Available at <http://capitaomorte.github.io/yasnippet>.
118
119 *** Snippets are now maintained in their own repo.
120 Snippets live in Andrea Crotti's
121 <https://github.com/andreacrotti/yasnippet-snippets>. See README.md
122 for more details.
123
124 *** Textmate snippet importer moved to separate `yasmate' repo.
125 URL is <https://github.com/capitaomorte/yasmate>. See README.md for
126 more details.
127
128 *** `yas-snippet-dirs' now allows symbols as aliases to directories.
129 The added level of indirection should allow more esoteric
130 configurations (see Github #495).
131
132 *** `yas-reload-all' can now jit-load when called interactively.
133
134 *** New `yas-after-reload-hook' run after `yas-reload-all'.
135 See <https://github.com/pezra/rspec-mode/pull/75> for the discussion
136 leading up to this change.
137
138 *** New functions `yas-activate-extra-mode' and `yas-deactivate-extra-mode'.
139 These are preferable to setting `yas-extra-modes' directly in the mode
140 hook (see issue #420 for more information).
141
142 *** New variable `yas-new-snippet-default'.
143 The default snippet suggested on `yas-new-snippet' can now be
144 customized.
145
146 ** Fixed bugs
147
148 *** `yas-expand' now sets `this-command' when falling back to another command.
149 Previously it was setting `this-original-command', which does not
150 match the documented semantics. See Github #587.
151
152 *** Github #537: Be lenient to extensions operating on snippet fields.
153
154 *** Github #619: Parents of extra modes are now activated too.
155
156 *** Github #549: `yas-verbosity' is now applied to `load' calls too.
157
158 *** Github #607; avoid obscure Emacs bug triggered by overlays in *Messages* buffer.
159 It was triggered by yasnippet+flycheck+highlight-parentheses. See
160 also <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21824>
161
162 *** Github #617; fix x prompt when snippet inserts many lines.
163
164 *** Github #618; avoid breakage if `scan-sexp' modifies match data.
165 Which it does in Emacs 25.
166
167 *** Github #562: Deleting inner numberless snippet caused an error.
168
169 *** Github #418, #536: Fix navigation to zero-length fields at snippet end.
170
171 *** Github #527, #525 and #526: Attempt to prevent "fallback loops"
172 when interactiing with other extensions that use similar fallback
173 mechanisms.
174
175 \f
176 * 0.8.0 (August 2012)
177
178 ** Changes and New Features
179
180 *** All YASnippet symbols now prefixed with `yas-'. Keep old `yas/' versions as aliases.
181
182 *** Yasnippet is now Free Software Foundation's copyright.
183
184 *** `yas-dont-activate' can be a list of functions.
185
186 *** Snippets are loaded just-in-time .
187 Thanks to Matthew Fidler for a lot of input with the implementation.
188
189 *** yasnippet-bundle.el is no longer available.
190 Use `yas-compile-directory' instead if you need the speed advantage.
191
192 *** New functions `yas-compile-directory' and `yas-recompile-all'.
193 This feature is still undocumented. Generate a
194 .yas-compiled-snippets.el file in the directory passed where snippets
195 are compiled into emacs-lisp code.
196
197 *** New `yas-verbosity' variable.
198
199 *** Interactively calling `yas-exit-snippet' exits most recently inserted snippet.
200
201 *** Using filenames as snippet triggers is deprecated.
202
203 *** Default value of `yas-show-menu-p' is `abbreviate'.
204
205 *** `yas-visit-snippet' ignores `yas-prompt-functions'.
206
207 *** `yas-buffer-local-condition' restricted to trigger-key expansions by default.
208
209 *** `yas-load-snippet-buffer' (`C-c C-c') in `snippet-mode' has been much improved.
210
211 *** New variable `yas-expand-only-for-last-commands', thanks Erik Postma.
212
213 *** New variable `yas-extra-modes' aliases old `yas/mode-symbol'.
214
215 *** New `yas-describe-tables' command.
216
217 *** New `yas-define-condition-cache' macro.
218 This defines an optimised function for placing in a `# condition:'
219 directive that will run at most once per snippet-expansion attempt.
220
221 *** Mirrors can occur inside fields.
222
223 *** New `# type: command' directive.
224 This feature is still largely undocumented.
225
226 *** A hidden .yas-setup.el is loaded if found in a snippet directory.
227
228 *** `yas-wrap-around-region' can now also be `cua' (undocumented feature).
229
230 *** Make menu groups automatically using new .yas-make-groups file.
231
232 *** Per-snippet keybindings using `# keybinding:' directive.
233
234 *** More friendly `yas-expand-snippet' calling convention.
235 This breaks backward compatibility.
236
237 *** The `# env:' directive is now `# expand-env:'.
238
239 *** Setup multiple parent modes using new .yas-parents file.
240
241 ** Fixed bugs
242
243 *** Github #281: jit-load snippets in the correct order.
244
245 *** Github #245: primary field transformations work inside nested fields.
246
247 *** Github #242: stop using the deprecated `assoc' library.
248
249 *** Github #233: show direct snippet keybindings in the menu.
250
251 *** Github #194, Googlecode 192: Compatibility with `fci-mode'.
252
253 *** Github #147, Googlecode 145: Snippets comments were getting inserted.
254
255 *** Github #141, Googlecode 139: searching buffer in embedded elisp works slightly better.
256 Issue is still open for analysis, though
257
258 *** Github #95, Googlecode 193: no more stack overflow in org-mode.
259
260 \f
261 ----------------------------------------------------------------------
262 This program is free software; you can redistribute it and/or modify
263 it under the terms of the GNU General Public License as published by
264 the Free Software Foundation; either version 3 of the License, or (at
265 your option) any later version.
266
267 This program is distributed in the hope that it will be useful, but
268 WITHOUT ANY WARRANTY; without even the implied warranty of
269 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
270 General Public License for more details.
271
272 \f
273 Local variables:
274 coding: utf-8
275 mode: outline
276 paragraph-separate: "[ \f]*$"
277 end: