Update of /cvsroot/tail/TailS/src/java/net/sf/tails/dsl
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9607/src/java/net/sf/tails/dsl
Modified Files:
TailSTokenMarker.java
Added Files:
CodeAssistLoader.java
Log Message:
Index: TailSTokenMarker.java
===================================================================
RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/dsl/TailSTokenMarker.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** TailSTokenMarker.java 31 Oct 2007 19:53:01 -0000 1.4
--- TailSTokenMarker.java 1 Nov 2007 14:41:11 -0000 1.5
***************
*** 1,6 ****
package net.sf.tails.dsl;
- import java.util.ResourceBundle;
-
import org.gjt.sp.jedit.syntax.CTokenMarker;
import org.gjt.sp.jedit.syntax.KeywordMap;
--- 1,4 ----
***************
*** 10,23 ****
public class TailSTokenMarker extends CTokenMarker {
! private static String[] rubyKeyWords;
! private static String[] tailIndicatorsKeyWords;
! private static String[] tailStrategiesKeyWords;
private static KeywordMap TailSKeywords;
static{
! ResourceBundle bundle = ResourceBundle.getBundle("net.sf.tails.i18n.DSL_IDE");
! rubyKeyWords = bundle.getString("RUBY_KEYWORDS").split(" ");
! tailIndicatorsKeyWords = bundle.getString("TAIL_INDICATORS_HIGHLIGHT").split(" ");
! tailStrategiesKeyWords = bundle.getString("TAIL_STRATEGIES_HIGHLIGHT").split(" ");
}
--- 8,16 ----
public class TailSTokenMarker extends CTokenMarker {
! private static CodeAssistLoader assistLoader;
private static KeywordMap TailSKeywords;
static{
! assistLoader = new CodeAssistLoader();
}
***************
*** 32,42 ****
{
TailSKeywords = new KeywordMap(false);
! for (String key : rubyKeyWords) {
TailSKeywords.add(key, Token.KEYWORD1);
}
! for (String key : tailIndicatorsKeyWords) {
TailSKeywords.add(key, Token.KEYWORD2);
}
! for (String key : tailStrategiesKeyWords) {
TailSKeywords.add(key, Token.KEYWORD3);
}
--- 25,35 ----
{
TailSKeywords = new KeywordMap(false);
! for (String key : assistLoader.getRubyKeyWords()) {
TailSKeywords.add(key, Token.KEYWORD1);
}
! for (String key : assistLoader.getIndicatorMethods()) {
TailSKeywords.add(key, Token.KEYWORD2);
}
! for (String key : assistLoader.getStrategyMethods()) {
TailSKeywords.add(key, Token.KEYWORD3);
}
--- NEW FILE: CodeAssistLoader.java ---
package net.sf.tails.dsl;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.ResourceBundle;
import java.util.Scanner;
public class CodeAssistLoader {
private List<String> rubyKeyWords;
private List<String> indicatorSignatures;
private List<String> indicatorMethods;
private List<String> strategySignatures;
private List<String> strategyMethods;
public CodeAssistLoader(){
indicatorMethods = new LinkedList<String>();
indicatorSignatures = new LinkedList<String>();
strategySignatures = new LinkedList<String>();
strategyMethods = new LinkedList<String>();
ResourceBundle bundle = ResourceBundle.getBundle("net.sf.tails.i18n.DSL_IDE");
String[] rubyKeyWords = bundle.getString("RUBY_KEYWORDS").split(" ");
Arrays.sort(rubyKeyWords);
this.rubyKeyWords = Arrays.asList(rubyKeyWords);
ResourceBundle fileBundle = ResourceBundle.getBundle("net.sf.tails.i18n.Files");
readStream(fileBundle.getString("RUBY_UTILS_FILE"));
}
public void readStream(String file){
InputStream is;
try {
is = new FileInputStream(file);
Scanner s = new Scanner(is);
while(s.hasNextLine()){
String line = s.nextLine();
if(line.startsWith("#Indicator")){
line = s.nextLine();
String signature = line.substring(line.indexOf("def ")+4);
indicatorSignatures.add(signature);
String method = signature.split("\\(")[0];
if(!indicatorMethods.contains(method)){
indicatorMethods.add(method);
}
}else if(line.startsWith("#Strategy")){
line = s.nextLine();
String signature = line.substring(line.indexOf("def ")+4);
strategySignatures.add(signature);
String method = signature.split("\\(")[0];
if(!strategyMethods.contains(method)){
strategyMethods.add(method);
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Collections.sort(indicatorMethods);
Collections.sort(indicatorSignatures);
Collections.sort(strategyMethods);
Collections.sort(strategySignatures);
}
public List<String> getRubyKeyWords() {
return rubyKeyWords;
}
public List<String> getIndicatorSignatures() {
return indicatorSignatures;
}
public List<String> getIndicatorMethods() {
return indicatorMethods;
}
public List<String> getStrategySignatures() {
return strategySignatures;
}
public List<String> getStrategyMethods() {
return strategyMethods;
}
}
|