public Map<String, String> getMacros() {
    Map<String, String> macros = new LinkedHashMap<String, String>();

    for (ICLanguageSetting ls : languageSettings) {
      for (ICLanguageSettingEntry ms : ls.getSettingEntries(ICSettingEntry.MACRO)) {
        if (ms.isBuiltIn()) {
          continue;
        }
        macros.put(ms.getName(), ms.getValue());
      }
    }

    return macros;
  }
  public Collection<File> getIncludes() {
    Collection<File> paths = new LinkedList<File>();
    String workspacePath = getWorkspacePath();

    for (ICLanguageSetting languageSetting : languageSettings) {
      ICLanguageSettingEntry[] includePathSettings =
          languageSetting.getSettingEntries(ICSettingEntry.INCLUDE_PATH);

      for (ICLanguageSettingEntry e : includePathSettings) {
        if (!e.isBuiltIn()) {
          appendFile(paths, workspacePath, e);
        }
      }
    }
    return paths;
  }