--- /dev/null
+package org.simantics.scl.compiler.completions;
+
+public class Completion {
+ public final int startOfReplacedText;
+ public final int lengthOfReplacedText;
+ public final String replacement;
+ public final int cursorPositionAfterReplacement;
+
+ public final CompletionType completionType;
+ public final String module;
+ public final String name;
+ public final String type; // may be null
+ public final String documentation; // may be null
+
+ public Completion(int startOfReplacedText, int lengthOfReplacedText, String replacement,
+ int cursorPositionAfterReplacement, CompletionType completionType, String definingModule, String name,
+ String type, String documentation) {
+ this.startOfReplacedText = startOfReplacedText;
+ this.lengthOfReplacedText = lengthOfReplacedText;
+ this.replacement = replacement;
+ this.cursorPositionAfterReplacement = cursorPositionAfterReplacement;
+ this.completionType = completionType;
+ this.module = definingModule;
+ this.name = name;
+ this.type = type;
+ this.documentation = "".equals(documentation) ? null : documentation;
+ }
+
+ public String getLabel() {
+ return name + (type != null ? " :: " + type : "") + (module != null ? " (" + module + ")" : "") ;
+ }
+}