package org.jbehave.eclipse.editor.text.style; import static org.jbehave.eclipse.editor.text.style.TextStyle.*; import java.util.Map; import org.eclipse.swt.graphics.RGB; public class TextStyleTheme { public static TextStyle createDarkTheme () { TextStyle root = new TextStyleTreeBuilder().createTree("dark"); root.setCurrentLineHighlight(new RGB(70,70,70)); Map<String,TextStyle> map = root.createMap(); define(map, DEFAULT, new RGB(0,0,0),new RGB(255,255,255),false,false); define(map, ERROR, new RGB(0,0,0),new RGB(255,0,0),true,false); define(map, NARRATIVE_DEFAULT, null,new RGB(238,159,97),true,false); define(map, NARRATIVE_KEYWORD, null,null,false,true); define(map, COMMENT, null,new RGB(210,255,210),false,false); define(map, META_DEFAULT, null,new RGB(232,178,255),false,false); define(map, META_KEYWORD, null,null,false,true); define(map, SCENARIO_DEFAULT, null,new RGB(255,237,117),true,false); define(map, SCENARIO_KEYWORD, null,null,false,true); define(map, STEP_DEFAULT, null,new RGB(223,225,225),false,false); define(map, STEP_KEYWORD, null,new RGB(118,197,255),false,true); define(map, STEP_PARAMETER, null,new RGB(192,230,249),true,true); define(map, STEP_PARAMETER_VALUE, null,new RGB(209,235,253),true,false); define(map, STEP_EXAMPLE_TABLE_SEPARATOR, null,new RGB(255,169,249),false,false); define(map, STEP_EXAMPLE_TABLE_CELL, null,new RGB(190,248,255),true,false); define(map, EXAMPLE_TABLE_DEFAULT, null,new RGB(223,225,225),false,false); define(map, EXAMPLE_TABLE_KEYWORD, null,new RGB(118,197,255),false,true); define(map, EXAMPLE_TABLE_SEPARATOR, null,new RGB(255,169,249),false,false); define(map, EXAMPLE_TABLE_CELL, null,new RGB(190,248,255),true,false); return root; } public static TextStyle createLightTheme() { TextStyle root = new TextStyleTreeBuilder().createTree("light"); root.setCurrentLineHighlight(new RGB(247,225,203)); Map<String,TextStyle> map = root.createMap(); define(map, DEFAULT, new RGB(255,255,255),new RGB(0,0,0),false,false); define(map, ERROR, new RGB(255,255,255), new RGB(255,0,0),true,false); define(map, NARRATIVE_DEFAULT, null,new RGB(183,57,20),true,false); define(map, NARRATIVE_KEYWORD, null,null,false,true); define(map, COMMENT, null,new RGB(62,165,0),false,false); define(map, META_DEFAULT, null,new RGB(156,5,203),false,false); define(map, META_KEYWORD, null,null,false,true); define(map, SCENARIO_DEFAULT, null,new RGB(203,95,0),true,false); define(map, SCENARIO_KEYWORD, null,null,false,true); define(map, STEP_DEFAULT, null,new RGB(81, 37, 16),false,false); define(map, STEP_KEYWORD, null,new RGB(81, 37, 16),false,true); define(map, STEP_PARAMETER, null,new RGB(183,57,20),true,true); define(map, STEP_PARAMETER_VALUE, null,new RGB(183,57,20),true,false); define(map, STEP_EXAMPLE_TABLE_SEPARATOR, null,new RGB(205,131,55),false,false); define(map, STEP_EXAMPLE_TABLE_CELL, null,new RGB(183,57,20),true,false); define(map, EXAMPLE_TABLE_DEFAULT, null,null,false,false); define(map, EXAMPLE_TABLE_KEYWORD, null,new RGB(144,144,144),false,true); define(map, EXAMPLE_TABLE_SEPARATOR, null,new RGB(205,131,55),false,false); define(map, EXAMPLE_TABLE_CELL, null,new RGB(183,57,20),true,false); return root; } public static void define(Map<String, TextStyle> map, String key, RGB background, RGB foreground, boolean italic, boolean bold) { TextStyle style = map.get(key); style.setBackground(background); style.setForeground(foreground); style.setItalic(italic); style.setBold(bold); } }