]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/completions/CompletionRequest.java
New SCL completion implementation
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / completions / CompletionRequest.java
diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/completions/CompletionRequest.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/completions/CompletionRequest.java
new file mode 100644 (file)
index 0000000..84a828f
--- /dev/null
@@ -0,0 +1,43 @@
+package org.simantics.scl.compiler.completions;
+
+import org.simantics.scl.compiler.environment.EnvironmentFactory;
+import org.simantics.scl.compiler.module.repository.ModuleRepository;
+import org.simantics.scl.compiler.source.TextualModuleSource;
+
+public class CompletionRequest {
+    public static final int DEFAULT_MAX_NUMBER_OF_COMPLETIONS = 1000;
+    
+    public ModuleRepository repository;
+
+    public TextualModuleSource moduleSource;
+    
+    /**
+     * Source text of the SCL module.
+     */
+    public String sourceText;
+    
+    /**
+     * Cursor position. Cursor is between characters (position-1) and position.
+     */
+    public int position;
+    
+    /**
+     * Maximum number of completions that will be returned
+     */
+    public int maxNumberOfCompletions;
+    public CompletionRequest() {
+        this.maxNumberOfCompletions = DEFAULT_MAX_NUMBER_OF_COMPLETIONS;
+    }
+    
+    public CompletionRequest(ModuleRepository repository, TextualModuleSource moduleSource, String sourceText, int position, int maxNumberOfCompletions) {
+        this.repository = repository;
+        this.moduleSource = moduleSource;
+        this.sourceText = sourceText;
+        this.position = position;
+        this.maxNumberOfCompletions = maxNumberOfCompletions;
+    }
+    
+    public CompletionRequest(ModuleRepository repository,  TextualModuleSource moduleSource, String sourceText, int position) {
+        this(repository, moduleSource, sourceText, position, DEFAULT_MAX_NUMBER_OF_COMPLETIONS);
+    }
+}