# HG changeset patch # User Oleksandr Gavenko # Date 1490432374 -10800 # Node ID 0da077ba84ab2a1d3250b09dc2dce9cd8bb1510a # Parent 59816a0cca92d3f6883678fd5596cde8b78ac05a Parser for ivy dependencies. diff -r 59816a0cca92 -r 0da077ba84ab maven-central.el --- a/maven-central.el Sat Mar 25 11:18:21 2017 +0300 +++ b/maven-central.el Sat Mar 25 11:59:34 2017 +0300 @@ -73,6 +73,48 @@ (maven-central.versions groupId artifactId)) )) +(defun ivy.parse-dependency () + (let ( end groupId artifactId ) + (save-excursion + (if (looking-at "[^>]*") + (setq end (point)) + (search-backward "<") + (save-restriction + (narrow-to-region (point) end) + (goto-char (point-min)) + (when (re-search-forward "\\s-org\\s-*=\\s-*['\"]\\([^'\"]+\\)['\"]" nil t) + (setq groupId (match-string 1))) + (goto-char (point-min)) + (when (re-search-forward "\\s-name\\s-*=\\s-*['\"]\\([^'\"]+\\)['\"]" nil t) + (setq artifactId (match-string 1))) + ))) + (list groupId artifactId))) + +;;;###autoload +(defun maven-central.last-version-from-ivy () + (interactive) + (let (dependency groupId artifactId) + (setq dependency (ivy.parse-dependency)) + (setq groupId (elt dependency 0)) + (setq artifactId (elt dependency 1)) + (when (and groupId artifactId) + (maven-central.last-version groupId artifactId)) + )) + +;;;###autoload +(defun maven-central.versions-from-ivy () + (interactive) + (let (dependency groupId artifactId) + (setq dependency (ivy.parse-dependency)) + (setq groupId (elt dependency 0)) + (setq artifactId (elt dependency 1)) + (when (and groupId artifactId) + (maven-central.versions groupId artifactId)) + )) + ;; (maven-central.last-version "junit" "junit") (provide 'maven-central)