-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCHANGES.TXT
More file actions
416 lines (382 loc) · 17.7 KB
/
CHANGES.TXT
File metadata and controls
416 lines (382 loc) · 17.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
1.0
- Initial release
1.1
- User-defined tags
- Modifiers <+NAME:MODIFIERS+> (c=capitalize, u=toupper, l=tolower,
s//=substitute)
- Skeleton bits
- the default markup for tags has changed to <+TAG+> (for
"compatibility" with imaps.vim), the cursor position is marked as
<+CURSOR+> (but this can be changed by setting g:tskelMarkerLeft,
g:tskelMarkerRight, and g:tskelMarkerCursor)
- in the not so simple mode, skeleton bits can contain vim code that
is evaluated after expanding the template tags (see
.../skeletons/bits/vim/if for an example)
- function TSkeletonExpandBitUnderCursor(), which is mapped to
<Leader>#
- utility function: TSkeletonIncreaseRevisionNumber()
1.2
- new pseudo tags: bit (recursive code skeletons), call (insert
function result)
- before & after sections in bit definitions may contain function
definitions
- fixed: no bit name given in s:SelectBit()
- don't use ={motion} to indent text, but simply shift it
1.3
- TSkeletonCleanUpBibEntry (mapped to <Leader>tc for bib files)
- complete set of bibtex entries
- fixed problem with [&bg]: tags
- fixed typo that caused some slowdown
- other bug fixes
- a query must be enclosed in question marks as in <+?Which ID?+>
- the "test_tSkeleton" skeleton can be used to test if tSkeleton is
working
- and: after/before blocks must not contain function definitions
1.4
- Popup menu with possible completions if
TSkeletonExpandBitUnderCursor() is called for an unknown code
skeleton (if there is only one possible completion, this one is
automatically selected)
- Make sure not to change the alternate file and not to distort the
window layout
- require genutils
- Syntax highlighting for code skeletons
- Skeleton bits can now be expanded anywhere in the line. This makes
it possible to sensibly use small bits like date or time.
- Minor adjustments
- g:tskelMapLeader for easy customization of key mapping (changed the
map leader to "<Leader>#" in order to avoid a conflict with Align;
set g:tskelMapLeader to "<Leader>t" to get the old mappings)
- Utility function: TSkeletonGoToNextTag(); imaps.vim like key
bindings via TSkeletonMapGoToNextTag()
1.5
- Menu of small skeleton "bits"
- TSkeletonLateExpand() (mapped to <Leader>#x)
- Disabled <Leader># mapping (use it as a prefix only)
- Fixed copy & paste error (loaded_genutils)
- g:tskelDir defaults to $HOME ."/vimfiles/skeletons/" on Win32
- Some speed-up
2.0
- You can define "groups of bits" (e.g. in php mode, all html bits are
available too)
- context sensitive expansions (only very few examples yet); this
causes some slowdown; if it is too slow, delete the files in
.vim/skeletons/map/
- one-line "mini bits" defined in either
./vim/skeletons/bits/{&filetype}.txt or in $PWD/.tskelmini
- Added a few LaTeX, HTML and many Viki skeleton bits
- Added EncodeURL.vim
- Hierarchical bits menu by calling a bit "SUBMENU.BITNAME" (the
"namespace" is flat though; the prefix has no effect on the bit
name; see the "bib" directory for an example)
- the bit file may have an ampersand (&) in their names to define the
keyboard shortcut
- Some special characters in bit names may be encoded as hex (%XX as
in URLs)
- Insert mode: map g:tskelMapInsert ('<c-\><c-\>', which happens to be
the <c-#> key on a German qwertz keyboard) to
TSkeletonExpandBitUnderCursor()
- New <tskel:msg> tag in skeleton bits
- g:tskelKeyword_{&filetype} variable to define keywords by regexp
(when 'iskeyword' isn't flexible enough)
- removed the g:tskelSimpleBits option
- Fixed some problems with the menu
- Less use of globpath()
2.1
- Don't accidentally remove torn off menus; rebuild the menu less
often
- Maintain insert mode (don't switch back to normal mode) in
<c-\><c-\> imap
- If no menu support is available, use the s:Query function to let
the user select among eligible bits (see also g:tskelQueryType)
- Create a normal and an insert mode menu
- Fixed selection of eligible bits
- Ensure that g:tskelDir ends with a (back)slash
- Search for 'skeletons/' in &runtimepath & set g:tskelDir accordingly
- If a template is named "#.suffix", an autocmd is created
automatically.
- Set g:tskelQueryType to 'popup' only if gui is win32 or gtk.
- Minor tweak for vim 7.0 compatibility
2.2
- Don't display query menu, when there is only one eligible bit
- EncodeURL.vim now correctly en/decoded urls
- UTF8 compatibility -- use col() instead of virtcol() (thanks to Elliot
Shank)
2.3
- Support for current versions of genutils (> 2.0)
2.4
- Changed the default value for g:tskelDateFormat from "%d-%b-%Y" to
'%Y-%m-%d'
- 2 changes to TSkeletonGoToNextTag(): use select mode (as does
imaps.vim, set g:tskelSelectTagMode to 'v' to get the old behaviour),
move the cursor one char to the left before searching for the next tag
(thanks to M Stubenschrott)
- added a few AutoIt3 skeletons
- FIX: handle tabs properly
- FIX: problem with filetypes containing non-word characters
- FIX: check the value of &selection
- Enable normal tags for late expansion
3.0
- Partial rewrite for vim7 (drop vim6 support)
- Now depends on tlib (vimscript #1863)
- "query" now uses a more sophisticated version from autoload/tlib.vim
- The default value for g:tskelQueryType is "query".
- Experimental (proof of concept) code completion for vim script
(already sourced user-defined functions only). Use :delf
TSkelFiletypeBits_functions_vim to disable this as it can take some
time on initialization.
- Experimental (proof of concept) tags-based code completion for ruby.
Use :delf TSkelProcessTag_ruby to disable this. It's only partially
useful as it simply works on method names and knows nothing about
classes, modules etc. But it gives you an argument list to fill in. It
shouldn't be too difficult to adapt this for other filetypes for which
such an approach could be more useful.
- The code makes it now possible to somehow plug in custom bit types by
defining TSkelFiletypeBits_{NAME}(dict, filetype), or
TSkelFiletypeBits_{NAME}_{FILETYPE}(dict, filetype),
TSkelBufferBits_{NAME}(dict, filetype),
TSkelBufferBits_{NAME}_{FILETYPE}(dict, filetype).
- FIX s:RetrieveAgent_read(): Delete last line, which should fix the
problem with extraneous return characters in recursively included
skeleton bits.
- FIX: bits containing backslashes
- FIX TSkeletonGoToNextTag(): Moving cursor when no tag was found.
- FIX: Minibits are now properly displayed in the menu.
3.1
- Tag-based code completion for vim
- Made the supported skeleton types configurable via g:tskelTypes
- FIX: Tag-based skeletons the name of which contain blanks
- FIX: Undid shortcut that prevented the <+bit:+> tag from working
- Preliminary support for using keys like <space> for insert mode
expansion.
3.2
- "tags" & "functions" types are disabled by default due to a noticeable
delay on initialization; add 'tags' and 'functions' to g:tskelTypes to
re-enable them (with the new caching strategy, it's usable, but can
produce much noise; but this depends of course on the way you handle
tags)
- Improved caching strategy: cache filetype bits in
skeletons/cache_bits; cache buffer-specific bits in
skeletons/cache_bbits/&filetype/path (set g:tskelUseBufferCache to 0 to
turn this off; this speeds up things quite a lot but creates many files
on the long run, so you might want to purge the cache from time to time)
- embedded <tskel:> tags are now extracted on initialization and not
when the skeleton is expanded (I'm not sure yet if it is better this
way)
- CHANGE: dropped support for the ~/.vim/skeletons/prefab subdirectory;
you'll have to move the templates, if any, to ~/.vim/skeletons
- FIX: :TSkeletonEdit, :TSkeletonSetup command-line completion
- FIX: Problem with fold markers in bits when &fdm was marker
- FIX: Problems with PrepareBits()
- FIX: Problems when the skeletons/menu/ subdirectory didn't exist
- TSkeletonExecInDestBuffer(code): speed-up
- Moved functions from EncodeURL.vim to tlib.vim
- Updated the manual
- Renamed the skeletons/menu subdirectory to skeletons/cache_menu
3.3
- New :TSkeletonEditBit command
- FIX: Embedded <tskel> tags in file templates didn't work
3.4
- Automatically reset bits information after editing a bit.
- Automatically define autocommands for templates with the form "NAME
PATTERN" (where "#" in the pattern is replaced with "*"), i.e. the
template file "text #%2ffoo%2f#.txt" will define a template for all new
files matching "*/foo/*.txt"; the filetype will be set to "text"
- These "auto templates" must be located in
~/.vim/skeletons/templates/GROUP/
- TSkeletonCB_FILENAME(), TSkeletonCB_DIRNAME()
- FIX: TSkeletonGoToNextTag() didn't work properly with ### type of
markers.
- FIX: TSkeletonLateExpand(): tag at first column
- FIX: In templates, empty lines sometimes were not inserted in the
document
- FIX: Build menu on SessionLoadPost event.
- FIX: Protect against autocommands that move the cursor on a BufEnter
event
- FIX: Some special characters in the skeleton bit expansion were escaped
twice with backslashes.
- Require tlib 0.9
- Make sure &foldmethod=manual in the scratch buffer
3.5
- FIX: Minor problem with auto-templates
4.0
- Renamed g:tskelPattern* variables to g:tskelMarker*
- If g:tskelMarkerHiGroup is non-empty, place holders will be
highlighted in this group.
- Re-enable 'mini' in g:tskelTypes.
- Calling TSkeletonBit with no argument, brings up the menu.
- Require tlib 0.12
- CHANGE: The cache is now stored in ~/vimfiles/cache/ (use
tlib#cache#Filename)
- INCOMPATIBLE CHANGE: Use autoload/tskeleton.vim
- FIX: Problem with cache name
- FIX: Problem in s:IsDefined()
- FIX: TSkeletonEditBit completion didn't work before expanding a bit.
- FIX: Command-line completion when tSkeleton wasn't invoked yet (and
menu wasn't built).
4.1
- Automatically define iabbreviations by adding [bg]:tskelAbbrevPostfix
(default: '#') to the bit name (i.e., a bit with the file "foo.bar" will
by default create the menu entry "TSkel.foo.bar" for the bit "bar" and
the abbreviation "bar#"). If this causes problems, set
g:tskelAutoAbbrevs to 0.
- Bits can have a <tskel:abbrev> section that defines the abbreviation.
- New type 'abbreviations': This will make your abbreviations accessible
as a template (in case you can't remember their names)
- New experimental <tskel:condition> section (a vim expression) that
checks if a bit is eligible in the current context.
- New <+input()+> tag.
- New <+execute()+> tag.
- New <+let(VAR=VALUE)+> tag.
- <+include(NAME)+> as synonym for <+bit:NAME+>.
- Experimental <+if()+> ... <+elseif()+> ... <+else+> ... <+endif+>,
<+for(var in list)+> ... <+endfor+> tags.
- Special tags <+nop+>, <+joinline+>, <+nl+> to prevent certain
problems.
- These special tags have to be lower case.
- Made tskeleton#GoToNextTag() smarter in recognizing something like:
<+/DEFAULT+>.
- Defined <Leader>## and <Leader>#<space> (see g:tskelMapLeader) as
visual command (the user will be queried for the name of a skeleton)
- Some functions have moved and changed names. It should now be possible
to plug-in custom template expanders (or re-use others).
- Use append() via tlib#buffer#InsertText() to insert bits. This could
cause old problems to reappear although it seems to work fine.
- The markup should now be properly configurable (per buffer; you can
set template-specific markers in the tskel:here_before section).
- Require tlib 0.14
- The default value for g:tskelUseBufferCache is 0 as many people might
find the accumulation of cached information somewhat surprising. Unless
you use tag/functions type of skeleton bit, it's unnecessary anyway.
- Removed the dependency on genutils.
- The g:tskelMarkerCursor variable was removed and replaced with
g:tskelMarkerCursor_mark and g:tskelMarkerCursor_rx.
4.2
- Enable <+CURSOR/foo+>. After expansion "foo" will be selected.
- New (old) default values: removed 'abbreviations' from g:tskelTypes
and set g:tskelAutoAbbrevs to 0 in order to minimize surprises.
- Enabled tex-Skeletons for the viki filetype
- FIX: Place the cursor at the end of an inserted bit that contains no
cursor marker (which was the original behaviour).
- Split html bits into html and html_common; the java group includes
html_common.
- CHANGE: Made bit names case-sensitive
- NEW: select() tag (similar to the query tag)
4.3
- bbcode group
- tskelKeyword_{&ft} and tskelGroup_{&ft} variables can be buffer-local
- Case-sensitivity can be configured via [bg]:tskelCaseSensitive and
[bg]:tskelCaseSensitive_{&filetype}
- Make sure tlib is loaded even if it is installed in a different
rtp-directory
4.4
- Make sure tlib is loaded even if it is installed in a different
rtp-directory
4.5
- Call s:InitBufferMenu() earlier.
- C modifier: Consider _ whitespace
- g:tskelMarkerExtra (extra markers for tskeleton#GoToNextTag)
4.6
- Minibits: Allow single words as bit definition: "word" expands to
"word<+CURSOR+>"
- Require tlib 0.29
4.7
- TSkeletonSetup: allow full filenames as argument
- Auto templates: don't cd into the templates directory
- tskeleton#ExpandBitUnderCursor(): Third argument is a dictionary.
- TSkeletonMapHyperComplete() (default: <c-space>): Map a magic key that
expands skeletons or, if no matching templates were found, completions,
tags, words etc.
- FIX: Problem with <+name/expandsion+> kind of tags when located at the
beginning or end of a line
- s:GetBitDefs()
- Improved tskeleton#Complete() (for use as completefunc or omnifunc)
- FIX: Cursor positioning after expanding templates without a <+CURSOR+>
tag
- Don't build the menu for tSkeleton scratch buffers
4.8
- Moved the definition of some variables from plugin/tSkeleton.vim to
autoload/tskeleton.vim
- If g:tskelMapLeader is empty, don't define maps.
- Don't build a menu if g:tskelMenuPrefix == ''.
- If g:tskelDontSetup is defined and g:tskelMenuPrefix == '',
autoload/tskeleton.vim won't be loaded on startup.
- Don't create g:tskelBitsDir if it doesn't exist
4.9
- "Mini bits": Load all .tskelmini files from the current file's
directory upwards
- s:InsertDefault handles <+CURSOR+> tags
- tskeleton#HyperComplete_query(): Set w:tskeleton_hypercomplete
- FIX: g:tskelHyperType = "pum" didn't work properly.
version: "4.10"
- Improved integration with stakeholders.vim
- s:SelectTagMode(): CursorSet() should respect value of g:tskelSelectTagMode
- tskeleton#GoToNextTag(): Missed last character for <++> tags if &sel wasn't "exclusive"
- FIX: further &selection-related issues
MD5 checksum: d126a6069b3d4452c0402f3db12286a0
version: "4.11"
- .gitignore
- Don't assume users have the set of standard templates installed (distributed separatedly)
MD5 checksum: b3f679c5dd30e9baca8965605ce4b364
version: "4.12"
- C modifier in place holders prevented parsing of subsequent modifiers (fix #3)
- skeletons/README
MD5 checksum: 8d2aefc5b25058d211c1f427fc564bec
version: "4.13"
- g:tskeleton#conceal_cchar: Conceal placeholders
- Use noautocmd
- Call tskeleton#PrepareBits() on FileType events
- debug
- s:EvalBitProcess(): Remove whole line comments (i.e. tskel:before/after sections may contain comments)
- Add TSkelPlaceHolder to all syntax clusters
- s:Eol(): No special treatment for insertmode
- Cache syntax clusters
MD5 checksum: c484c1da8c23e9abe02dde370cd094a1
version: "5.00"
- Support for $ENVIRONMENT_VARIABLES\n\
- tskeleton#FillIn(): Make sure folding is disabled when expanding tags\n\
- g:tskelNewBufferIsDirty: Optionally, mark new files from templates as modified\n\
- g:tskelNewBufferIsDirty: Set based on the value of &hidden\n\
- Adding user setting for a \"COMPANY\" tag.\n\
- Call TSkeletonMapGoToNextTag() if g:tskelMapGoToNextTag\n\
- The expansion of </name> type of tags was inserted at the wrong column\n\
- tskeleton#Placeholders(): Make sure filetype is not empty\n\
- Echo v:exception when catching errors\n\
- Experimental: Also cache parsed bits/minibits\n\
- Experimental: partial support for snippets (\xC3\xA0 la snipMate)\n\
- Allow 0-9 in place holders\n\
- Use g:snippets_dir if set\n\
- snippets: slightly improved parsing\n\
- Improved support for snippets\n\
- g:tskelBitsDir is a path now (comma-separated list)\n\
- tskeleton#GoToNextTag(): support for numbered place holders\n\
- FIX: Escape menu items\n\
- FIX: tskeleton#FetchMiniBits(): undefined a:filename (after previous commit)\n\
- New defaults: enable snippets; enable stakeholders if loaded; enable g:tskelMapGoToNextTag\n\
- Move tskeleton#ProcessTag_functions_with_parentheses() to tags.vim\n\
- tskeleton#functions#FiletypeBits_vim(): Don't add items to menu\n\
- snippets: Put snippets in Snippets submenu\n\
- skeleton#GetDestBuffer(); postprocess attribute for bits => make snippet's `...` syntax work\n\
- Setup stakeholders right after inserting the snippet in the destination buffer\n\
- Replace g:tskelBitsDir with g:tskelGlobalBitsPath and g:tskelLocalBitsDirs (skeletons can be directory/project local)\n\
- g:tskelMapGoToNextTag is a key/map now\n\
- g:tskeleton#max_basename: Remove len of the cache dir name from the max filesize\n\
- FIX: Unknown variable r\n\
- tskeleton#TagRx(): better support for embedded strings\n\
- duplicate help tags (fixes #6)\n\
- addon-info\n\
- tskeleton#EditBit(): Re-enable editing non-existing bits\n\
- tskeleton#EditBit(): reset bit defs for correct filetype\n\
- tskeleton#GoToNextTag(): correct selection if &sel != exclusive (fixes #7)\n\
- tskeleton#FillIn(): Ensure &sel is \"exclusive\" (fixes #8)\n\
MD5 checksum: a87f571652f29bd910cb47fb91153094"
- Help template
- TSkeletonSetup: Optional bang (always fill in buffer)
- FIX #9: TSkeletonSetup: <q-args> doesn't require escaping whitespace
- FIX #10: RetrieveBit: Chomp at most one newline (require tlib 1.10)
- FIX #11: Don't include :HiLink in doc
MD5 checksum: 40554c506d28c41491f3e219301829d8
version: "5.01"
version: "5.02"
- Check version of stakeholders if g:tskeleton#enable_stakeholders is true.
MD5 checksum: c7f28770f5153dd8b072d9fd2b1308ef