189 Commits

Author SHA1 Message Date
capitaomorte
14735e1ba0 Trashed prior implementation of nested snippets and now going full steam on a much better one (I hope...) 2009-07-01 16:58:39 +00:00
capitaomorte
795c08dddc 2009-01-23 14:38:15 +00:00
capitaomorte
50e7af74fa * Fuckin' more complicated than I thought. Think I'll have to sanitize
the `buffer-undo-list' once in a while
2008-09-19 16:40:50 +00:00
capitaomorte
9fa6f3533e * Getting there, getting there, `yas/push-undo-action-maybe' has to be
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.
2008-09-18 21:43:28 +00:00
capitaomorte
d117ee3857 * Nice try reviving snippets. 2008-09-18 15:08:20 +00:00
capitaomorte
94e6ee5503 * Simplified passing of info between pre and post-command-hook 2008-09-18 08:25:34 +00:00
capitaomorte
9aa2cc6486 * Cleaning up some code and preparing for complete snippet undo/redo,
with nested snippets
2008-09-17 16:36:30 +00:00
capitaomorte
aa75b00b55 * Only the full snippet undo/redo missing. Fields are quite OK, I think.
* Also the mirror and primary transforms would be nice.
2008-09-15 08:58:48 +00:00
capitaomorte
5a3b161219 * Much closer to getting this all working, undo, redo and nested
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.
2008-09-12 18:34:52 +00:00
capitaomorte
d9cb83dc93 * I like. Very nice. New undo scheme is powerful for completely
emulating Textmate behaviour I think.
2008-09-12 13:35:57 +00:00
capitaomorte
38ce2aac82 * Nice! Getting there with this scheme, undo and everything! 2008-09-12 13:19:34 +00:00
capitaomorte
d5695a34cb * Almost removed the field-overlay stuff, preparing for using simple
markers.
2008-09-10 17:00:23 +00:00
capitaomorte
05dc1f1474 * About to simplify this considerably. Deleted previous section on
field-level undo, only a stub for better times to come!
2008-09-09 17:25:03 +00:00
capitaomorte
058b7333af * Many bugs, gotta look for them later, now have to make my cv... 2008-09-09 14:07:54 +00:00
capitaomorte
e899cb4f83 Big bugs but it's around! Field level undo obviously needs a massive
change....
2008-09-08 17:06:16 +00:00
capitaomorte
4a2db923bb Nested placeholders, more or less working, but had to get rid of the
other workaround (which was a bit ugly anyway). Problem is that I have
to find another workaround.
2008-09-08 15:29:20 +00:00
capitaomorte
cc0211316e Checking in still largely failing attempt on nested placeholders,,, 2008-09-08 08:42:14 +00:00
Zhang Chiyuan
535a1ef314 Added $> support, fixed issue 16 2008-09-02 13:06:51 +00:00
capitaomorte
cca2df173d * Added a new section "Field-level undo functionality" to correct
issue 33.

* Added functions `yas/field-undo-before-hook',
  `yas/field-undo-after-hook', `yas/field-undo-group-text-change' and
  variables `yas/field-undo-history',
  `yas/field-undo-forbidden-commands' to implement field-level undo.

* Modified `yas/cleanup-snippet' to record the actual snippet end
  in the snippet before cleaning up the main overlay.

* New hooks `yas/field-undo-before-hook' and
  `yas/field-undo-after-hook' added to `pre-command-hook' and
  `post-command-hook', respectively.

* Slightly changed the commentary of the "Snippet register and
  unregister routines section"

* Modified step 12 to call `yas/undo-expand-snippet' without the
  `(point-min)' argument, which led to incorrect undo behaviour.

* Added a new step in `yas/expand-snippet' describing the local
  restore and save of undo infomation in a new slot of the
  `yas/snippet' structure. This is step 14, previous 14 was moved to 15.

* Modified `yas/undo-expand-snippet' to kill text up to the the
  correct snippet end, which was not being calculated correctly. It is
  now a slot of the snippet itself and no longer a parameter.

* Added functions `yas/current-field-text',
  `yas/replace-fields-with-value',
  `yas/remove-recent-undo-from-history' to refactor some code used
  twice or more.

* Modified `yas/check-cleanup-snippet' to detect trigger cleanup
  if point exits any primary snippet field, of any
  group. Previously cleanup would only be triggered on exiting
  all groups. This is a follow-up to issue 28.

* Added two slot to the `yas/snippet' structure to allow for
  field-level undo and correct small bug in the previous fix of issue
  28.

* Modified `yas/cleanup-snippet' to call
  `yas/after-exit-snippet-hook' as a follow-up to feedback on
  issue 28.

* (Accidentaly :) changed (but corrected!) indentation of most
  existing functions. This was done by a buffer global indent-region.

* (Accidentaly :) ran `checkdoc' but then gave up, it's
  uncessary. Didn't change much stuff though.
2008-08-30 19:33:16 +00:00
capitaomorte
b8e187b5b6 * Fixed issue 28,
http://code.google.com/p/yasnippet/issues/detail?id=28

* Added snippet registration routines `yas/register-snippet',
  `yas/unregister-snippet', `yas/cleanup-snippet',
  `yas/exterminate-snippets' and `yas/check-cleanup-snippet'

* Adjusted existing code to call these routines.

* Added some commentary to explain functionality.
2008-08-22 17:09:16 +00:00
Zhang Chiyuan
e6276da02a Raise an error when yas/load-directory get a parameter that is not a directory. 2008-08-20 15:32:02 +00:00
Zhang Chiyuan
36184e0bc7 forget to commit for 0.5.6? 2008-08-08 05:04:42 +00:00
Zhang Chiyuan
de67b5802f Make the environment of elisp evaluation more friendly to (current-column) 2008-08-06 08:52:36 +00:00
Zhang Chiyuan
b3aa297b95 use full key extension as "name" when no "name" property defined. 2008-08-01 05:04:47 +00:00
Zhang Chiyuan
e9cd192bda Use filename for snippet name if no "name" property is defined. 2008-07-31 07:05:53 +00:00
Zhang Chiyuan
6ea153b0df add markdown-mode to known modes 2008-06-18 04:06:26 +00:00
Zhang Chiyuan
395e0a93e7 Added directory to yas/root-directory automatically when loaded. 2008-05-22 05:39:56 +00:00
Zhang Chiyuan
31865ae984 Oops, forget to check in the latest changes since 0.5.3 2008-05-21 06:52:50 +00:00
Zhang Chiyuan
72790f649d add python-mode-hook to extra-mode-hooks 2008-05-15 02:04:29 +00:00
Zhang Chiyuan
4a178dadd8 Added ox-mode-hook to extra-mode-hooks 2008-05-13 23:09:26 +00:00
Zhang Chiyuan
bd82705b0d fix a bug of condition system 2008-05-02 15:32:19 +00:00
Zhang Chiyuan
0e1456f4b8 fix a bug in condition system. 2008-05-01 03:21:32 +00:00
Zhang Chiyuan
db6a74078f fix indent (was 3 spaces) of snippets for python-mode 2008-04-25 15:01:39 +00:00
Zhang Chiyuan
aea245c70e fix bug: comparing string to symbol using string= 2008-04-20 08:25:14 +00:00
Zhang Chiyuan
208ca3de44 Use a beautiful css style for the document. release as 0.5.1 2008-04-14 12:42:08 +00:00
Zhang Chiyuan
024c04fab0 load snippets from menu bar 2008-04-11 04:04:46 +00:00
Zhang Chiyuan
5bd14c4b18 yas/root-directory now can contains a list of directories 2008-04-11 03:58:40 +00:00
Zhang Chiyuan
7591c6e588 rename fall-back to fallback 2008-04-10 05:40:30 +00:00
Zhang Chiyuan
88bc80164f YASnippet now integrate with hippie-expand 2008-04-10 05:30:23 +00:00
Zhang Chiyuan
bca01e5638 the behavior when no snippet is found is now customizable through `yas/fall-back-behavior' 2008-04-10 05:11:01 +00:00
Zhang Chiyuan
3deb5c9481 default condition won't expand a snippet in string or comment. 2008-04-10 04:50:00 +00:00
Zhang Chiyuan
6f220b1243 avoid the problem where the condition is evaluated twice 2008-04-10 04:39:56 +00:00
Zhang Chiyuan
60cf669105 now you can C-w to delete the overlay without causing problems. 2008-04-10 04:30:52 +00:00
Zhang Chiyuan
2d56844711 prepare for 0.4.5 2008-04-07 10:43:49 +00:00
Zhang Chiyuan
b9f3509252 incorporate the latest dropdown-list.el 2008-04-07 10:35:50 +00:00
Zhang Chiyuan
87d81f8639 add <backtab> to keymap of back navigating 2008-04-07 02:27:30 +00:00
Zhang Chiyuan
fdb17ae897 add actionscript-mode-hook to extra-mode-hooks 2008-03-28 10:54:44 +00:00
Zhang Chiyuan
72be6f0fc2 bug fix: infinite recursion when several snippets overlaps. 2008-03-27 08:25:37 +00:00
Zhang Chiyuan
6c521b97d2 prepare for 0.4.4 2008-03-24 02:28:25 +00:00
Zhang Chiyuan
0beb4b3f56 bug fix: dropdown-list.el doesn't recognize <return> key. 2008-03-24 01:31:04 +00:00