* get fixed indentation working
* merge from trunk
* try to implement snippet-local vars
* implement a command `find-snippet-file' that defaults to the dir and sets `yas/snippet-editing-mode'
* at least most of the customization group is here I think
* still got a lot to do for the minor mode (including making it global)
* TODO: write wrap regions
* TODO: write per-snippet variable overrides
* goto sleep
TODO:
* Still some old syntax to take care of (simple ${field} without number)
* Add messages to snippet events, not just errors
* fix many bugs
* make the customization group
* merge from trunk
...
* mirrors only update when something actually changes
* cant reproduce strange undo/redo bug that I think I saw
* escapes apparently working OK
* expressions in fields working OK, but now tested extensively
TODO: Implement the per-snippet exit hook just like the "condition"
Handle indent the best possible way
Merge changes from trunk
* will try to let the modification hooks do the previous-field advancing but I really don't know if its possible
* also remember to fix the "navigate to deleted field on undo" bug
* yas/minor-mode should be needed to expand snippets, this means hooks last while snippets last
* will probably *not* fix this bug: ${1:nested{2:thing}} when "thing" is changed "nested"'s end marker doens't move
* TODO: exit snippet if the yas/active-field-overlay is exited
* TODO: kill all field text on first keystroke
* TODO: handle border cases with empty/near empty active field overlays
* TODO: handle escapes
* TODO: handle nested snippets
modified to adapt to new arg list and use `pushnew'
* A `yas/cleanup-snippet' action has to be pushed on `yas/expand'
* expanding a new snippet with a snippet already active must render
the previous one disabled. This shouldn't be a field, it should be
found out on the fly. disabled means its big overlay is coloured
some other color.
* transformations have to be accounted for
* code has to be cleaned up and thoroughly commented.
stuff. Works most of the time but:
1. Consider getting rid of the `deleted' state of a group and using
some other criteria to discover if user can move to a
group. `deleted' is only for subgroups anyway, i think.
2. Consider adding information about restoring boundaries in the
yas/group itself. This way,
a) upon `yas/snippet-cleanup', start and end marker could simply be
set to nil and deleted.
b) `yas/undo-restore-active-group' could recurse down subgroups
restoring them as well. (maybe without specifically moving to
them, but OK.
3. Don't forget to correct `yas/update-mirrors' to correctly use the
transformations in the mirror fields.