MarkupBuilder ILabeled.GetLabel(DeltinScript deltinScript, LabelInfo labelInfo) { var builder = new MarkupBuilder(); builder.StartCodeLine().Add("new " + Name + "("); for (int i = 0; i < ParameterProviders.Length; i++) { if (i != 0) { builder.Add(", "); } // Add the parameter type. if (labelInfo.IncludeParameterTypes) { builder.Add(ParameterProviders[i].Type.GetName()); // Add a space if the name is also included. if (labelInfo.IncludeParameterNames) { builder.Add(" "); } } // Add the parameter name. if (labelInfo.IncludeParameterNames) { builder.Add(ParameterProviders[i].Name); } } return(builder.Add(")").EndCodeLine()); }
public override void Call(ScriptFile script, DocRange callRange) { MarkupBuilder hoverContents = new MarkupBuilder(); if (Constant() == TypeSettable.Convertable) { hoverContents .StartCodeLine() .Add("enum " + Name) .EndCodeLine(); } else if (Constant() == TypeSettable.Constant) { hoverContents .StartCodeLine() .Add("constant " + Name) .EndCodeLine() .NewSection() .Add("Constant workshop types cannot be stored. Variables with this type cannot be changed from their initial value."); } script.AddHover(callRange, hoverContents.ToString()); }