1011 Commits

Author SHA1 Message Date
Joao Tavora
660b90a746 refactor: reorganize code around to shoosh compiler 2013-11-06 14:36:24 +00:00
Joao Tavora
f1a40e5b57 refactor: less macroexpanded code, simplify marker management 2013-11-06 14:27:06 +00:00
Joao Tavora
539c143d49 wip: even closer 2013-11-06 11:15:51 +00:00
Joao Tavora
891c76fa71 wip: in the green! 2013-11-06 10:02:59 +00:00
Joao Tavora
98946135a9 wip: just one test failing 2013-11-06 08:45:01 +00:00
Joao Tavora
fc8804471a wip: fix a trivial test 2013-11-06 01:07:55 +00:00
Joao Tavora
dc12a8b4a2 wip: some tests already passing, but lambda scheme sucks 2013-11-06 01:05:39 +00:00
Joao Tavora
c5f62d81ae wip: still broken, but closer 2013-11-06 00:13:29 +00:00
Joao Tavora
7b7d2cea53 wip: on-going refactor, broken 2013-11-05 19:55:08 +00:00
Joao Tavora
d04d5dbae6 add: field ordering and snippet exits 2013-11-04 01:00:03 +00:00
Joao Tavora
b789c13f75 doc: update doc and clarify interface 2013-11-02 14:42:41 +00:00
Joao Tavora
782c57985b fix: don't need this function anymore 2013-11-02 13:25:43 +00:00
Joao Tavora
4ece494427 fix: better logic for wrapping selected text and writing mirror transforms 2013-11-02 01:00:03 +00:00
Joao Tavora
f32e4fe2ea fix: better input validation 2013-11-02 00:59:31 +00:00
João Távora
0f67c07ddd Merge pull request #424 from ljos/de/activate-extra-mode
Feature: de/activate-extra-mode
2013-10-31 06:28:26 -07:00
Joao Tavora
6ee3d2e0b6 Closes #404: merge remote-tracking branch 'npostavs/widen' 2013-10-31 13:03:42 +01:00
Joao Tavora
43a484e943 add: external test for issue #404 2013-10-31 13:03:32 +01:00
Joao Tavora
db38009ee8 add: support expansion-time evaluation forms and validate some input 2013-10-31 01:35:19 +00:00
Noam Postavsky
d7b2b89eaa widen before deleting regions
This avoid problems with c-mode's after change hooks.
2013-10-30 18:25:51 -04:00
Joao Tavora
f76b876c53 refactor: use new 2013-10-30 16:28:46 +01:00
Bjarte Johansen
d5d6e456bf Feature: de/activate-extra-mode
Adds functionality to deactivate/activate extra modes. Two new functions
are added: `activate-extra-mode', `deactivate-extra-mode'. These two
functions activate and deactivate snippets for the given mode in the
current buffer. The use-case for the functions is to have a simple
interface for adding new snippets when activating a new minor mode.

The previous way of doing this, using `yas-extra-modes', is made
obsolete and the new deactivate/activate should be the preferred
instead. The reason for making `yas-extra-modes' obsolete is to keep a
simple interface.

See issue #420 for more information.
2013-10-27 20:38:12 +01:00
João Távora
84b7e69413 Merge pull request #423 from npostavs/load-snippet-ui
Improve load snippet ui
2013-10-26 16:37:17 -07:00
Noam Postavsky
33dff9ad12 let C-c C-c save existing snippets too 2013-10-26 14:40:50 -04:00
Noam Postavsky
205b0e6970 move snippet saving from loading to closing
yas-load-snippet-buffer now just loads the snippet,
yas-load-snippet-buffer-and-close also saves it.
2013-10-26 13:42:32 -04:00
Noam Postavsky
ffd497d541 don't kill snippet buffer unless saved
Split the quit-window part of yas-load-snippet-buffer into
yas-load-snippet-buffer-and-close, and only quit if the snippet was
saved.

This resolves #417, where you could lose a snippet by giving the wrong
answer in a prompt.
2013-10-26 12:11:04 -04:00
Joao Tavora
32ee5cbde5 Closes #415: remove c-specific hacks, harmful on emacs 24.3 2013-10-21 09:28:44 +01:00
Joao Tavora
478211060c add: nested fields and nested field skipping 2013-10-20 13:41:32 +01:00
Joao Tavora
5a067b8d3a add: tests for clearing unmodified fields 2013-10-20 12:45:23 +01:00
Joao Tavora
fe4b622a5e add: some contrived tests for marker handling in adjancent fields 2013-10-20 12:43:21 +01:00
Joao Tavora
90528b1664 fix: no need for eval here, since make-snippet is a function 2013-10-20 12:42:19 +01:00
Joao Tavora
386e84fdde fix: make-snippet can be a function 2013-10-20 12:40:23 +01:00
Joao Tavora
0daac695e2 add: clear unmodified fields when inserting text at the beginning 2013-10-20 12:28:03 +01:00
Joao Tavora
54e93b60e9 add: broader tests, already catch many expansion errors 2013-10-19 17:20:51 +01:00
Joao Tavora
2db4102fda fixup: guess I need to close snippet-objects after all 2013-10-19 17:20:25 +01:00
Joao Tavora
76bc40fd03 fix: properly handle snippet and mirror markers with `snippet--open-object'
* also snippet--close-object is apparently not needed

* don't call the mirror transforms when field-text is null, just
  return empty string. also zero-length fields considered to have a
  null field-text, not the empty string.

* correctly place markers when inserting objects
2013-10-19 15:31:24 +01:00
Joao Tavora
d43f42186d refactor: store prev' and next' in all objects, not prev-field' and next-field' 2013-10-19 01:40:44 +01:00
Joao Tavora
67ddacd916 refactor: snippet--[open|close]-markers take objects not markers 2013-10-19 01:17:27 +01:00
Joao Tavora
62c40c50b9 fix: better take a list rather than &rest args in make-snippet 2013-10-19 00:56:35 +01:00
Joao Tavora
b682f6bcac refactor: snippet--object struct included in fields and mirrors 2013-10-19 00:46:56 +01:00
Joao Tavora
4149acbaae fix: prefix cl-lib functions with cl and wrap long lines 2013-10-19 00:27:17 +01:00
Joao Tavora
ccf3579344 fix: require cl-lib instead of cl 2013-10-18 14:40:37 +01:00
Joao Tavora
c5276642b8 refactor: do away with snippet--form-[mirror/field]-p, use pcase and cleaner loops 2013-10-18 14:40:01 +01:00
Joao Tavora
9927e08d89 add: another little test 2013-10-17 18:50:59 +01:00
Joao Tavora
55eaf62fd3 fix: order of edebug subforms in &or matters 2013-10-17 13:14:53 +01:00
Joao Tavora
0adcad2190 add: ert-based test-suite 2013-10-17 12:17:11 +01:00
Joao Tavora
b4bf8bbd33 new: make-snippet makes an anonymous snippet lambda
bug: apparently broke edebug though
2013-10-17 12:16:54 +01:00
Joao Tavora
6039bc667f fix: provide a simple edebug spec for define-snippet 2013-10-16 19:05:04 +01:00
Joao Tavora
26065ae4f5 fix: don't require lexical-binding to call transforms with field text 2013-10-16 19:05:03 +01:00
Joao Tavora
33c696516a fix: correctly allow functions as snippet forms
also make define-snippet expand directly to a defun
2013-10-16 19:05:02 +01:00
Joao Tavora
123f204d20 fix: slightly terser loop syntax 2013-10-16 19:05:01 +01:00