Just so you know -  I've posted a similar function a few days ago under the
subject "Convert multiple imports into single import statement", it does the
same but it is build upon the existing jde-import management and it is
customizible how many imports that should be in a file before a single
package import is generated .

Regards
 Max

"burtonator" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> (defun jde-import-expand-imports()
>   "Search a java buffer for duplicate explicit imports and replace them
with a
> package import.
>
> Example:
>
> If you have following source:
>
> import org.jdom.Document;
> import org.jdom.Element;
>
> It will be replace with
>
> import org.jdom.*;
> "
>   (interactive)
>
>   (save-excursion
>     (beginning-of-buffer)
>
>     (let((case-fold-search nil)
>          package)
>
>       (while (re-search-forward "^import
\\(\\([a-z0-9_]+\\.?\\)*\\)\\([A-Z][a-z]+\\)*" nil t)
>
>         ;;keep searching forward for this package and replace it.
>
>         (setq package (match-string 1))
>
>         ;;trim the tailing . off the package
>
>         (setq package (substring package 0 (1- (length package))))
>
>         ;;replace the text with a new package import
>
>         (let(start end)
>
>           (setq start (match-beginning 0))
>
>           (end-of-line)
>
>           (setq end (point))
>
>           (delete-region start end))
>
>         (insert (concat "import " package ".*;"))
>
>         (save-excursion
>
>           (while(re-search-forward (concat "^import " package) nil t)
>
>             (let(start end)
>
>               (setq start (match-beginning 0))
>
>               (end-of-line)
>
>               (setq end (1+ (point)))
>
>               (delete-region start end))))))))
>
>
> - --
> Kevin A. Burton ( [EMAIL PROTECTED], [EMAIL PROTECTED],
[EMAIL PROTECTED] )
>         Cell: 408-910-6145 URL: http://relativity.yi.org ICQ: 73488596
>
> Evolution has an IQ only slightly greater than 0 which is enough to beat
> entropy and create wonderful designs given enough time.  -- Ray Kurzweil
>
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.0.4 (GNU/Linux)
> Comment: Get my public key at: http://relativity.yi.org/pgpkey.txt
>
> iD8DBQE7YdtjAwM6xb2dfE0RAvjJAJ0XcmFTLJL/oUMgVg66FRl85aQVuACeJz8X
> IEYyl/QdeXqdki6R1mmLr00=
> =41xA
> -----END PGP SIGNATURE-----
>


Reply via email to