]> gerrit.simantics Code Review - simantics/platform.git/blob - 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
1 package org.simantics.scl.compiler.completions;
2
3 import org.simantics.scl.compiler.environment.EnvironmentFactory;
4 import org.simantics.scl.compiler.module.repository.ModuleRepository;
5 import org.simantics.scl.compiler.source.TextualModuleSource;
6
7 public class CompletionRequest {
8     public static final int DEFAULT_MAX_NUMBER_OF_COMPLETIONS = 1000;
9     
10     public ModuleRepository repository;
11
12     public TextualModuleSource moduleSource;
13     
14     /**
15      * Source text of the SCL module.
16      */
17     public String sourceText;
18     
19     /**
20      * Cursor position. Cursor is between characters (position-1) and position.
21      */
22     public int position;
23     
24     /**
25      * Maximum number of completions that will be returned
26      */
27     public int maxNumberOfCompletions;
28     public CompletionRequest() {
29         this.maxNumberOfCompletions = DEFAULT_MAX_NUMBER_OF_COMPLETIONS;
30     }
31     
32     public CompletionRequest(ModuleRepository repository, TextualModuleSource moduleSource, String sourceText, int position, int maxNumberOfCompletions) {
33         this.repository = repository;
34         this.moduleSource = moduleSource;
35         this.sourceText = sourceText;
36         this.position = position;
37         this.maxNumberOfCompletions = maxNumberOfCompletions;
38     }
39     
40     public CompletionRequest(ModuleRepository repository,  TextualModuleSource moduleSource, String sourceText, int position) {
41         this(repository, moduleSource, sourceText, position, DEFAULT_MAX_NUMBER_OF_COMPLETIONS);
42     }
43 }