blob: b371f6dd139cc1d9b65811caccbb036a68e38e0f [file] [log] [blame]
/*global define */
define('examples/editor/swtContentAssist', [ //$NON-NLS-0$
'orion/editor/templates' //$NON-NLS-0$
], function(mTemplates) {
var colorValues = {
type: "link", //$NON-NLS-0$
values: [
"COLOR_BLACK", //$NON-NLS-0$
"COLOR_INFO_BACKGROUND", //$NON-NLS-0$
"black", //$NON-NLS-0$
"white", //$NON-NLS-0$
"red", //$NON-NLS-0$
"green", //$NON-NLS-0$
"blue", //$NON-NLS-0$
"magenta", //$NON-NLS-0$
"yellow", //$NON-NLS-0$
"cyan", //$NON-NLS-0$
"grey", //$NON-NLS-0$
"darkred", //$NON-NLS-0$
"darkgreen", //$NON-NLS-0$
"darkblue", //$NON-NLS-0$
"darkmagenta", //$NON-NLS-0$
"darkcyan", //$NON-NLS-0$
"darkyellow", //$NON-NLS-0$
"darkgray", //$NON-NLS-0$
"lightgray" //$NON-NLS-0$
]
};
function fromJSON(o) {
return JSON.stringify(o).replace("}", "\\}"); //$NON-NLS-1$ //$NON-NLS-0$
}
var templates = [
{
prefix: "swt-outer-keyline-color", //$NON-NLS-0$
description: "ctab folder keyline - keyline color", //$NON-NLS-0$
template: "swt-outer-keyline-color: ${color:" + fromJSON(colorValues) + "};" //$NON-NLS-1$ //$NON-NLS-0$
},
{
prefix: "frame-image", //$NON-NLS-0$
description: "image - the frame image", //$NON-NLS-0$
template: "frame-image: url(\"${uri}\");" //$NON-NLS-0$
}
];
var keywords = [
%s
];
function SWTContentAssistProvider() {
}
SWTContentAssistProvider.prototype = new mTemplates.TemplateContentAssist(keywords, templates);
SWTContentAssistProvider.prototype.getPrefix = function(buffer, offset, context) {
var index = offset;
while (index && /[A-Za-z\-\@]/.test(buffer.charAt(index - 1))) {
index--;
}
return index ? buffer.substring(index, offset) : "";
};
return {
SWTContentAssistProvider: SWTContentAssistProvider
};
});