improved link detection
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.linkresolver/src/org/eclipse/mylyn/docs/intent/client/linkresolver/repository/LinkResolverCreator.java b/plugins/org.eclipse.mylyn.docs.intent.client.linkresolver/src/org/eclipse/mylyn/docs/intent/client/linkresolver/repository/LinkResolverCreator.java
index ebc849e..7ca11e3 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.linkresolver/src/org/eclipse/mylyn/docs/intent/client/linkresolver/repository/LinkResolverCreator.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.linkresolver/src/org/eclipse/mylyn/docs/intent/client/linkresolver/repository/LinkResolverCreator.java
@@ -22,7 +22,9 @@
 import org.eclipse.mylyn.docs.intent.collab.handlers.notification.Notificator;
 import org.eclipse.mylyn.docs.intent.collab.repository.Repository;
 import org.eclipse.mylyn.docs.intent.collab.repository.RepositoryConnectionException;
+import org.eclipse.mylyn.docs.intent.core.document.IntentDocumentPackage;
 import org.eclipse.mylyn.docs.intent.core.genericunit.GenericUnitPackage;
+import org.eclipse.mylyn.docs.intent.core.modelingunit.ModelingUnitPackage;
 
 /**
  * Utility class allowing to create {@link LinkResolverClient}s.
@@ -55,14 +57,20 @@
 		Set<EStructuralFeature> listenedTypes = new LinkedHashSet<EStructuralFeature>();
 		listenedTypes.addAll(TypeNotificator.getStructuralFeaturesForEClass(GenericUnitPackage.eINSTANCE
 				.getIntentReference()));
+		listenedTypes.addAll(TypeNotificator.getStructuralFeaturesForEClass(IntentDocumentPackage.eINSTANCE
+				.getIntentSection()));
+		listenedTypes.addAll(TypeNotificator.getStructuralFeaturesForEClass(IntentDocumentPackage.eINSTANCE
+				.getIntentChapter()));
+		listenedTypes.addAll(TypeNotificator.getStructuralFeaturesForEClass(ModelingUnitPackage.eINSTANCE
+				.getModelingUnit()));
 
 		// Step 2: create the adapter and the handler for these types
 		final RepositoryAdapter repositoryAdapter = repository.createRepositoryAdapter();
 
 		RepositoryObjectHandler handler = new ReadWriteRepositoryObjectHandlerImpl(repositoryAdapter);
 
-		Notificator notificator = new TypeNotificator(listenedTypes);
-		handler.addNotificator(notificator);
+		Notificator typeNotificator = new TypeNotificator(listenedTypes);
+		handler.addNotificator(typeNotificator);
 
 		// Step 3: create the link resolver
 		LinkResolverClient linkResolver = new LinkResolverClient();
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.linkresolver/src/org/eclipse/mylyn/docs/intent/client/linkresolver/resolver/LinkResolver.java b/plugins/org.eclipse.mylyn.docs.intent.client.linkresolver/src/org/eclipse/mylyn/docs/intent/client/linkresolver/resolver/LinkResolver.java
index 230ebd4..ab8a153 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.linkresolver/src/org/eclipse/mylyn/docs/intent/client/linkresolver/resolver/LinkResolver.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.linkresolver/src/org/eclipse/mylyn/docs/intent/client/linkresolver/resolver/LinkResolver.java
@@ -66,28 +66,17 @@
 	 *            the {@link IntentReferenceInstruction} to resolve
 	 */
 	private void resolveReference(IntentReferenceInstruction referenceInstruction) {
-		if (referenceInstruction.getReferencedElement() != null) {
-
-			// We should be smarter and only resolve the link when needed
-			String href = referenceInstruction.getIntentHref();
-			if (href != null && href.length() > 0) {
-				try {
-					// TODO resolve other references (currently only sections)
-					IntentStructuredElement elementAtLevel = documentQuery.getAllIdentifiedSections().get(
-							href);
-					// desactivated: attempts to resolve titles
-					// IntentStructuredElement elementAtLevel = documentQuery.getElementAtLevel(href);
-					if (elementAtLevel != null) {
-						referenceInstruction.setReferencedElement(elementAtLevel);
-					} else {
-						// TODO : we should place a new Status on this reference instruction
-						IntentLogger.getInstance().log(LogType.WARNING, "Unresolved " + href);
-					}
-				} catch (NumberFormatException e) {
-					// TODO : we should place a new Status on this reference instruction
-				}
+		// We should be smarter and only resolve the link when needed
+		String href = referenceInstruction.getIntentHref();
+		if (href != null && href.length() > 0) {
+			// TODO resolve other references (currently only sections)
+			IntentStructuredElement element = documentQuery.getAllIdentifiedSections().get(href);
+			if (element != null) {
+				referenceInstruction.setReferencedElement(element);
+			} else {
+				// TODO : we should place a new Status on this reference instruction
+				IntentLogger.getInstance().log(LogType.WARNING, "Unresolved " + href);
 			}
 		}
-
 	}
 }
diff --git a/plugins/org.eclipse.mylyn.docs.intent.client.ui/src/org/eclipse/mylyn/docs/intent/client/ui/editor/IntentHyperlinkDetector.java b/plugins/org.eclipse.mylyn.docs.intent.client.ui/src/org/eclipse/mylyn/docs/intent/client/ui/editor/IntentHyperlinkDetector.java
index 5960f3d..7d4e566 100644
--- a/plugins/org.eclipse.mylyn.docs.intent.client.ui/src/org/eclipse/mylyn/docs/intent/client/ui/editor/IntentHyperlinkDetector.java
+++ b/plugins/org.eclipse.mylyn.docs.intent.client.ui/src/org/eclipse/mylyn/docs/intent/client/ui/editor/IntentHyperlinkDetector.java
@@ -75,14 +75,14 @@
 		if (element instanceof IntentReferenceInstruction) {

 			try {

 				String text = document.get(offset, length);

-				int refStart = text.indexOf("\"");

+				int refStart = text.indexOf("\"") + 1;

 				offset += refStart;

-				length = text.indexOf("\"", refStart);

+				length = text.indexOf("\"", refStart) - refStart;

 			} catch (BadLocationException e) {

 				// fail silently

 			}

 		}

-		// TODO manage other types

+		// TODO manage labels

 		Region hyperlinkRegion = new Region(Math.max(0, offset), Math.max(0, length));

 		return hyperlinkRegion;

 	}