Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 115927 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/wst/xml/ui/internal/contentassist/XMLContentAssistProcessor.java (-4 / +21 lines)
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
	

Return to bug 115927