public override ParameterDataProvider HandleParameterCompletion(CodeCompletionContext completionContext, char completionChar)
        {
            if (completionChar != ',' &&
                completionChar != '(' &&
                completionChar != '!')
            {
                return null;
            }

            // Require a parsed D source
            var dom = base.Document.ParsedDocument as ParsedDModule;

            if (dom == null)
                return null;

            lastTriggerOffset=completionContext.TriggerOffset;
            return dParamProv = DParameterDataProvider.Create(Document, dom.DDom, completionContext);
        }
		public override ParameterDataProvider HandleParameterCompletion(CodeCompletionContext completionContext, char completionChar)
		{
			switch (completionChar)
			{
				case ',':
				case '(':
				case '!':
				case '[':
					break;
				default:
					return null;
			}
						
			// Require a parsed D source
			var ast = Document.GetDAst();

			if (ast == null)
				return null;

			lastTriggerOffset=completionContext.TriggerOffset;
			return dParamProv = DParameterDataProvider.Create(Document, ast, completionContext);
		}