Fixed: [ Issue 84 ] Custom options are being considered syntax errors. https://code.google.com/p/protobuf-dt/issues/detail?id=84
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/contentassist/ProtobufProposalProvider.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/contentassist/ProtobufProposalProvider.java index fb0a0dc..60a82bc 100644 --- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/contentassist/ProtobufProposalProvider.java +++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/contentassist/ProtobufProposalProvider.java
@@ -70,7 +70,7 @@ proposeAndAccept(proposal, imageHelper.getImage(images.imageFor(Syntax.class)), context, acceptor); } - @Override public void completeOption_Name(EObject model, Assignment assignment, ContentAssistContext context, + @Override public void completeBuiltInOption_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { if (proposeOptions(model, context, acceptor)) return; if (model instanceof Option) { @@ -113,9 +113,10 @@ proposeOption(option, context, acceptor); } - @Override public void completeOption_Value(EObject model, Assignment assignment, ContentAssistContext context, + @Override public void completeBuiltInOption_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { - Option option = (Option) model; + if (!(model instanceof BuiltInOption)) return; + BuiltInOption option = (BuiltInOption) model; ProtoDescriptor descriptor = descriptorProvider.get(); Enum enumType = descriptor.enumTypeOf(option); if (enumType != null) { @@ -307,8 +308,8 @@ return imageHelper.getImage(images.defaultImage()); } - @Override public void completeFieldOption_Name(EObject model, Assignment assignment, ContentAssistContext context, - ICompletionProposalAcceptor acceptor) { + @Override public void completeBuiltInFieldOption_Name(EObject model, Assignment assignment, + ContentAssistContext context, ICompletionProposalAcceptor acceptor) { Field field = extractFieldFrom(context); proposeCommonFieldOptions(field, context, acceptor); } @@ -374,10 +375,10 @@ acceptor.accept(proposal); } - @Override public void completeFieldOption_Value(EObject model, Assignment assignment, ContentAssistContext context, - ICompletionProposalAcceptor acceptor) { - if (!(model instanceof FieldOption)) return; - FieldOption option = (FieldOption) model; + @Override public void completeBuiltInFieldOption_Value(EObject model, Assignment assignment, + ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + if (!(model instanceof BuiltInFieldOption)) return; + BuiltInFieldOption option = (BuiltInFieldOption) model; if (fieldOptions.isDefaultValueOption(option)) { proposeDefaultValue(option, context, acceptor); return;