- (goto-char last)
- (forward-line)
- (delete-region first (point))))
- (javaimp--prepare-for-insertion first)
- (setq all-imports
- (delete-duplicates all-imports
- :test (lambda (first second)
- (equal (car first) (car second)))))
- ;; assign order
- (let ((with-order
- (mapcar
- (lambda (import)
- (let ((order (or (assoc-default (car import)
- javaimp-import-group-alist
- 'string-match)
- javaimp-import-default-order)))
- (cons import order)))
- all-imports)))
- (setq with-order
- (sort with-order
- (lambda (first second)
- ;; sort by order, name
- (if (= (cdr first) (cdr second))
- (string< (caar first) (caar second))
- (< (cdr first) (cdr second))))))
- (javaimp--insert-imports with-order)))))
+ ;; delete old imports, if any
+ (if first
+ (progn
+ (goto-char last)
+ (forward-line)
+ (delete-region first (point))))
+ (javaimp--prepare-for-insertion first)
+ (setq all-imports
+ (delete-duplicates all-imports
+ :test (lambda (first second)
+ (equal (car first) (car second)))))
+ ;; assign order
+ (let ((with-order
+ (mapcar
+ (lambda (import)
+ (let ((order (or (assoc-default (car import)
+ javaimp-import-group-alist
+ 'string-match)
+ javaimp-import-default-order)))
+ (cons import order)))
+ all-imports)))
+ (setq with-order
+ (sort with-order
+ (lambda (first second)
+ ;; sort by order, name
+ (if (= (cdr first) (cdr second))
+ (string< (caar first) (caar second))
+ (< (cdr first) (cdr second))))))
+ (javaimp--insert-imports with-order)))
+ (message "Nothing to organize!")))))