1051 Commits

Author SHA1 Message Date
Stefan Monnier
d19ef74634 Getting rid of low-level assumptions in yasnippet
The main thrust is to get rid of the use of the `cl-struct-slots'
property which doesn't exist in Emacs-25 any more.

* yasnippet.el: Update copyright
(yas--template): Change constructor name from
`yas--make-blank-template' to `yas--make-template'
(yas--populate-template): Remove.
(yas--define-snippets-1): Use `yas--make-template'
(yas--define-snippets-1): Use `setf's
(yas-define-menu, yas--define-menu-1, yas-tryout-snippet): Use
`yas--make-template'
2015-03-20 10:34:33 +00:00
João Távora
fc5052b863 Merge pull request #568 from npostavs/contrib
Add a CONTRIBUTING.md file
2015-03-19 11:30:25 +00:00
Noam Postavsky
b9989f8c8c Add a CONTRIBUTING.md file
Collect some conventions about contributing to Yasnippet (which have
been scattered amongst various issues/pull request) into a single file.

* CONTRIBUTING.md: New File.
2015-03-18 15:59:28 -04:00
Vasilij Schneidermann
3e7b56ebd7 Implements #566: Remove dead major modes code
* yasnippet.el (yas--known-modes, yas--real-mode?): Removed
2015-03-18 11:48:44 +01:00
João Távora
21ffe4b797 Merge pull request #559 from mineo/patch-1
* yasnippet.el (yas-expand-snippet): improve docstring
2015-02-12 10:40:33 +00:00
Wieland Hoffmann
3c133487dc yas-expand-snippet: Clarify EXPAND-ENV 2015-02-12 11:04:31 +01:00
João Távora
197ef7f0b6 Merge pull request #552 from treese/master
Clarify what happens with yas-new-snippet.

Added more detail about how yas-new-snippet behaves, 
particularly how it guesses a directory to save in.

* doc/snippet-development.org (Quickly finding snippets): 
  enhance section.
2015-01-10 15:56:45 +00:00
Win Treese
07734a1713 Clarify what happens with yas-new-snippet.
Added more detail about how yas-new-snippet behaves, particularly how it guesses a directory to save in.
2015-01-10 10:04:18 -05:00
João Távora
b62bdf3fcd Closes #546: backport yas-initialize' and provide yas/initialize'
* yasnippet.el (yas-initialize): Renamed from `yas--initialize'.
(yas--backported-syms): Add `yas-initialize'
2014-12-23 11:03:09 +00:00
João Távora
e161fc0a9d Merge pull request #542 from tarsius/nosearch
Add file doc/.nosearch
2014-12-09 12:08:19 +00:00
Jonas Bernoulli
bb6bbad1f7 Add file doc/.nosearch
This keeps `normal-top-level-add-subdirs-to-load-path'
from adding the directory to the `load-path'.
2014-12-08 14:47:20 +01:00
João Távora
50ca8d30de Update README.mdown
Fix misspellings
2014-11-23 12:23:15 +00:00
João Távora
175e0a3a10 Clean up previous change
* yasnippet.el: Update comment.
(yas--protection-violation): Removed.
(yas--on-protection-overlay-modification): Simplified.
(yas--post-command-handler): No longer reference
`yas--protection-violation'
2014-11-17 11:27:30 +00:00
João Távora
596e6b2640 Closes #537: Be lenient to extensions operating on snippet fields
* yasnippet.el (yas--on-protection-overlay-modification): Commit the
snippets being destroyed instead of signalling a protection violation.
2014-11-04 08:27:34 +00:00
João Távora
1c97671c6e Closes #536: Fix navigation to zero-length fields at snippet end
* yasnippet.el (yas--field-probably-deleted-p): A deleted field
was probably modified before, so enforce that condition.
2014-11-02 23:54:04 +00:00
Noam Postavsky
51d4ed14df Update snippets submodule 2014-10-17 10:36:08 -04:00
João Távora
b22961a4a6 Update README.mdown 2014-10-11 22:27:48 +01:00
João Távora
e2b876baef Tweak README.mdown to simplify bug reporting paragraph 2014-10-11 14:57:49 +01:00
João Távora
6053db05ca Closes #527: Unbreak case where yas-fallback-behaviour is a list
* yasnippet.el (yas--fallback): Extract interesting values from
`yas-fallback-behaviour' before rebinding.
2014-10-09 07:16:36 +01:00
João Távora
70151f4f1e Closes #525, closes #526: Prevent some keybinding fallback loops
* yasnippet.el (yas--keybinding-beyond-yasnippet): Add docstring.
(yas--fallback): Also let-bind `yas-minor-mode' to nil when
falling back.
2014-10-07 14:57:23 +01:00
João Távora
6877bc6db3 Merge pull request #524 from npostavs/fallback-loop
Signal an error on recursive yas--fallback calls
2014-10-05 09:24:34 +01:00
Noam Postavsky
e7314516e3 Signal an error on recursive yas--fallback calls
* yasnippet.el (yas--fallback): let-bind yas-fallback-behavior to
  'yas--fallback before actually doing the fallback. Signal an error if
  it's 'yas--fallback (indicating we're in an infinte loop).
2014-10-04 20:52:58 -04:00
João Távora
08b044e559 Merge pull request #519 from syohex/use-cl-macro 2014-09-29 10:40:07 +01:00
Syohei YOSHIDA
783cc3394f Use cl-incf instead of cl
* yasnippet.el (yas--snippet-next-id, yas--real-line-beginning):
Use `cl-incf'.
2014-09-29 10:38:31 +01:00
João Távora
8e9bf3cdb4 Merge pull request #518 from rnkn/master
Compatibility with custom-unlispify-remove-prefixes
2014-09-22 22:02:00 +01:00
Paul Rankin
6f7c91558a Compatibility with custom-unlispify-remove-prefixes 2014-09-21 00:53:29 +10:00
João Távora
41cb5f565f Update snippets submodule 2014-09-11 11:12:19 +01:00
João Távora
cc64ff62bf Merge pull request #514 from tarsius/master
Cosmetic fixes and quiet byte-compiler
0.9.0-beta
2014-09-09 20:50:56 +01:00
Jonas Bernoulli
70de82164c enforce use of spaces for indentation 2014-09-07 14:20:07 +02:00
Jonas Bernoulli
37df653a67 yasnippet-debug.el: quiet byte-compiler 2014-09-07 14:20:07 +02:00
Jonas Bernoulli
241465cea2 move eof footer to the actual eof 2014-09-07 14:20:07 +02:00
João Távora
be2f815c43 Closes #508: Ensure original point when evaluating conditions
* yasnippet.el (yas--templates-for-key-at-point): Call
`yas--fetch', and hence condition system, with point in the
original position.
0.9.0-a
2014-08-21 08:38:46 +01:00
João Távora
5b59b802ac Closes #495: Allow symbols as aliases in `yas-snippet-dirs'
* yasnippet.el (yas-installed-snippets-dir): New parameter. Set at
load time from `load-file-name'.
(yas--load-file-name): Removed.
(yas-snippet-dirs): Update docstring. Default value has symbol
`yas-installed-snippets-dir' as an alias to any bundled snippets.
(yas-snippet-dirs): Redesign for new `yas-snippet-dirs' semantics.
2014-08-20 21:48:41 +01:00
João Távora
1d4618b022 Closes #504: Correctly discover buffers needing snippets immediately
* yasnippet-tests.el (issue-504-tricky-jit): New test.

* yasnippet.el (yas-load-directory): Use a new `impatient-buffers'
local and call `yas--load-pending-juts' in all those at the end.

* yasnippet.el (cl-lib): Don't need `eval-and-compile'.
2014-08-20 21:29:32 +01:00
João Távora
f7ef023ebb Prevent disabling errors from recent yas-current-syntaxes logic
* yasnippet.el (yas--templates-for-key-at-point): Don't error
since this function is called very frequently on TAB. Use new
`yas--warning'.
(yas--warning): New function.
2014-08-20 20:23:00 +01:00
João Távora
e60e8b5551 Merge pull request #503 from npostavs/key-syntaxes
More yas-key-syntaxes functions
2014-08-11 00:26:29 +01:00
Noam Postavsky
d982b701fc Fix edge case in yas-longest-key-from-whitespace
* yasnippet.el (yas-longest-key-from-whitespace): don't try again if
  start-point is on whitespace.
* yasnippet-tests.el (complicated-yas-key-syntaxes): check edge case.
2014-08-10 14:05:26 -04:00
Noam Postavsky
47a3d5f1cb Fix yas-key-syntaxes example functions docstrings.
* yasnippet.el (yas-try-key-from-whitespace),
  (yas-shortest-key-until-whitespace),
  (yas-longest-key-from-whitespace): docstring describes the effect, not
  implementation.
2014-08-10 14:05:26 -04:00
Noam Postavsky
5d10b5dfee Add yas-longest-key-from-whitespace
Example yas-key-syntaxes function.

* yasnippet.el (yas-longest-key-from-whitespace): new function.
* yasnippet-tests.el (complicated-yas-key-syntaxes): test it.
2014-08-10 14:05:25 -04:00
Noam Postavsky
10ecde158e Pass start point to yas-key-syntaxes functions
* yasnippet-tests.el (complicated-yas-key-syntaxes): accept argument.
* yasnippet.el (yas-try-key-from-whitespace): accept argument.
  (yas-shortest-key-until-whitespace): accept argument.
  (yas--templates-for-key-at-point): pass start point the methods.
  (yas-key-syntaxes): update docstring.
2014-08-10 14:05:25 -04:00
Noam Postavsky
280ece2af4 Add yas-shortest-key-until-whitespace
Example yas-key-syntaxes function.

* yasnippet.el (yas-shortest-key-until-whitespace): new function.
* yasnippet-tests.el (complicated-yas-key-syntaxes): test it.
2014-08-10 14:05:25 -04:00
Noam Postavsky
de34d91a3c Closes #470, handle non-whitespace newlines
Many modes put newlines in comment ender class because they have line
comments.

* yasnippet.el (yas-try-key-from-whitespace): new function.
(yas-key-syntaxes): use it in place of "^ ".
* yasnippet-tests.el (complicated-yas-key-syntaxes): test it.
2014-08-10 14:05:01 -04:00
João Távora
faed1062a2 * yasnippet.el (yas-key-syntaxes): Improve documentation. 2014-07-29 20:40:09 +01:00
João Távora
7761deeeb5 Closes #497: Allow functions as elements in yas-key-syntaxes
* yasnippet.el (yas--templates-for-key-at-point): Renamed from
`yas--current-key'.
(yas-key-syntaxes): Overhaul documentation.
(yas-expand-from-trigger-key): Use
`yas--templates-for-key-at-point'.

* yasnippet-tests.el (complicated-yas-key-syntaxes): New test.
(yas-should-expand, yas-should-not-expand): Friendlier failure
message.
2014-07-29 01:19:58 +01:00
João Távora
0b7b34a333 Closes #492, closes #494: Consider defalias when calculating parent modes
* yasnippet-tests.el (issue-492-and-494): New test.

* yasnippet.el (yas--modes-to-activate): Consider each mode's
symbol-function as a neighbour in case it's a symbol as well.
2014-07-28 23:23:04 +01:00
João Távora
2b24aeaf80 Merge pull request #493 from npostavs/ijit
Allow jit loading interactively
2014-07-20 23:34:00 +01:00
Noam Postavsky
e1ed662b7c Allow jit loading interactively
* yasnippet.el (yas-reload-all, yas-load-directory): let a prefix
  argument indicate jit loading.
2014-07-19 10:47:48 -04:00
Noam Postavsky
e53ec1e0c3 Make snippets submodule track master, update it
This should let us update the submodule just by running
    git submodule update --remote
rather than having to cd into it, and then pull.
2014-06-17 19:40:55 -04:00
Noam Postavsky
f98c527a38 Replace text -> yas-text in documentation
* doc/snippet-development.org: replace text -> yas-text
2014-06-17 19:21:22 -04:00
Noam Postavsky
763f5faa14 Closes #474: fix more cc-mode font-lock conflicts
* yasnippet-tests.el (example-for-issue-474): Don't call insert from
  within backquotes, it's redundant and prevents proper testing of
  backquote expansion.

* yasnippet.el (yas--restore-backquotes, yas--save-backquotes): Ensure
  the buffer isn't narrowed while modifying it to avoid conflicting with
  cc-mode fontification.
2014-05-14 19:49:11 -04:00