emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master b7d0a23: * el-search/el-search-x.el: New pattern type `str


From: Michael Heerdegen
Subject: [elpa] master b7d0a23: * el-search/el-search-x.el: New pattern type `string-lines'
Date: Sat, 24 Mar 2018 15:54:37 -0400 (EDT)

branch: master
commit b7d0a231fba005c049a9b7fc16eafcd28661bc30
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>

    * el-search/el-search-x.el: New pattern type `string-lines'
---
 packages/el-search/el-search-x.el | 14 ++++++++++++++
 packages/el-search/el-search.el   |  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/packages/el-search/el-search-x.el 
b/packages/el-search/el-search-x.el
index a66070a..35004cf 100644
--- a/packages/el-search/el-search-x.el
+++ b/packages/el-search/el-search-x.el
@@ -40,6 +40,20 @@
 (require 'el-search)
 
 
+(el-search-defpattern string-lines (pattern)
+  "Matches any string whose line count is matched by PATTERN.
+
+Examples: (string-lines 1) matches one-line strings.
+\(string-lines (pred (>= 5))\) matches strings consisting of not
+more than 5 lines."
+  (let ((string (make-symbol "string")))
+    `(and (string)
+          ,string
+          (let ,pattern
+            (with-temp-buffer
+              (insert ,string)
+              (count-lines (point-min) (point-max)))))))
+
 ;;;; `append and `l'
 
 (defun el-search--split (matcher1 matcher2 list)
diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 5a0efa5..56ccf23 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -7,7 +7,7 @@
 ;; Created: 29 Jul 2015
 ;; Keywords: lisp
 ;; Compatibility: GNU Emacs 25
-;; Version: 1.6.2
+;; Version: 1.6.3
 ;; Package-Requires: ((emacs "25") (stream "2.2.4") (cl-print "1.0"))
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]