[137503] users/chunyang/helm-ls-svn.el/helm-ls-svn.el
chunyang at macports.org
chunyang at macports.org
Sat Jun 13 01:41:11 PDT 2015
Revision: 137503
https://trac.macports.org/changeset/137503
Author: chunyang at macports.org
Date: 2015-06-13 01:41:10 -0700 (Sat, 13 Jun 2015)
Log Message:
-----------
users/chunyang: helm-ls-svn.el: Create helm-ls-svn-status-source class
Modified Paths:
--------------
users/chunyang/helm-ls-svn.el/helm-ls-svn.el
Modified: users/chunyang/helm-ls-svn.el/helm-ls-svn.el
===================================================================
--- users/chunyang/helm-ls-svn.el/helm-ls-svn.el 2015-06-13 06:38:22 UTC (rev 137502)
+++ users/chunyang/helm-ls-svn.el/helm-ls-svn.el 2015-06-13 08:41:10 UTC (rev 137503)
@@ -32,7 +32,7 @@
;; TODO
;; ====
;;
-;; - Create svn status source
+;; - Improve svn status source.
;;; Code:
@@ -40,6 +40,7 @@
(require 'helm-files)
;; Define the sources.
+(defvar helm-source-ls-svn-status nil)
(defvar helm-source-ls-svn nil)
(defvar helm-source-ls-svn-buffers nil)
@@ -77,6 +78,15 @@
root)
nil t ))))
+(defun helm-ls-svn-status ()
+ (helm-aif (helm-ls-svn-root-dir)
+ (with-helm-default-directory it
+ (with-output-to-string
+ (with-current-buffer standard-output
+ (apply #'process-file
+ "svn" nil t nil
+ (list "status")))))))
+
(defclass helm-ls-svn-source (helm-source-in-buffer)
((header-name :initform 'helm-ls-svn-header-name)
(init :initform 'helm-ls-svn-init)
@@ -85,6 +95,14 @@
(candidate-number-limit :initform 9999)
(action :initform (helm-actions-from-type-file))))
+(defclass helm-ls-svn-status-source (helm-source-in-buffer)
+ ((header-name :initform 'helm-ls-svn-header-name)
+ (init :initform
+ (lambda ()
+ (helm-init-candidates-in-buffer 'global
+ (helm-ls-svn-status))))
+ (keymap :initform helm-ls-svn-map)))
+
;;;###autoload
(defun helm-ls-svn-ls ()
(interactive)
@@ -98,8 +116,12 @@
(helm-ls-svn-root-dir))))))
(unless helm-source-ls-svn
(setq helm-source-ls-svn
- (helm-make-source "SVN files" 'helm-ls-svn-source)))
- (helm :sources '(helm-source-ls-svn-buffers
+ (helm-make-source "svn files" 'helm-ls-svn-source)))
+ (unless helm-source-ls-svn-status
+ (setq helm-source-ls-svn-status
+ (helm-make-source "svn status" 'helm-ls-svn-status-source)))
+ (helm :sources '(helm-source-ls-svn-status
+ helm-source-ls-svn-buffers
helm-source-ls-svn)
:buffer "*helm ls svn*"))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150613/99a24382/attachment.html>
More information about the macports-changes
mailing list