/*******************************************************************************
* Copyright (c) 2015 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* QNX Software Systems - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.internal.qt.ui.editor;
import java.util.ArrayList;
/**
* Various keywords associated with Qt Project Files. Namely, special function and variable names used by qmake.
*/
public enum QtProjectFileKeyword {
// QMake function keywords
FUNC_MEMBER("member"), //$NON-NLS-1$
FUNC_FIRST("first"), //$NON-NLS-1$
FUNC_LAST("last"), //$NON-NLS-1$
FUNC_SIZE("size"), //$NON-NLS-1$
FUNC_CAT("cat"), //$NON-NLS-1$
FUNC_FROMFILE("fromfile"), //$NON-NLS-1$
FUNC_EVAL("eval"), //$NON-NLS-1$
FUNC_LIST("list"), //$NON-NLS-1$
FUNC_SPRINTF("sprintf"), //$NON-NLS-1$
FUNC_FORMAT_NUMBER("format_number"), //$NON-NLS-1$
FUNC_JOIN("join"), //$NON-NLS-1$
FUNC_SPLIT("split"), //$NON-NLS-1$
FUNC_BASENAME("basename"), //$NON-NLS-1$
FUNC_DIRNAME("dirname"), //$NON-NLS-1$
FUNC_SECTION("section"), //$NON-NLS-1$
FUNC_FIND("find"), //$NON-NLS-1$
FUNC_SYSTEM("system"), //$NON-NLS-1$
FUNC_UNIQUE("unique"), //$NON-NLS-1$
FUNC_REVERSE("reverse"), //$NON-NLS-1$
FUNC_QUOTE("quote"), //$NON-NLS-1$
FUNC_ESCAPE_EXPAND("escape_expand"), //$NON-NLS-1$
FUNC_UPPER("upper"), //$NON-NLS-1$
FUNC_LOWER("lower"), //$NON-NLS-1$
FUNC_TITLE("title"), //$NON-NLS-1$
FUNC_RE_ESCAPE("re_escape"), //$NON-NLS-1$
FUNC_VAL_ESCAPE("val_escape"), //$NON-NLS-1$
FUNC_FILES("files"), //$NON-NLS-1$
FUNC_PROMPT("prompt"), //$NON-NLS-1$
FUNC_REPLACE("replace"), //$NON-NLS-1$
FUNC_SORT_DEPENDS("sort_depends"), //$NON-NLS-1$
FUNC_RESOLVE_DEPENDS("resolve_depends"), //$NON-NLS-1$
FUNC_ENUMERATE_VARS("enumerate_vars"), //$NON-NLS-1$
FUNC_SHADOWED("shadowed"), //$NON-NLS-1$
FUNC_ABSOLUTE_PATH("absolute_path"), //$NON-NLS-1$
FUNC_RELATIVE_PATH("relative_path"), //$NON-NLS-1$
FUNC_CLEAN_PATH("clean_path"), //$NON-NLS-1$
FUNC_SYSTEM_PATH("system_path"), //$NON-NLS-1$
FUNC_SHELL_PATH("shell_path"), //$NON-NLS-1$
FUNC_SYSTEM_QUOTE("system_quote"), //$NON-NLS-1$
FUNC_SHELL_QUOTE("shell_quote"), //$NON-NLS-1$
FUNC_REQUIRES("requires"), //$NON-NLS-1$
FUNC_GREATERTHAN("greaterThan"), //$NON-NLS-1$
FUNC_LESSTHAN("lessThan"), //$NON-NLS-1$
FUNC_EQUALS("equals"), //$NON-NLS-1$
FUNC_ISEQUAL("isEqual"), //$NON-NLS-1$
FUNC_EXISTS("exists"), //$NON-NLS-1$
FUNC_EXPORT("export"), //$NON-NLS-1$
FUNC_CLEAR("clear"), //$NON-NLS-1$
FUNC_UNSET("unset"), //$NON-NLS-1$
FUNC_IF("if"), //$NON-NLS-1$
FUNC_ISACTIVECONFIG("isActiveConfig"), //$NON-NLS-1$
FUNC_DEFINED("defined"), //$NON-NLS-1$
FUNC_CONTAINS("contains"), //$NON-NLS-1$
FUNC_INFILE("infile"), //$NON-NLS-1$
FUNC_COUNT("count"), //$NON-NLS-1$
FUNC_ISEMPTY("isEmpty"), //$NON-NLS-1$
FUNC_PARSEJSON("parseJson"), //$NON-NLS-1$
FUNC_LOAD("load"), //$NON-NLS-1$
FUNC_INCLUDE("include"), //$NON-NLS-1$
FUNC_DEBUG("debug"), //$NON-NLS-1$
FUNC_LOG("log"), //$NON-NLS-1$
FUNC_MESSAGE("message"), //$NON-NLS-1$
FUNC_WARNING("warning"), //$NON-NLS-1$
FUNC_ERROR("error"), //$NON-NLS-1$
FUNC_MKPATH("mkpath"), //$NON-NLS-1$
FUNC_WRITE_FILE("write_file"), //$NON-NLS-1$
FUNC_TOUCH("touch"), //$NON-NLS-1$
FUNC_CACHE("cache"), //$NON-NLS-1$
// QMake variable keywords
VAR_CCFLAG("CCFLAG"), //$NON-NLS-1$
VAR_CLEAN_DEPS("CLEAN_DEPS"), //$NON-NLS-1$
VAR_CONFIG("CONFIG"), //$NON-NLS-1$
VAR_DEFINES("DEFINES"), //$NON-NLS-1$
VAR_DEF_FILE("DEF_FILE"), //$NON-NLS-1$
VAR_DEPENDPATH("DEPENDPATH"), //$NON-NLS-1$
VAR_DEPLOYMENT("DEPLOYMENT"), //$NON-NLS-1$
VAR_DEPLOYMENT_PLUGIN("DEPLOYMENT_PLUGIN"), //$NON-NLS-1$
VAR_DESTDIR("DESTDIR"), //$NON-NLS-1$
VAR_DESTDIR_TARGET("DESTDIR_TARGET"), //$NON-NLS-1$
VAR_DISTFILES("DISTFILES"), //$NON-NLS-1$
VAR_DLLDESTDIR("DLLDESTDIR"), //$NON-NLS-1$
VAR_DSP_TEMPLATE("DSP_TEMPLATE"), //$NON-NLS-1$
VAR_FORMS("FORMS"), //$NON-NLS-1$
VAR_FORMS3("FORMS3"), //$NON-NLS-1$
VAR_GUID("GUID"), //$NON-NLS-1$
VAR_HEADERS("HEADERS"), //$NON-NLS-1$
VAR_ICON("ICON"), //$NON-NLS-1$
VAR_INCLUDEPATH("INCLUDEPATH"), //$NON-NLS-1$
VAR_INSTALLS("INSTALLS"), //$NON-NLS-1$
VAR_LEXIMPLS("LEXIMPLS"), //$NON-NLS-1$
VAR_LEXOBJECTS("LEXOBJECTS"), //$NON-NLS-1$
VAR_LEXSOURCES("LEXSOURCES"), //$NON-NLS-1$
VAR_LIBS("LIBS"), //$NON-NLS-1$
VAR_LITERAL_HASH("LITERAL_HASH"), //$NON-NLS-1$
VAR_MAKEFILE("MAKEFILE"), //$NON-NLS-1$
VAR_MAKEFILE_GENERATOR("MAKEFILE_GENERATOR"), //$NON-NLS-1$
VAR_MOBILITY("MOBILITY"), //$NON-NLS-1$
VAR_MOC_DIR("MOC_DIR"), //$NON-NLS-1$
VAR_OBJECTIVE_HEADERS("OBJECTIVE_HEADERS"), //$NON-NLS-1$
VAR_OBJECTIVE_SOURCES("OBJECTIVE_SOURCES"), //$NON-NLS-1$
VAR_OBJECTS("OBJECTS"), //$NON-NLS-1$
VAR_OBJECTS_DIR("OBJECTS_DIR"), //$NON-NLS-1$
VAR_OBJMOC("OBJMOC"), //$NON-NLS-1$
VAR_OTHER_FILES("OTHER_FILES"), //$NON-NLS-1$
VAR_OUT_PWD("OUT_PWD"), //$NON-NLS-1$
VAR_PKGCONFIG("PKGCONFIG"), //$NON-NLS-1$
VAR_POST_TARGETDEPS("POST_TARGETDEPS"), //$NON-NLS-1$
VAR_PRECOMPILED_HEADER("PRECOMPILED_HEADER"), //$NON-NLS-1$
VAR_PRE_TARGETDEPS("PRE_TARGETDEPS"), //$NON-NLS-1$
VAR_PWD("PWD"), //$NON-NLS-1$
VAR_QMAKE("QMAKE"), //$NON-NLS-1$
VAR_QMAKESPEC("QMAKESPEC"), //$NON-NLS-1$
VAR_QMAKE_APP_FLAG("QMAKE_APP_FLAG"), //$NON-NLS-1$
VAR_QMAKE_APP_OR_DLL("QMAKE_APP_OR_DLL"), //$NON-NLS-1$
VAR_QMAKE_AR_CMD("QMAKE_AR_CMD"), //$NON-NLS-1$
VAR_QMAKE_BUNDLE_DATA("QMAKE_BUNDLE_DATA"), //$NON-NLS-1$
VAR_QMAKE_BUNDLE_EXTENSION("QMAKE_BUNDLE_EXTENSION"), //$NON-NLS-1$
VAR_QMAKE_CC("QMAKE_CC"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS("QMAKE_CFLAGS"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_DEBUG("QMAKE_CFLAGS_DEBUG"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_MT("QMAKE_CFLAGS_MT"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_MT_DBG("QMAKE_CFLAGS_MT_DBG"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_MT_DLL("QMAKE_CFLAGS_MT_DLL"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_MT_DLLDBG("QMAKE_CFLAGS_MT_DLLDBG"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_RELEASE("QMAKE_CFLAGS_RELEASE"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_SHLIB("QMAKE_CFLAGS_SHLIB"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_THREAD("QMAKE_CFLAGS_THREAD"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_WARN_OFF("QMAKE_CFLAGS_WARN_OFF"), //$NON-NLS-1$
VAR_QMAKE_CFLAGS_WARN_ON("QMAKE_CFLAGS_WARN_ON"), //$NON-NLS-1$
VAR_QMAKE_CLEAN("QMAKE_CLEAN"), //$NON-NLS-1$
VAR_QMAKE_CXX("QMAKE_CXX"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS("QMAKE_CXXFLAGS"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_DEBUG("QMAKE_CXXFLAGS_DEBUG"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_MT("QMAKE_CXXFLAGS_MT"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_MT_DBG("QMAKE_CXXFLAGS_MT_DBG"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_MT_DLL("QMAKE_CXXFLAGS_MT_DLL"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_MT_DLLDBG("QMAKE_CXXFLAGS_MT_DLLDBG"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_RELEASE("QMAKE_CXXFLAGS_RELEASE"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_SHLIB("QMAKE_CXXFLAGS_SHLIB"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_THREAD("QMAKE_CXXFLAGS_THREAD"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_WARN_OFF("QMAKE_CXXFLAGS_WARN_OFF"), //$NON-NLS-1$
VAR_QMAKE_CXXFLAGS_WARN_ON("QMAKE_CXXFLAGS_WARN_ON"), //$NON-NLS-1$
VAR_QMAKE_DISTCLEAN("QMAKE_DISTCLEAN"), //$NON-NLS-1$
VAR_QMAKE_EXTENSION_SHLIB("QMAKE_EXTENSION_SHLIB"), //$NON-NLS-1$
VAR_QMAKE_EXTRA_COMPILERS("QMAKE_EXTRA_COMPILERS"), //$NON-NLS-1$
VAR_QMAKE_EXTRA_TARGETS("QMAKE_EXTRA_TARGETS"), //$NON-NLS-1$
VAR_QMAKE_EXT_CPP("QMAKE_EXT_CPP"), //$NON-NLS-1$
VAR_QMAKE_EXT_H("QMAKE_EXT_H"), //$NON-NLS-1$
VAR_QMAKE_EXT_LEX("QMAKE_EXT_LEX"), //$NON-NLS-1$
VAR_QMAKE_EXT_MOC("QMAKE_EXT_MOC"), //$NON-NLS-1$
VAR_QMAKE_EXT_OBJ("QMAKE_EXT_OBJ"), //$NON-NLS-1$
VAR_QMAKE_EXT_PRL("QMAKE_EXT_PRL"), //$NON-NLS-1$
VAR_QMAKE_EXT_UI("QMAKE_EXT_UI"), //$NON-NLS-1$
VAR_QMAKE_EXT_YACC("QMAKE_EXT_YACC"), //$NON-NLS-1$
VAR_QMAKE_FAILED_REQUIREMENTS("QMAKE_FAILED_REQUIREMENTS"), //$NON-NLS-1$
VAR_QMAKE_FRAMEWORK_BUNDLE_NAME("QMAKE_FRAMEWORK_BUNDLE_NAME"), //$NON-NLS-1$
VAR_QMAKE_FRAMEWORK_VERSION("QMAKE_FRAMEWORK_VERSION"), //$NON-NLS-1$
VAR_QMAKE_INCDIR("QMAKE_INCDIR"), //$NON-NLS-1$
VAR_QMAKE_INCDIR_EGL("QMAKE_INCDIR_EGL"), //$NON-NLS-1$
VAR_QMAKE_INCDIR_OPENGL("QMAKE_INCDIR_OPENGL"), //$NON-NLS-1$
VAR_QMAKE_INCDIR_OPENGL_ES1("QMAKE_INCDIR_OPENGL_ES1"), //$NON-NLS-1$
VAR_QMAKE_INCDIR_OPENGL_ES2("QMAKE_INCDIR_OPENGL_ES2"), //$NON-NLS-1$
VAR_QMAKE_INCDIR_OPENVG("QMAKE_INCDIR_OPENVG"), //$NON-NLS-1$
VAR_QMAKE_INCDIR_QT("QMAKE_INCDIR_QT"), //$NON-NLS-1$
VAR_QMAKE_INCDIR_THREAD("QMAKE_INCDIR_THREAD"), //$NON-NLS-1$
VAR_QMAKE_INCDIR_X("QMAKE_INCDIR_X11"), //$NON-NLS-1$
VAR_QMAKE_INFO_PLIST("QMAKE_INFO_PLIST"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS("QMAKE_LFLAGS"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_CONSOLE("QMAKE_LFLAGS_CONSOLE"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_CONSOLE_DLL("QMAKE_LFLAGS_CONSOLE_DLL"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_DEBUG("QMAKE_LFLAGS_DEBUG"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_PLUGIN("QMAKE_LFLAGS_PLUGIN"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_QT_DLL("QMAKE_LFLAGS_QT_DLL"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_RELEASE("QMAKE_LFLAGS_RELEASE"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_RPATH("QMAKE_LFLAGS_RPATH"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_SHAPP("QMAKE_LFLAGS_SHAPP"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_SHLIB("QMAKE_LFLAGS_SHLIB"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_SONAME("QMAKE_LFLAGS_SONAME"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_THREAD("QMAKE_LFLAGS_THREAD"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_WINDOWS("QMAKE_LFLAGS_WINDOWS"), //$NON-NLS-1$
VAR_QMAKE_LFLAGS_WINDOWS_DLL("QMAKE_LFLAGS_WINDOWS_DLL"), //$NON-NLS-1$
VAR_QMAKE_LIBDIR("QMAKE_LIBDIR"), //$NON-NLS-1$
VAR_QMAKE_LIBDIR_EGL("QMAKE_LIBDIR_EGL"), //$NON-NLS-1$
VAR_QMAKE_LIBDIR_FLAGS("QMAKE_LIBDIR_FLAGS"), //$NON-NLS-1$
VAR_QMAKE_LIBDIR_OPENGL("QMAKE_LIBDIR_OPENGL"), //$NON-NLS-1$
VAR_QMAKE_LIBDIR_OPENVG("QMAKE_LIBDIR_OPENVG"), //$NON-NLS-1$
VAR_QMAKE_LIBDIR_QT("QMAKE_LIBDIR_QT"), //$NON-NLS-1$
VAR_QMAKE_LIBDIR_X("QMAKE_LIBDIR_X11"), //$NON-NLS-1$
VAR_QMAKE_LIBS("QMAKE_LIBS"), //$NON-NLS-1$
VAR_QMAKE_LIBS_CONSOLE("QMAKE_LIBS_CONSOLE"), //$NON-NLS-1$
VAR_QMAKE_LIBS_EGL("QMAKE_LIBS_EGL"), //$NON-NLS-1$
VAR_QMAKE_LIBS_OPENGL("QMAKE_LIBS_OPENGL"), //$NON-NLS-1$
VAR_QMAKE_LIBS_OPENGL_ES1("QMAKE_LIBS_OPENGL_ES1"), //$NON-NLS-1$
VAR_QMAKE_LIBS_OPENGL_ES2("QMAKE_LIBS_OPENGL_ES2"), //$NON-NLS-1$
VAR_QMAKE_LIBS_OPENGL_QT("QMAKE_LIBS_OPENGL_QT"), //$NON-NLS-1$
VAR_QMAKE_LIBS_OPENVG("QMAKE_LIBS_OPENVG"), //$NON-NLS-1$
VAR_QMAKE_LIBS_QT("QMAKE_LIBS_QT"), //$NON-NLS-1$
VAR_QMAKE_LIBS_QT_DLL("QMAKE_LIBS_QT_DLL"), //$NON-NLS-1$
VAR_QMAKE_LIBS_QT_OPENGL("QMAKE_LIBS_QT_OPENGL"), //$NON-NLS-1$
VAR_QMAKE_LIBS_QT_THREAD("QMAKE_LIBS_QT_THREAD"), //$NON-NLS-1$
VAR_QMAKE_LIBS_RT("QMAKE_LIBS_RT"), //$NON-NLS-1$
VAR_QMAKE_LIBS_RTMT("QMAKE_LIBS_RTMT"), //$NON-NLS-1$
VAR_QMAKE_LIBS_THREAD("QMAKE_LIBS_THREAD"), //$NON-NLS-1$
VAR_QMAKE_LIBS_WINDOWS("QMAKE_LIBS_WINDOWS"), //$NON-NLS-1$
VAR_QMAKE_LIBS_X11("QMAKE_LIBS_X11"), //$NON-NLS-1$
VAR_QMAKE_LIBS_X11SM("QMAKE_LIBS_X11SM"), //$NON-NLS-1$
VAR_QMAKE_LIB_FLAG("QMAKE_LIB_FLAG"), //$NON-NLS-1$
VAR_QMAKE_LINK("QMAKE_LINK"), //$NON-NLS-1$
VAR_QMAKE_LINK_SHLIB_CMD("QMAKE_LINK_SHLIB_CMD"), //$NON-NLS-1$
VAR_QMAKE_LN_SHLIB("QMAKE_LN_SHLIB"), //$NON-NLS-1$
VAR_QMAKE_MACOSX_DEPLOYMENT_TARGET("QMAKE_MACOSX_DEPLOYMENT_TARGET"), //$NON-NLS-1$
VAR_QMAKE_MAC_SDK("QMAKE_MAC_SDK"), //$NON-NLS-1$
VAR_QMAKE_MAKEFILE("QMAKE_MAKEFILE"), //$NON-NLS-1$
VAR_QMAKE_MOC_SRC("QMAKE_MOC_SRC"), //$NON-NLS-1$
VAR_QMAKE_POST_LINK("QMAKE_POST_LINK"), //$NON-NLS-1$
VAR_QMAKE_PRE_LINK("QMAKE_PRE_LINK"), //$NON-NLS-1$
VAR_QMAKE_PROJECT_NAME("QMAKE_PROJECT_NAME"), //$NON-NLS-1$
VAR_QMAKE_QMAKE("QMAKE_QMAKE"), //$NON-NLS-1$
VAR_QMAKE_QT_DLL("QMAKE_QT_DLL"), //$NON-NLS-1$
VAR_QMAKE_RESOURCE_FLAGS("QMAKE_RESOURCE_FLAGS"), //$NON-NLS-1$
VAR_QMAKE_RPATH("QMAKE_RPATH"), //$NON-NLS-1$
VAR_QMAKE_RPATHDIR("QMAKE_RPATHDIR"), //$NON-NLS-1$
VAR_QMAKE_RUN_CC("QMAKE_RUN_CC"), //$NON-NLS-1$
VAR_QMAKE_RUN_CC_IMP("QMAKE_RUN_CC_IMP"), //$NON-NLS-1$
VAR_QMAKE_RUN_CXX("QMAKE_RUN_CXX"), //$NON-NLS-1$
VAR_QMAKE_RUN_CXX_IMP("QMAKE_RUN_CXX_IMP"), //$NON-NLS-1$
VAR_QMAKE_TARGET("QMAKE_TARGET"), //$NON-NLS-1$
VAR_QMAKE_UIC("QMAKE_UIC"), //$NON-NLS-1$
VAR_QT("QT"), //$NON-NLS-1$
VAR_QTPLUGIN("QTPLUGIN"), //$NON-NLS-1$
VAR_QT_MAJOR_VERSION("QT_MAJOR_VERSION"), //$NON-NLS-1$
VAR_QT_MINOR_VERSION("QT_MINOR_VERSION"), //$NON-NLS-1$
VAR_QT_PATCH_VERSION("QT_PATCH_VERSION"), //$NON-NLS-1$
VAR_QT_VERSION("QT_VERSION"), //$NON-NLS-1$
VAR_RCC_DIR("RCC_DIR"), //$NON-NLS-1$
VAR_RC_FILE("RC_FILE"), //$NON-NLS-1$
VAR_REQUIRES("REQUIRES"), //$NON-NLS-1$
VAR_RESOURCES("RESOURCES"), //$NON-NLS-1$
VAR_RES_FILE("RES_FILE"), //$NON-NLS-1$
VAR_RSS_RULES("RSS_RULES"), //$NON-NLS-1$
VAR_SIGNATURE_FILE("SIGNATURE_FILE"), //$NON-NLS-1$
VAR_SOURCES("SOURCES"), //$NON-NLS-1$
VAR_SRCMOC("SRCMOC"), //$NON-NLS-1$
VAR_STATECHARTS("STATECHARTS"), //$NON-NLS-1$
VAR_SUBDIRS("SUBDIRS"), //$NON-NLS-1$
VAR_TARGET("TARGET"), //$NON-NLS-1$
VAR_TEMPLATE("TEMPLATE"), //$NON-NLS-1$
VAR_TRANSLATIONS("TRANSLATIONS"), //$NON-NLS-1$
VAR_UICIMPLS("UICIMPLS"), //$NON-NLS-1$
VAR_UICOBJECTS("UICOBJECTS"), //$NON-NLS-1$
VAR_UI_DIR("UI_DIR"), //$NON-NLS-1$
VAR_UI_HEADERS_DIR("UI_HEADERS_DIR"), //$NON-NLS-1$
VAR_UI_SOURCES_DIR("UI_SOURCES_DIR"), //$NON-NLS-1$
VAR_VERSION("VERSION"), //$NON-NLS-1$
VAR_VERSION_PE_HEADER("VERSION_PE_HEADER"), //$NON-NLS-1$
VAR_VER_MAJ("VER_MAJ"), //$NON-NLS-1$
VAR_VER_MIN("VER_MIN"), //$NON-NLS-1$
VAR_VER_PAT("VER_PAT"), //$NON-NLS-1$
VAR_VPATH("VPATH"), //$NON-NLS-1$
VAR_YACCIMPLS("YACCIMPLS"), //$NON-NLS-1$
VAR_YACCOBJECTS("YACCOBJECTS"), //$NON-NLS-1$
VAR_YACCSOURCES("YACCSOURCES"), //$NON-NLS-1$
VAR__PRO_FILE_("_PRO_FILE_"), //$NON-NLS-1$
VAR__PRO_FILE_PWD_("_PRO_FILE_PWD_"); //$NON-NLS-1$
private final String keyword;
QtProjectFileKeyword(String key) {
this.keyword = key;
}
/**
* Returns a <code>String</code> containing this keyword's identifier.
*
* @return a string
*/
public String getKeyword() {
return keyword;
}
private static QtProjectFileKeyword[] getKeywordsWithPrefix(String prefix) {
ArrayList<QtProjectFileKeyword> list = new ArrayList<>();
for (QtProjectFileKeyword word : QtProjectFileKeyword.values()) {
if (word.name().startsWith(prefix)) {
list.add(word);
}
}
QtProjectFileKeyword[] array = new QtProjectFileKeyword[list.size()];
return list.toArray(array);
}
/**
* Returns all keywords associated with functions in qmake.
*
* @return an array of keywords
*/
public static QtProjectFileKeyword[] getFunctionKeywords() {
return getKeywordsWithPrefix("FUNC_"); //$NON-NLS-1$
}
/**
* Returns all keywords associated with variables in qmake.
*
* @return an array of keywords
*/
public static QtProjectFileKeyword[] getVariableKeywords() {
return getKeywordsWithPrefix("VAR_"); //$NON-NLS-1$
}
}