Martin Schwamberger writes:
 > George Flaherty wrote:
 >  > Is there a way I can eliminate any import which might include "*". I
 > 
 > Hi George,
 > 
 > this is not possible with the existing set of functions.
 > I've written a function which does this job.
 > It calls jde-import-all after removing all package-imports.
 > Note that this function works with the CVS version of jde-import.el.
 > In order to use it with a prior version, replace the last line by
 >           (jde-import-all))))

I have included Martin's command in the JDEE. Thank you, Martin.

Paul

 > 
 > (defun jde-import-expand-imports (&optional no-exclude)
 >    "Delete all package imports and replace them by their respective 
 > class imports.
 > The replacement is done by `jde-import-all'. 
 > `jde-import-auto-collapse-imports'
 > is temporarily disabled during the execution of `jde-import-all'.
 > The optional prefix argumet NO-EXCLUDE is used by `jde-import-all'.
 > This function is roughly the opposite of `jde-import-collapse-imports'."
 >    (interactive "P")
 >    (let* ((tags  (semantic-fetch-tags))
 >           (imports (semantic-brute-find-tag-by-class 'include tags))
 >           import-all
 >           package-import-start
 >           package-import-end
 >           jde-import-auto-collapse-imports) ; disable auto collapse
 >      (dolist (import imports)
 >        (when package-import-start
 >          ;; kill from start of package-import to beginning of following 
 > import
 >          (kill-region package-import-start (semantic-tag-start import))
 >          (setq import-all t)
 >          (setq package-import-start nil))
 >        (when (string-match "\\.\\*" (semantic-tag-name import)) ; 
 > package-import?
 >          (setq package-import-start (semantic-tag-start import))
 >          (setq package-import-end (semantic-tag-end import))))
 >      ;; kill last import?
 >      (when package-import-start
 >        ;; kill from start of package-import to end of line
 >        (kill-region package-import-start
 >                     (save-excursion
 >                       (goto-char package-import-end)
 >                       (end-of-line)
 >                       (or (eobp) (forward-char))
 >                       (point)))
 >        (setq import-all t))
 >      (if import-all
 >          (jde-import-all no-exclude))))
 > 
 > 
 > Regards,
 > 
 > Martin
 > 
 > George Flaherty wrote:
 > > Is there a way I can eliminate any import which might include "*". I
 > > would like to be able to do the following
 > > 
 > > import foo.foobar.*;
 > > 
 > > and convert it into
 > > 
 > > import foo.foobar.ClassOne;
 > > import foo.foobar.ClassTwo;
 > > 
 > > I have tried with jde-import-all-unique and
 > > jde-import-kill-extra-imports, but what happens is I will will end up
 > > with the following:
 > > 
 > > import foo.foobar.*;
 > > import foo.foobar.ClassOne;
 > > import foo.foobar.ClassTwo;
 > > 
 > > thanks.
 > > -george
 > > 
 > 

Reply via email to