From f1e1cc031178cf85ebf168f6e2cc9dc7ebca8dc8 Mon Sep 17 00:00:00 2001 From: "Matthew O. Smith" Date: Tue, 14 Jan 2014 22:23:32 -0700 Subject: [PATCH] gh-107 Import annotations --- src/main/lisp/malabar-import.el | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/lisp/malabar-import.el b/src/main/lisp/malabar-import.el index 73306eb..fedfcb0 100755 --- a/src/main/lisp/malabar-import.el +++ b/src/main/lisp/malabar-import.el @@ -296,16 +296,20 @@ same name is already imported." (malabar--type-variable-name-p candidate)) (malabar-import-and-unqualify candidate)))) +;; See gh-107 (defun malabar-import-one-class (unqualified) "Qualifies and adds an import statement for a single type name. -If UNQUALIFIED is NIL, prompts in the minibuffer." +If UNQUALIFIED is NIL, prompts in the minibuffer. + +If UNQUALIFIED starts with an @, strip it off." (interactive (list (read-from-minibuffer "Class: " (thing-at-point 'symbol)))) - (if (or (malabar-class-defined-in-buffer-p unqualified) - (malabar-find-imported-class unqualified)) - (message "Class %s does not need to be imported" unqualified) - (let ((class-to-import (malabar-import-find-import unqualified))) - (unless (null class-to-import) - (malabar-import-insert-imports (list class-to-import)))))) + (let ((unqualified (if (string-match "^@.*" unqualified) (substring unqualified 1) unqualified))) + (if (or (malabar-class-defined-in-buffer-p unqualified) + (malabar-find-imported-class unqualified)) + (message "Class %s does not need to be imported" unqualified) + (let ((class-to-import (malabar-import-find-import unqualified))) + (unless (null class-to-import) + (malabar-import-insert-imports (list class-to-import))))))) (defun malabar-import-insert-imports (qualified-classes) (when qualified-classes