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

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

[elpa] 01/01: javaimp: converted to lexical binding, doc fixes, minor co


From: Filipp Gunbin
Subject: [elpa] 01/01: javaimp: converted to lexical binding, doc fixes, minor code fixes
Date: Wed, 27 Aug 2014 17:14:43 +0000

fgunbin pushed a commit to branch master
in repository elpa.

commit 413d7a624c14a36d95f9a5b70137538043d5d70b
Author: Filipp Gunbin <address@hidden>
Date:   Wed Aug 27 20:35:50 2014 +0400

    javaimp: converted to lexical binding, doc fixes, minor code fixes
---
 packages/javaimp/javaimp.el |   75 +++++++++++++++++++++++-------------------
 1 files changed, 41 insertions(+), 34 deletions(-)

diff --git a/packages/javaimp/javaimp.el b/packages/javaimp/javaimp.el
index b6fb182..62840a3 100644
--- a/packages/javaimp/javaimp.el
+++ b/packages/javaimp/javaimp.el
@@ -1,3 +1,5 @@
+;; -*- lexical-binding: t; -*-
+
 ;;; javaimp.el --- Add and reorder Java import statements in Maven projects
 
 ;; Copyright (C) 2014  Free Software Foundation, Inc.
@@ -98,16 +100,16 @@ class name.  The order of classes which were not matched 
is defined by
 
 (defcustom javaimp-import-default-order 50
   "Defines the order of classes which were not matched by
-`javaimp-import-group-alist'.")
+`javaimp-import-group-alist'")
 
 (defcustom javaimp-jdk-home nil
-  "Path to the JDK.")
+  "Path to the JDK")
 
 (defcustom javaimp-mvn-program "mvn"
-  "Path to the `mvn' program.")
+  "Path to the `mvn' program")
 
 (defcustom javaimp-cygpath-program "cygpath"
-  "Path to the `cygpath' program.")
+  "Path to the `cygpath' program")
 
 (defcustom javaimp-jar-program "jar"
   "Path to the `jar' program")
@@ -120,10 +122,10 @@ class name.  The order of classes which were not matched 
is defined by
 ;;; Variables and constants
 
 (defvar javaimp-maven-root-modules nil
-  "Loaded root Maven modules.")
+  "Loaded root Maven modules")
 
 (defvar javaimp-jar-classes-cache nil
-  "Jar classes cache.")
+  "Jar classes cache")
 
 (defconst javaimp-debug-buf-name "*javaimp-debug*")
 
@@ -195,12 +197,12 @@ class name.  The order of classes which were not matched 
is defined by
 
 ;;;###autoload
 (defun javaimp-maven-visit-root (path)
-  (interactive "DVisit maven root project: ")
   "Loads all modules starting from root module identified by
 PATH.  PATH should point to a directory."
+  (interactive "DVisit maven root project: ")
   (let ((root-pom (expand-file-name
                   (concat (file-name-as-directory path) "pom.xml")))
-       modules root-module)
+       modules existing-module)
     (unless (file-readable-p root-pom)
       (error "Cannot read root pom: %s" root-pom))
     (setq modules (javaimp-maven-load-module-tree root-pom))
@@ -219,7 +221,7 @@ with POM"
   (javaimp-call-mvn
    pom "help:effective-pom"
    (lambda ()
-     (let (xml-tree xml-start-pos xml-end-pos project-extractor)
+     (let (xml-start-pos xml-end-pos project-extractor)
        (goto-char (point-min))
        (search-forward "<?xml")
        (setq xml-start-pos (match-beginning 0))
@@ -245,14 +247,14 @@ with POM"
       (let* ((artifact-id (car (cddr (assq 'artifactId (cddr proj)))))
             (pom-file-path (cdr (assoc artifact-id artifact-pomfile-alist)))
             (source-dir (car (cddr (assq 'sourceDirectory 
-                                          (cddr (assq 'build (cddr proj)))))))
+                                         (cddr (assq 'build (cddr proj)))))))
             (test-source-dir (car (cddr (assq 'testSourceDirectory 
-                                               (cddr (assq 'build (cddr 
proj))))))))
+                                              (cddr (assq 'build (cddr 
proj))))))))
        (push (javaimp-make-mod 
               artifact-id pom-file-path
               (file-name-as-directory
                (if (eq system-type 'cygwin) 
-                   (car (process-lines javaimp-cygpath-program "-u" 
+                   (car (process-lines javaimp-cygpath-program "-u"
                                        source-dir))
                  source-dir))
               (file-name-as-directory
@@ -305,7 +307,7 @@ be in platform's default format."
 
 (defun javaimp-call-mvn (pom-file target handler)
   "Runs Maven target TARGET on POM-FILE, then calls HANDLER in
-the temporary buffer and returns its result."
+the temporary buffer and returns its result"
   (message "Calling \"mvn %s\" on pom: %s" target pom-file)
   (with-temp-buffer
     (let* ((pom-file (if (eq system-type 'cygwin) 
@@ -330,7 +332,7 @@ the temporary buffer and returns its result."
 ;;; Reading and caching dependencies
 
 (defun javaimp-maven-fetch-module-deps (module)
-  "Returns list of dependency jars for MODULE."
+  "Returns list of dependency jars for MODULE"
   (javaimp-call-mvn
    (javaimp-get-mod-pom-file module) "dependency:build-classpath"
    (lambda ()
@@ -346,7 +348,7 @@ the temporary buffer and returns its result."
        (split-string deps-line (concat "[" path-separator "\n" "]+") t)))))
 
 (defun javaimp-get-dep-jars-cached (module)
-  "Returns a list of dependency jar file paths for a MODULE."
+  "Returns a list of dependency jar file paths for a MODULE"
   (let ((current-pom-file-mod-ts
         (nth 5 (file-attributes (javaimp-get-mod-pom-file module)))))
     (unless (and (javaimp-get-mod-pom-mod-ts module)
@@ -359,7 +361,7 @@ the temporary buffer and returns its result."
 
 (defun javaimp-get-jdk-jars ()
   "Returns list of jars from the jre/lib subdirectory of the JDK
-directory."
+directory"
   (when javaimp-jdk-home
     (directory-files (concat (file-name-as-directory javaimp-jdk-home)
                             (file-name-as-directory "jre/lib"))
@@ -402,7 +404,7 @@ directory."
       (setq result (append (javaimp-get-jar-classes-cached jar) result)))))
 
 (defun javaimp-determine-module (file)
-  "Returns a module in which the source file FILE resides."
+  "Returns a module in which the source file FILE resides"
   (let ((root-modules javaimp-maven-root-modules)
        result)
     (while (and root-modules (not result))
@@ -412,7 +414,7 @@ directory."
 
 (defun javaimp-determine-module-from-root (file root-module)
   "Searches a hierarchy of modules starting at ROOT-MODULE for
-source file FILE."
+source file FILE"
   (let ((modules (cdr root-module))
        result)
     (while (and modules (not result))
@@ -478,18 +480,19 @@ initial package prefix."
        (push (concat prefix (file-name-sans-extension (car file))) result)))
     result))
 
-(defun javaimp-add-to-import-group (class group-sym)
-  "Subroutine of `javaimp-organize-imports'."
-  (let* ((order (or (assoc-default class javaimp-import-group-alist
+(defun javaimp-add-to-import-groups (new-class groups)
+  "Subroutine of `javaimp-organize-imports'"
+  (let* ((order (or (assoc-default new-class javaimp-import-group-alist
                                   'string-match)
                    javaimp-import-default-order))
-        (group (assoc order (symbol-value group-sym))))
+        (group (assoc order groups)))
     (if group
-       ;; check if this class is already added
-       (unless (member class (cdr group))
-         (setcdr group (cons class (cdr group))))
-      (set group-sym (cons (cons order (list class))
-                          (symbol-value group-sym))))))
+       (progn
+         ;; add only if this class is not already there
+         (unless (member new-class (cdr group))
+           (setcdr group (cons new-class (cdr group))))
+         groups)
+      (cons (cons order (list new-class)) groups))))
 
 (defun javaimp-insert-import-groups (groups static-p)
   "Inserts all imports in GROUPS.  Non-nil STATIC-P means that
@@ -519,10 +522,13 @@ argument is a list of additional classes to import."
       (while (re-search-forward
              "^\\s-*import\\s-+\\(static\\s-+\\)?\\([._[:word:]]+\\)"
              nil t)
-       (javaimp-add-to-import-group (match-string 2)
-                                    (if (null (match-string 1))
-                                        'import-groups
-                                      'static-import-groups))
+       (if (null (match-string 1))
+           (setq import-groups
+                 (javaimp-add-to-import-groups (match-string 2)
+                                               import-groups))
+         (setq static-import-groups
+               (javaimp-add-to-import-groups (match-string 2)
+                                             static-import-groups)))
        (beginning-of-line)
        (unless old-imports-start (setq old-imports-start (point)))
        (kill-line)
@@ -531,7 +537,7 @@ argument is a list of additional classes to import."
          (delete-region old-imports-start (point))))
       ;; new imports
       (dolist (class new-classes)
-       (javaimp-add-to-import-group class 'import-groups))
+       (setq import-groups (javaimp-add-to-import-groups class import-groups)))
       ;; insert all
       (if (or import-groups static-import-groups)
          (progn
@@ -556,18 +562,19 @@ argument is a list of additional classes to import."
 
 ;;;###autoload
 (defun javaimp-invalidate-jar-classes-cache ()
+  "Resets jar classes cache (debugging only)"
   (interactive)
-  "(for debug) Resets jar classes cache"
   (setq javaimp-jar-classes-cache nil))
 
 ;;;###autoload
 (defun javaimp-forget-all-visited-modules ()
+  "Resets `javaimp-maven-root-modules' (debugging only)"
   (interactive)
-  "(for debug) Resets `javaimp-maven-root-modules'"
   (setq javaimp-maven-root-modules nil))
 
 ;;;###autoload
 (defun javaimp-reset ()
+  "Resets all data (debugging only)"
   (interactive)
   (javaimp-forget-all-visited-modules)
   (javaimp-invalidate-jar-classes-cache))



reply via email to

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