|
From: Christopher W. <caw...@us...> - 2005-04-01 02:11:52
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23324/src/org/rubypeople/rdt/internal/ui/text Modified Files: RubySourceViewerConfiguration.java IRubyColorConstants.java RubyPartitionScanner.java RubyTextTools.java Log Message: highlight and partition shell commands separately from code. Index: RubyPartitionScanner.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/RubyPartitionScanner.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** RubyPartitionScanner.java 1 Apr 2005 01:59:20 -0000 1.7 --- RubyPartitionScanner.java 1 Apr 2005 02:11:42 -0000 1.8 *************** *** 19,24 **** public static final String SINGLE_LINE_COMMENT = "partition_scanner_ruby_singleline_comment"; public static final String REGULAR_EXPRESSION = "partition_scanner_ruby_regular_expression"; ! public static final String[] LEGAL_CONTENT_TYPES = {STRING, MULTI_LINE_COMMENT, SINGLE_LINE_COMMENT, REGULAR_EXPRESSION}; public RubyPartitionScanner() { --- 19,25 ---- public static final String SINGLE_LINE_COMMENT = "partition_scanner_ruby_singleline_comment"; public static final String REGULAR_EXPRESSION = "partition_scanner_ruby_regular_expression"; + public static final String COMMAND = "partition_scanner_ruby_command"; ! public static final String[] LEGAL_CONTENT_TYPES = {STRING, MULTI_LINE_COMMENT, SINGLE_LINE_COMMENT, REGULAR_EXPRESSION, COMMAND}; public RubyPartitionScanner() { *************** *** 32,35 **** --- 33,37 ---- IToken singleLineComment = new Token(SINGLE_LINE_COMMENT); IToken regexp = new Token(REGULAR_EXPRESSION); + IToken command = new Token(COMMAND); List rules = new ArrayList(); *************** *** 50,53 **** --- 52,59 ---- createGeneralDelimitedRules(rules, "%r", regexp, '\\'); + // Commands + rules.add(new SingleLineRule("`", "`", command, '\\')); + createGeneralDelimitedRules(rules, "%x", command, '\\'); + // Single line comments rules.add(new EndOfLineRule("#", singleLineComment)); Index: RubyTextTools.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/RubyTextTools.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** RubyTextTools.java 1 Apr 2005 01:59:20 -0000 1.9 --- RubyTextTools.java 1 Apr 2005 02:11:42 -0000 1.10 *************** *** 47,50 **** --- 47,51 ---- private PreferenceListener fPreferenceListener = new PreferenceListener(); private SingleTokenRubyCodeScanner fRegexpScanner; + private SingleTokenRubyCodeScanner fCommandScanner; /** *************** *** 105,109 **** stringScanner = new SingleTokenRubyCodeScanner(fColorManager, store, IRubyColorConstants.RUBY_STRING); fRegexpScanner = new SingleTokenRubyCodeScanner(fColorManager, store, IRubyColorConstants.RUBY_REGEXP); ! fPreferenceStore = store; fPreferenceStore.addPropertyChangeListener(fPreferenceListener); --- 106,111 ---- stringScanner = new SingleTokenRubyCodeScanner(fColorManager, store, IRubyColorConstants.RUBY_STRING); fRegexpScanner = new SingleTokenRubyCodeScanner(fColorManager, store, IRubyColorConstants.RUBY_REGEXP); ! fCommandScanner = new SingleTokenRubyCodeScanner(fColorManager, store, IRubyColorConstants.RUBY_COMMAND); ! fPreferenceStore = store; fPreferenceStore.addPropertyChangeListener(fPreferenceListener); *************** *** 131,134 **** --- 133,137 ---- if (stringScanner.affectsBehavior(event)) stringScanner.adaptToPreferenceChange(event); if (fRegexpScanner.affectsBehavior(event)) fRegexpScanner.adaptToPreferenceChange(event); + if (fCommandScanner.affectsBehavior(event)) fCommandScanner.adaptToPreferenceChange(event); // if (fJavaDocScanner.affectsBehavior(event)) // fJavaDocScanner.adaptToPreferenceChange(event); *************** *** 184,188 **** || fSinglelineCommentScanner.affectsBehavior(event) || stringScanner.affectsBehavior(event) ! || fRegexpScanner.affectsBehavior(event); } --- 187,192 ---- || fSinglelineCommentScanner.affectsBehavior(event) || stringScanner.affectsBehavior(event) ! || fRegexpScanner.affectsBehavior(event) ! || fCommandScanner.affectsBehavior(event); } *************** *** 218,221 **** --- 222,226 ---- stringScanner = null; fRegexpScanner = null; + fCommandScanner = null; // fJavaDocScanner= null; partitionScanner = null; *************** *** 243,245 **** --- 248,254 ---- } + public ITokenScanner getCommandScanner() { + return fCommandScanner; + } + } Index: RubySourceViewerConfiguration.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/RubySourceViewerConfiguration.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** RubySourceViewerConfiguration.java 1 Apr 2005 01:59:20 -0000 1.19 --- RubySourceViewerConfiguration.java 1 Apr 2005 02:11:38 -0000 1.20 *************** *** 60,66 **** --- 60,75 ---- reconciler.setRepairer(dr, RubyPartitionScanner.REGULAR_EXPRESSION); + dr = new DefaultDamagerRepairer(getCommandScanner()); + reconciler.setDamager(dr, RubyPartitionScanner.COMMAND); + reconciler.setRepairer(dr, RubyPartitionScanner.COMMAND); + + return reconciler; } + private ITokenScanner getCommandScanner() { + return textTools.getCommandScanner(); + } + protected ITokenScanner getCodeScanner() { return textTools.getCodeScanner(); Index: IRubyColorConstants.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/IRubyColorConstants.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** IRubyColorConstants.java 1 Apr 2005 01:59:20 -0000 1.3 --- IRubyColorConstants.java 1 Apr 2005 02:11:42 -0000 1.4 *************** *** 7,10 **** --- 7,11 ---- public static final String RUBY_STRING = RUBY_COLOR_PREFIX + "string"; public static final String RUBY_REGEXP = RUBY_COLOR_PREFIX + "regexp"; + public static final String RUBY_COMMAND = RUBY_COLOR_PREFIX + "command"; public static final String RUBY_MULTI_LINE_COMMENT = RUBY_COLOR_PREFIX + "multiline_comment"; |