# Filtering by criteria
# Set true to enable criteria filtering, otherwise set false
org.eclipse.help/enableCriteria=true

# List all the supported criteria names, separated by comma 
org.eclipse.help/supportedCriteria=platform,version,containsLetter