package ee.edio.garmin;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.fileTypes.SyntaxHighlighter;
import com.intellij.openapi.options.colors.AttributesDescriptor;
import com.intellij.openapi.options.colors.ColorDescriptor;
import com.intellij.openapi.options.colors.ColorSettingsPage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.Map;
public class MonkeyColorSettingsPage implements ColorSettingsPage {
private final AttributesDescriptor[] DESCRIPTORS = new AttributesDescriptor[]{
new AttributesDescriptor("Function declaration", MonkeySyntaxHighlighter.MC_FUNCTION_DECLARATION),
new AttributesDescriptor("Class name", MonkeySyntaxHighlighter.MC_CLASS_NAME)
};
@Nullable
@Override
public Icon getIcon() {
return MonkeyIcons.FILE;
}
@NotNull
@Override
public SyntaxHighlighter getHighlighter() {
return new MonkeySyntaxHighlighter();
}
@NotNull
@Override
public String getDemoText() {
return "using Toybox.Application as App;\n" +
"using Toybox.WatchUi as Ui;\n" +
"using Toybox.System as Sys;\n" +
"\n" +
"class EsimeneApp extends App.AppBase {\n" +
"\n" +
" //! onStart() is called on application start up\n" +
" function onStart() {\n" +
" \tSys.println(\"EsimeneApp.onStart\");\n" +
" }\n" +
"\n" +
" //! onStop() is called when your application is exiting\n" +
" function onStop() {\n" +
" \tSys.println(\"EsimeneApp.onStop\");\n" +
" }\n" +
"\n" +
" //! Return the initial view of your application here\n" +
" function getInitialView() {\n" +
" \tvar view = new EsimeneView();\n" +
" \tSys.println(\"EsimeneApp.getInitialView\");\n" +
" return [view, new EsimeneDelegate(view)];\n" +
" }\n" +
"\n" +
"}";
}
@Nullable
@Override
public Map<String, TextAttributesKey> getAdditionalHighlightingTagToDescriptorMap() {
return null;
}
@NotNull
@Override
public AttributesDescriptor[] getAttributeDescriptors() {
return DESCRIPTORS;
}
@NotNull
@Override
public ColorDescriptor[] getColorDescriptors() {
return ColorDescriptor.EMPTY_ARRAY;
}
@NotNull
@Override
public String getDisplayName() {
return "Monkey C";
}
}