in src/java/org/jetbrains/plugins/clojure/debugger/ClojurePositionManager.java [121:149]
private String getNameSpaceName(final PsiElement _element) {
final Ref<String> stringRef = new Ref<String>(null);
ApplicationManager.getApplication().runReadAction(new Runnable() {
public void run() {
PsiElement element = _element;
while (!(element.getParent() instanceof ClojureFile)) {
element = element.getParent();
}
final PsiElement parent = element.getParent();
if (parent instanceof ClojureFile) {
while (element != null) {
if (element instanceof ClList) {
ClList list = (ClList) element;
final ClSymbol first = list.getFirstSymbol();
if (first != null && first.getText().equals("ns")) {
final ClSymbol snd = PsiTreeUtil.getNextSiblingOfType(first, ClSymbol.class);
if (snd != null) {
stringRef.set(snd.getText());
return;
}
}
}
element = element.getPrevSibling();
}
}
}
});
return stringRef.get();
}