189 Commits

Author SHA1 Message Date
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
capitaomorte
7a0ee29afa Trying nested placeholders 2008-09-08 08:40:01 +00:00
Zhang Chiyuan
bfe0255fd1 Update changelog for issue 16 2008-09-02 13:11: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
2b6dab409c Added several snippets for erlang-mode. Thanks hitesh 2008-08-20 02:10:57 +00:00
Zhang Chiyuan
59d35739fa Added a smarter ruby-mode class snippet 2008-08-11 23:59:51 +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
1ad8d82ac9 fixed the regular expression bug in python-mode snippets. 2008-08-01 07:51:16 +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
1f62f9760f Added snippets for markdown-mode from Peng Deng. 2008-06-18 04:05:03 +00:00
Zhang Chiyuan
fc059912e9 Avoid gcc warning of cc-mode 'main' snippet 2008-05-29 04:10:56 +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
85228b17d8 include html snippets from JimmyWu 2008-05-10 05:15:00 +00:00
Zhang Chiyuan
bd82705b0d fix a bug of condition system 2008-05-02 15:32:19 +00:00
Zhang Chiyuan
baaf76e7f6 remove the looking-back condition, some old emacs don't have looking-back function. 2008-05-01 03:26:14 +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
6c51fd8e21 more snippets for css-mode 2008-04-23 06:51:30 +00:00
Zhang Chiyuan
aea245c70e fix bug: comparing string to symbol using string= 2008-04-20 08:25:14 +00:00
Zhang Chiyuan
d88b314b63 update doc template to include a link to download page 2008-04-17 12:16:52 +00:00
Zhang Chiyuan
7eeee6419d update changelog 2008-04-14 12:43:44 +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
4f0c2cb993 update changelog and document 2008-04-10 05:46:13 +00:00
Zhang Chiyuan
7591c6e588 rename fall-back to fallback 2008-04-10 05:40:30 +00:00