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