[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 36c8dc0 10/46: tiny.el: added missing functions.
From: |
Oleh Krehel |
Subject: |
[elpa] master 36c8dc0 10/46: tiny.el: added missing functions. |
Date: |
Sun, 22 Mar 2015 17:42:27 +0000 |
branch: master
commit 36c8dc02802a907baa2f3139ae261421ae9ae84a
Author: oleh <address@hidden>
Commit: oleh <address@hidden>
tiny.el: added missing functions.
---
tiny.el | 40 +++++++++++++++++++++++++++++-----------
1 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/tiny.el b/tiny.el
index bad31dd..579efa7 100644
--- a/tiny.el
+++ b/tiny.el
@@ -28,7 +28,7 @@
;;
;; Usage:
;; This extension's main command is `tiny-expand'.
-;; It's meant to generate quickly linear ranges, e.g. 5, 6, 7, 8.
+;; It's meant to quickly generate linear ranges, e.g. 5, 6, 7, 8.
;; Some elisp proficiency is an advantage, since you can transform
;; your numeric range with an elisp expression.
;;
@@ -72,10 +72,25 @@
;; & means that elisp expr has ended and format expr has begun.
;; It can be used as part of the format expr if there's only one.
;; The keys are the same as for format: I just translate & to %.
+;;
+;; Note that multiple & can be used in the format expression.
+;; In that case:
+;; * if the lisp expresion returns a list, the members of this list
+;; are used in the appropriate place.
+;; * otherwise, it's just the result of the expression repeated as
+;; many times as necessary.
-(require 'cl)
+(eval-when-compile
+ (require 'cl))
+(require 'cl-lib)
(require 'help-fns)
+(defvar tiny-beg nil
+ "Last matched snipped start position.")
+
+(defvar tiny-end nil
+ "Last matched snipped end position.")
+
(defun tiny-expand ()
"Expand current snippet.
It's intended to poll all registered expander functions
@@ -92,12 +107,6 @@ At the moment, only `tiny-mapconcat' is supported.
(insert str)
(tiny-replace-this-sexp))))
-(defvar tiny-beg nil
- "Last matched snipped start position.")
-
-(defvar tiny-end nil
- "Last matched snipped end position.")
-
(defun tiny-setup-default ()
(global-set-key (kbd "C-;") 'tiny-expand))
@@ -125,10 +134,8 @@ Replace it if there's no error.
Go upwards until it's possible to eval.
Skip lambdas."
(interactive)
- (when (yas/snippets-at-point)
- (yas/exit-all-snippets))
(condition-case nil
- (up-list*)
+ (tiny-up-list)
(error "can't go up this list"))
(let ((sexp (preceding-sexp)))
(cond
@@ -141,6 +148,17 @@ Skip lambdas."
(insert (format "%s" value)))
(error (tiny-replace-sexp-desperately)))))))
+(defun tiny-beginning-of-string ()
+ (interactive)
+ (let ((p (nth 8 (syntax-ppss))))
+ (when (eq (char-after p) ?\")
+ (goto-char p))))
+
+(defun tiny-up-list ()
+ (interactive)
+ (tiny-beginning-of-string)
+ (up-list))
+
(defun tiny-mapconcat ()
"Take the output of `tiny-mapconcat-parse' and replace
the null values with defaults and return the formatted
- [elpa] master ae0853e 03/46: tiny.el: fixed two snippets., (continued)
- [elpa] master ae0853e 03/46: tiny.el: fixed two snippets., Oleh Krehel, 2015/03/22
- [elpa] master 1273eae 04/46: tiny.el: added to the comments., Oleh Krehel, 2015/03/22
- [elpa] master 086708f 01/46: Initial import., Oleh Krehel, 2015/03/22
- [elpa] master 1baa50b 05/46: tiny.el: fixed some typos., Oleh Krehel, 2015/03/22
- [elpa] master 466e02c 06/46: tiny.el: added a use case for multiple TODO items in org-mode., Oleh Krehel, 2015/03/22
- [elpa] master cc8d243 02/46: tiny.el: Added new test snippets., Oleh Krehel, 2015/03/22
- [elpa] master 7cc4e00 07/46: tiny.el: x can be reused in format string., Oleh Krehel, 2015/03/22
- [elpa] master d053709 08/46: tiny.el: expr now can return a list., Oleh Krehel, 2015/03/22
- [elpa] master 03aef85 09/46: tiny.el: fixed a bug introduced by previous commit., Oleh Krehel, 2015/03/22
- [elpa] master 835c63e 12/46: tiny.el: fixed a small whitespace issue in `tiny-tokenize'., Oleh Krehel, 2015/03/22
- [elpa] master 36c8dc0 10/46: tiny.el: added missing functions.,
Oleh Krehel <=
- [elpa] master 067e820 11/46: tiny.el: improved `tiny-mapconcat` and `tiny-mapconcat-parse'., Oleh Krehel, 2015/03/22
- [elpa] master cad8e50 13/46: tiny.el: added the option to include %(sexps) into the format string., Oleh Krehel, 2015/03/22
- [elpa] master 78241c4 15/46: tiny.el: fixed a bug for expansion of m5%x., Oleh Krehel, 2015/03/22
- [elpa] master 29b5b76 16/46: Added README.md, Oleh Krehel, 2015/03/22
- [elpa] master b9c35e1 17/46: README.md: minor update., Oleh Krehel, 2015/03/22
- [elpa] master 97b9fdf 14/46: tiny.el: fixed up the previous change., Oleh Krehel, 2015/03/22
- [elpa] master 80e64b8 18/46: README.md: minor update., Oleh Krehel, 2015/03/22
- [elpa] master 2bd9abb 21/46: tiny.el: moved tests to tiny-test.el., Oleh Krehel, 2015/03/22
- [elpa] master b99315d 20/46: tiny.el: updated the doc., Oleh Krehel, 2015/03/22
- [elpa] master 11722a1 19/46: tiny.el: fixed typos., Oleh Krehel, 2015/03/22