Permit modes to provide their own TokenMarker implementation while still using the keywords.txt file.

This commit is contained in:
Jonathan Feinberg
2014-04-07 15:06:32 -04:00
parent e08eb3c0f6
commit a3e8adfa80
2 changed files with 8 additions and 1 deletions

View File

@@ -43,7 +43,7 @@ public abstract class Mode {
protected File folder;
protected PdeKeywords tokenMarker = new PdeKeywords();
protected TokenMarker tokenMarker;
protected HashMap<String, String> keywordToReference =
new HashMap<String, String>();
@@ -94,6 +94,7 @@ public abstract class Mode {
public Mode(Base base, File folder) {
this.base = base;
this.folder = folder;
tokenMarker = createTokenMarker();
// Get paths for the libraries and examples in the mode folder
examplesFolder = new File(folder, "examples");
@@ -912,6 +913,10 @@ public abstract class Mode {
public TokenMarker getTokenMarker() {
return tokenMarker;
}
protected TokenMarker createTokenMarker() {
return new PdeKeywords();
}
// abstract public Formatter createFormatter();

View File

@@ -25,6 +25,8 @@ import javax.swing.text.Segment;
*/
public abstract class TokenMarker
{
abstract public void addColoring(String keyword, String coloring);
/**
* A wrapper for the lower-level <code>markTokensImpl</code> method
* that is called to split a line up into tokens.