[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 4358c03 65/67: Move swiper-helm to another repo
From: |
Oleh Krehel |
Subject: |
[elpa] master 4358c03 65/67: Move swiper-helm to another repo |
Date: |
Sun, 22 Mar 2015 17:34:13 +0000 |
branch: master
commit 4358c031cbf12fec44d71b9d4eed43bd7ad3dd1c
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>
Move swiper-helm to another repo
---
README.md | 22 +------
swiper-helm.el | 181 --------------------------------------------------------
2 files changed, 4 insertions(+), 199 deletions(-)
diff --git a/README.md b/README.md
index 32f643c..6482463 100644
--- a/README.md
+++ b/README.md
@@ -6,25 +6,11 @@ Package for GNU Emacs that gives you an overview as you
search for a regex

-The package allows for two different back ends for the overview: `helm` and
`ivy`. You can set the
-one you want by customizing `swiper-completion-method`.
+The package uses the `ivy` back end for the overview, see also
+[swiper-helm](https://github.com/abo-abo/swiper-helm).
-## Screenshots of the `ivy` back end
-
-### One
+## Screenshots

-## Screenshots of the `helm` back end
-
-### One
-
-
-
-### Two
-
-
-
-### Three
-
-
+There's also a one minute [video
demo](https://www.youtube.com/watch?v=s3qwiAtKjuA).
diff --git a/swiper-helm.el b/swiper-helm.el
deleted file mode 100644
index 550ca15..0000000
--- a/swiper-helm.el
+++ /dev/null
@@ -1,181 +0,0 @@
-;;; swiper-helm.el --- Helm version of Swiper. -*- lexical-binding: t -*-
-
-;; Copyright (C) 2015 Oleh Krehel
-
-;; Author: Oleh Krehel <address@hidden>
-;; URL: https://github.com/abo-abo/swiper
-;; Version: 0.1.0
-;; Package-Requires: ((emacs "24.1") (swiper "0.1.0") (helm "1.5.3"))
-;; Keywords: matching
-
-;; This file is not part of GNU Emacs
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; For a full copy of the GNU General Public License
-;; see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;
-;; This package gives an overview of the current regex search
-;; candidates. The search regex can be split into groups with a
-;; space. Each group is highlighted with a different face.
-;;
-;; The overview back end is `helm'.
-;;
-;; It can double as a quick `regex-builder', although only single
-;; lines will be matched.
-
-;;; Code:
-
-(require 'swiper)
-(require 'helm)
-
-(defvar swiper-helm-keymap
- (let ((map (make-sparse-keymap)))
- (define-key map (kbd "C-s") 'helm-next-line)
- (define-key map (kbd "C-r") 'helm-previous-line)
- map)
- "Allows you to go to next and previous hit isearch-style.")
-
-(defun swiper-helm (&optional initial-input)
- "`isearch' with an overview using `helm'.
-When non-nil, INITIAL-INPUT is the initial search pattern."
- (interactive)
- (require 'helm)
- (require 'helm-match-plugin)
- (swiper--init)
- (unwind-protect
- (let ((helm-display-function
- (lambda (buf)
- (when (one-window-p)
- (split-window-vertically))
- (other-window 1)
- (switch-to-buffer buf)))
- helm-candidate-number-limit)
- (helm :sources
- `((name . ,(buffer-name))
- (init . (lambda ()
- (add-hook 'helm-move-selection-after-hook
- #'swiper--update-sel)
- (add-hook 'helm-update-hook
- #'swiper--update-input-helm)
- (add-hook 'helm-after-update-hook
- #'swiper--reanchor)))
- (match-strict . (lambda (x)
- (ignore-errors
- (string-match (ivy--regex helm-input)
x))))
- (candidates . ,(swiper--candidates))
- (filtered-candidate-transformer
- helm-fuzzy-highlight-matches)
- (action . swiper--action-helm))
- :keymap (make-composed-keymap
- swiper-helm-keymap
- helm-map)
- :input initial-input
- :preselect
- (format "^%d " swiper--anchor)
- :buffer "*swiper*"))
- ;; cleanup
- (remove-hook 'helm-move-selection-after-hook #'swiper--update-sel)
- (remove-hook 'helm-update-hook #'swiper--update-input-helm)
- (remove-hook 'helm-after-update-hook #'swiper--reanchor)
- (swiper--cleanup)))
-
-(defun swiper--update-input-helm ()
- "Update selection."
- (swiper--cleanup)
- (with-selected-window swiper--window
- (swiper--add-overlays
- (ivy--regex helm-input)
- (window-start swiper--window)
- (window-end swiper--window t)))
- (when (/= (length helm-input) swiper--len)
- (setq swiper--len (length helm-input))
- (swiper--reanchor)))
-
-(defun swiper--binary (beg end)
- "Find anchor between BEG and END."
- (if (<= (- end beg) 10)
- (let ((min 1000)
- n
- ln
- d)
- (goto-char (point-min))
- (forward-line (1- beg))
- (while (< beg end)
- (beginning-of-line)
- (setq n (read (current-buffer)))
- (when (< (setq d (abs (- n swiper--anchor))) min)
- (setq min d)
- (setq ln beg))
- (cl-incf beg)
- (forward-line 1))
- (goto-char (point-min))
- (when ln
- (forward-line (1- ln))))
- (let ((mid (+ beg (/ (- end beg) 2))))
- (goto-char (point-min))
- (forward-line mid)
- (beginning-of-line)
- (let ((n (read (current-buffer))))
- (if (> n swiper--anchor)
- (swiper--binary beg mid)
- (swiper--binary mid end))))))
-
-(defun swiper--update-sel ()
- "Update selection."
- (let* ((re (ivy--regex helm-input))
- (str (buffer-substring-no-properties
- (line-beginning-position)
- (line-end-position)))
- (num (if (string-match "^[0-9]+" str)
- (string-to-number (match-string 0 str))
- 0))
- pt)
- (when (> (length re) 0)
- (with-selected-window swiper--window
- (goto-char (point-min))
- (forward-line (1- num))
- (when (re-search-forward re (point-max) t)
- (setq pt (match-beginning 0))))
- (when pt
- (with-selected-window
- (helm-persistent-action-display-window)
- (goto-char pt)
- (recenter)
- (swiper--update-input-helm))))
- (with-selected-window swiper--window
- (let ((ov (make-overlay
- (line-beginning-position)
- (1+ (line-end-position)))))
- (overlay-put ov 'face 'swiper-line-face)
- (push ov swiper--overlays)))))
-
-(defun swiper--reanchor ()
- "Move to a valid match closest to `swiper--anchor'."
- (with-selected-window (helm-window)
- (goto-char (point-min))
- (if (re-search-forward (format "^%d " swiper--anchor) nil t)
- nil
- (forward-line 1)
- (swiper--binary 2 (1+ (count-lines (point) (point-max)))))
- (when (> (count-lines (point-min) (point-max)) 1)
- (forward-line -1)
- (helm-next-line 1))))
-
-(defun swiper--action-helm (x)
- "Goto line X."
- (swiper--action x helm-input))
-
-(provide 'swiper-helm)
-
-;;; swiper-helm.el ends here
- [elpa] master d2b2813 55/67: swiper-helm.el: Copy all helm stuff here, (continued)
- [elpa] master d2b2813 55/67: swiper-helm.el: Copy all helm stuff here, Oleh Krehel, 2015/03/22
- [elpa] master c4acef9 56/67: swiper.el: Remove the helm bits, Oleh Krehel, 2015/03/22
- [elpa] master 0c85d9a 58/67: Add a custom `ivy-count-format', Oleh Krehel, 2015/03/22
- [elpa] master c2e58e9 59/67: Fix invalid package header line, Oleh Krehel, 2015/03/22
- [elpa] master a275a2a 60/67: Use `font-lock-append-text-property' to non-destructively modify a, Oleh Krehel, 2015/03/22
- [elpa] master 7876619 61/67: Update "C-n" and "C-p" bindings, Oleh Krehel, 2015/03/22
- [elpa] master f20b287 62/67: swiper.el (swiper--init): Set `swiper--opoint', Oleh Krehel, 2015/03/22
- [elpa] master bb6c40c 63/67: swiper.el (swiper-min-highlight): New defcustom, Oleh Krehel, 2015/03/22
- [elpa] master cf71b09 64/67: ivy.el (ivy-wrap): New defcustom, Oleh Krehel, 2015/03/22
- [elpa] master 55414c3 66/67: Update Copyright, Oleh Krehel, 2015/03/22
- [elpa] master 4358c03 65/67: Move swiper-helm to another repo,
Oleh Krehel <=
- [elpa] master 302a16a 67/67: Add 'packages/swiper/' from commit '55414c321ca07bd86f0f1efaf8f6130617e6fad6', Oleh Krehel, 2015/03/22