|
Lines 44-50
Link Here
|
| 44 |
} |
44 |
} |
| 45 |
|
45 |
|
| 46 |
protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) { |
46 |
protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) { |
| 47 |
addTemplates(contentAssistRequest, TemplateContextTypeIdsXML.ATTRIBUTE_VALUE); |
47 |
// bug115927 do not include first quote |
|
|
48 |
int startOffset = contentAssistRequest.getReplacementBeginPosition(); |
| 49 |
if (contentAssistRequest.getMatchString().length() > 0 && (contentAssistRequest.getMatchString().charAt(0) == '\'' || contentAssistRequest.getMatchString().charAt(0) == '"')) { |
| 50 |
++startOffset; |
| 51 |
} |
| 52 |
addTemplates(contentAssistRequest, TemplateContextTypeIdsXML.ATTRIBUTE_VALUE, startOffset); |
| 48 |
super.addAttributeValueProposals(contentAssistRequest); |
53 |
super.addAttributeValueProposals(contentAssistRequest); |
| 49 |
} |
54 |
} |
| 50 |
|
55 |
|
|
Lines 65-73
Link Here
|
| 65 |
* @param context |
70 |
* @param context |
| 66 |
*/ |
71 |
*/ |
| 67 |
private void addTemplates(ContentAssistRequest contentAssistRequest, String context) { |
72 |
private void addTemplates(ContentAssistRequest contentAssistRequest, String context) { |
|
|
73 |
addTemplates(contentAssistRequest, context, contentAssistRequest.getReplacementBeginPosition()); |
| 74 |
} |
| 75 |
|
| 76 |
/** |
| 77 |
* Adds templates to the list of proposals |
| 78 |
* |
| 79 |
* @param contentAssistRequest |
| 80 |
* @param context |
| 81 |
* @param startOffset |
| 82 |
*/ |
| 83 |
private void addTemplates(ContentAssistRequest contentAssistRequest, String context, int startOffset) { |
| 68 |
if (contentAssistRequest == null) |
84 |
if (contentAssistRequest == null) |
| 69 |
return; |
85 |
return; |
| 70 |
|
86 |
|
| 71 |
// if already adding template proposals for a certain context type, do |
87 |
// if already adding template proposals for a certain context type, do |
| 72 |
// not add again |
88 |
// not add again |
| 73 |
if (!fTemplateContexts.contains(context)) { |
89 |
if (!fTemplateContexts.contains(context)) { |
|
Lines 76-82
Link Here
|
| 76 |
|
92 |
|
| 77 |
if (getTemplateCompletionProcessor() != null) { |
93 |
if (getTemplateCompletionProcessor() != null) { |
| 78 |
getTemplateCompletionProcessor().setContextType(context); |
94 |
getTemplateCompletionProcessor().setContextType(context); |
| 79 |
ICompletionProposal[] proposals = getTemplateCompletionProcessor().computeCompletionProposals(fTextViewer, contentAssistRequest.getReplacementBeginPosition()); |
95 |
ICompletionProposal[] proposals = getTemplateCompletionProcessor().computeCompletionProposals(fTextViewer, startOffset); |
| 80 |
for (int i = 0; i < proposals.length; ++i) { |
96 |
for (int i = 0; i < proposals.length; ++i) { |
| 81 |
if (useProposalList) |
97 |
if (useProposalList) |
| 82 |
contentAssistRequest.addProposal(proposals[i]); |
98 |
contentAssistRequest.addProposal(proposals[i]); |
|
Lines 89-95
Link Here
|
| 89 |
|
105 |
|
| 90 |
protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode) { |
106 |
protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode) { |
| 91 |
ContentAssistRequest request = super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode); |
107 |
ContentAssistRequest request = super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode); |
| 92 |
addTemplates(request, TemplateContextTypeIdsXML.ALL); |
108 |
// bug115927 use original document position for all/any region templates |
|
|
109 |
addTemplates(request, TemplateContextTypeIdsXML.ALL, documentPosition); |
| 93 |
return request; |
110 |
return request; |
| 94 |
} |
111 |
} |
| 95 |
|
112 |
|