|
From: Márcio V. d. S. <mv...@us...> - 2007-11-01 14:41:12
|
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; } } |