Merge remote-tracking branch 'origin/master'
authorEkaterina Tuzova <Ekaterina.Tuzova@jetbrains.com>
Tue, 12 Feb 2013 14:09:25 +0000 (18:09 +0400)
committerEkaterina Tuzova <Ekaterina.Tuzova@jetbrains.com>
Tue, 12 Feb 2013 14:09:25 +0000 (18:09 +0400)
696 files changed:
.idea/inspectionProfiles/idea_default.xml
.idea/libraries/Groovy.xml
.idea/libraries/Netty.xml
RegExpSupport/RegExpSupport.iml
RegExpSupport/src/META-INF/RegExpPlugin.xml
RegExpSupport/src/org/intellij/lang/regexp/DefaultRegExpPropertiesProvider.java [new file with mode: 0644]
RegExpSupport/src/org/intellij/lang/regexp/RegExpCapability.java
RegExpSupport/src/org/intellij/lang/regexp/RegExpCompletionContributor.java
RegExpSupport/src/org/intellij/lang/regexp/RegExpDocumentationProvider.java
RegExpSupport/src/org/intellij/lang/regexp/RegExpLanguageHost.java
RegExpSupport/src/org/intellij/lang/regexp/RegExpLanguageHosts.java
RegExpSupport/src/org/intellij/lang/regexp/_RegExLexer.java
RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpCharImpl.java
RegExpSupport/src/org/intellij/lang/regexp/psi/impl/RegExpPropertyImpl.java
RegExpSupport/src/org/intellij/lang/regexp/regexp-lexer.flex
RegExpSupport/src/org/intellij/lang/regexp/validation/RegExpAnnotator.java
RegExpSupport/test/test/RegExpCompletionTest.java
bin/linux/fsnotifier
bin/linux/fsnotifier64
build/conf/mac/Contents/Resources/idea.icns
build/scripts/libLicenses.gant
colorSchemes/src/colorSchemes/Darcula.xml
colorSchemes/src/colorSchemes/rails_casts.xml
community-resources/src/idea/IdeaApplicationInfo.xml
java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java
java/compiler/impl/src/com/intellij/compiler/impl/FileProcessingCompilerAdapterTask.java
java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java
java/debugger/impl/src/com/intellij/debugger/ui/XBreakpointGroupingByCategoryRule.java
java/debugger/impl/src/com/intellij/debugger/ui/XBreakpointGroupingByClassRule.java
java/debugger/impl/src/com/intellij/debugger/ui/XBreakpointGroupingByPackageRule.java
java/debugger/impl/src/com/intellij/debugger/ui/impl/WatchDebuggerTree.java
java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/WatchItemDescriptor.java
java/execution/impl/src/com/intellij/execution/RunConfigurationExtension.java
java/idea-ui/src/com/intellij/ide/util/newProjectWizard/ProjectTypesList.java
java/idea-ui/src/com/intellij/platform/templates/IU_template_groups.xml
java/idea-ui/src/com/intellij/platform/templates/LocalArchivedTemplate.java
java/idea-ui/src/com/intellij/platform/templates/RemoteTemplatesFactory.java
java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateAction.java
java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateDialog.form
java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateDialog.java
java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java
java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionUtil.java
java/java-impl/src/com/intellij/codeInsight/daemon/impl/IconLineMarkerProvider.java
java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java
java/java-impl/src/com/intellij/codeInsight/editorActions/smartEnter/ParameterListFixer.java
java/java-impl/src/com/intellij/codeInsight/generation/GenerateEqualsHelper.java
java/java-impl/src/com/intellij/javadoc/JavadocConfiguration.java
java/java-impl/src/com/intellij/openapi/module/BasePackageInputFieldFactory.java [deleted file]
java/java-impl/src/com/intellij/openapi/module/BasePackageParameterFactory.java [new file with mode: 0644]
java/java-impl/src/com/intellij/psi/impl/JavaRegExpHost.java
java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/JavaClassReference.java
java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/PsiPackageReference.java
java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java
java/java-impl/src/com/intellij/refactoring/introduceField/ElementToWorkOn.java
java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceConstantHandler.java
java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldHandler.java
java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterHandler.java
java/java-impl/src/com/intellij/refactoring/replaceConstructorWithBuilder/ParameterData.java
java/java-impl/src/resources/projectTemplates/Java/Command_Line_App.zip
java/java-psi-api/src/com/intellij/psi/LambdaHighlightingUtil.java
java/java-psi-api/src/com/intellij/psi/LambdaUtil.java
java/java-psi-api/src/com/intellij/psi/impl/source/resolve/DefaultParameterTypeInferencePolicy.java
java/java-psi-api/src/com/intellij/psi/impl/source/resolve/ParameterTypeInferencePolicy.java
java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java
java/java-psi-impl/src/com/intellij/codeInsight/daemon/JavaErrorMessages.java
java/java-psi-impl/src/com/intellij/core/CoreJavaFileManager.java
java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java
java/java-psi-impl/src/com/intellij/psi/impl/source/PsiJavaCodeReferenceElementImpl.java
java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/ProcessCandidateParameterTypeInferencePolicy.java
java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/PsiResolveHelperImpl.java
java/java-tests/testData/codeInsight/completion/javadoc/QualifyClassReferenceInPackageStatement.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/completion/javadoc/QualifyClassReferenceInPackageStatement_after.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/JavacQuirks.java [moved from java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/JavacQuirks.java with 100% similarity]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA86875.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/ChainedInference.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/ChainedInference1.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/ConditionalExpressionsInference.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/InferenceFromSiblings.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/NestedCalls.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/NestedCallsSameMethod.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/graphInference/ReturnStmt.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/IncompleteSubst.java
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/DefaultMethodVisibility.java [moved from java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/DefaultMethodVisibility.java with 100% similarity]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/ExtensionMethodSyntax.java [moved from java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/ExtensionMethodSyntax.java with 100% similarity]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/ExtensionMethods.java [moved from java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/ExtensionMethods.java with 100% similarity]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/InheritUnrelatedDefaults.java [moved from java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/InheritUnrelatedDefaults.java with 100% similarity]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/interfaceMethods/NotInheritFromUnrelatedDefault.java [moved from java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/NotInheritFromUnrelatedDefault.java with 100% similarity]
java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/100441.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterAbstractSuperEquals.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterArrays.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterArraysClass.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterArraysFromJava15.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterFields.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterHashCode.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterInsertOverride.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterLangClass.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterLocalLangClass.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterNoBaseEquals.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterNotNull.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterOneDoubleField.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterOneField.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterOneFloatField.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterPrimitiveFields.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/afterSuperEquals.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeAbstractSuperEquals.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeArrays.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeArraysClass.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeArraysFromJava15.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeFields.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeHashCode.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeInsertOverride.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeLangClass.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeLocalLangClass.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeNoBaseEquals.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeNotNull.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeOneDoubleField.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeOneField.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeOneFloatField.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforePrimitiveFields.java [new file with mode: 0644]
java/java-tests/testData/codeInsight/generateEquals/beforeSuperEquals.java [new file with mode: 0644]
java/java-tests/testData/compileServer/incremental/membersChange/removeMoreAccessibleMethod.log [new file with mode: 0644]
java/java-tests/testData/compileServer/incremental/membersChange/removeMoreAccessibleMethod/src/x/Abstract.java [new file with mode: 0644]
java/java-tests/testData/compileServer/incremental/membersChange/removeMoreAccessibleMethod/src/x/Concrete.java [new file with mode: 0644]
java/java-tests/testData/compileServer/incremental/membersChange/removeMoreAccessibleMethod/src/x/Concrete.java.new [new file with mode: 0644]
java/java-tests/testData/compileServer/incremental/membersChange/removeMoreAccessibleMethod/src/x/y/Client.java [new file with mode: 0644]
java/java-tests/testData/refactoring/introduceConstant/TailingErrorUnacceptableWholeLineSelection.java [new file with mode: 0644]
java/java-tests/testData/refactoring/introduceConstant/TailingErrorUnacceptableWholeLineSelection_after.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/GenerateEquals15Test.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/GenerateEqualsTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/GenerateEqualsTestCase.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/completion/HeavyNormalCompletionTest.groovy [moved from java/java-tests/testSrc/com/intellij/codeInsight/completion/HeavyNormalCompletionTest.java with 60% similarity]
java/java-tests/testSrc/com/intellij/codeInsight/completion/JavadocCompletionTest.java
java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java
java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk6Test.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingJdk7Test.java
java/java-tests/testSrc/com/intellij/codeInsight/daemon/indentGuide/IndentGuideTest.groovy [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/GraphInferenceHighlightingTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/Interface8MethodsHighlightingTest.java
java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/MethodRefHighlightingTest.java
java/java-tests/testSrc/com/intellij/codeInsight/daemon/quickFix/ChangeNewOperatorTypeTest.java
java/java-tests/testSrc/com/intellij/codeInsight/daemon/quickFix/CreateMethodFromUsageTest.java
java/java-tests/testSrc/com/intellij/codeInsight/daemon/quickFix/LightQuickFix15TestCase.java
java/java-tests/testSrc/com/intellij/codeInsight/daemon/quickFix/VariableTypeFromCallTest.java
java/java-tests/testSrc/com/intellij/psi/CoreJavaFileManagerTest.java [new file with mode: 0644]
java/java-tests/testSrc/com/intellij/refactoring/IntroduceConstantTest.java
java/java-tests/testSrc/com/intellij/refactoring/IntroduceParameterTest.java
java/java-tests/testSrc/com/intellij/refactoring/inline/InlineLocalTest.java
java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java
java/jdkAnnotations/java/text/annotations.xml
java/jsp-base-openapi/src/com/intellij/lang/jsp/JspVersion.java
jps/jps-builders/src/org/jetbrains/jps/builders/java/JavaBuilderUtil.java
jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/ClassRepr.java
jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Difference.java
jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Mappings.java
jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Proto.java
jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java
jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java
jps/jps-builders/src/org/jetbrains/jps/incremental/Utils.java
jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java
jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java
jps/jps-builders/src/org/jetbrains/jps/javac/JavacServer.java
jps/jps-builders/src/org/jetbrains/jps/javac/JavacServerBootstrap.java
jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager.java
jps/jps-builders/src/org/jetbrains/jps/javac/OptimizedFileManager17.java
jps/jps-builders/testSrc/org/jetbrains/ether/MemberChangeTest.java
jps/jps-builders/testSrc/org/jetbrains/jps/builders/rebuild/ArtifactRebuildTest.groovy
jps/lib/optimizedFileManager.jar
jps/model-impl/src/com/intellij/openapi/fileTypes/impl/IgnoredPatternSet.java
lib/jsr305.jar [new file with mode: 0644]
lib/netty-3.5.10.Final.jar [deleted file]
lib/netty-3.6.2.Final.jar [new file with mode: 0644]
lib/required_for_dist.txt
lib/src/netty-3.5.10.Final-sources.jar [deleted file]
lib/src/netty-3.6.2.Final-sources.jar [new file with mode: 0644]
native/MacLauncher/Launcher.m
native/fsNotifier/linux/fsnotifier.h
native/fsNotifier/linux/inotify.c
native/fsNotifier/linux/main.c
platform/core-api/src/com/intellij/openapi/application/Application.java
platform/core-api/src/com/intellij/openapi/vfs/DeprecatedVirtualFileSystem.java
platform/core-api/src/com/intellij/openapi/vfs/VfsUtilCore.java
platform/core-api/src/com/intellij/openapi/vfs/impl/BulkVirtualFileListenerAdapter.java [moved from platform/core-impl/src/com/intellij/openapi/vfs/impl/BulkVirtualFileListenerAdapter.java with 88% similarity]
platform/core-api/src/com/intellij/psi/search/GlobalSearchScope.java
platform/core-api/src/com/intellij/testFramework/LightVirtualFile.java
platform/core-api/src/com/intellij/ui/LayeredIcon.java
platform/core-impl/src/com/intellij/lang/impl/PsiBuilderAdapter.java
platform/core-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java
platform/core-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerContainerImpl.java
platform/extensions/src/com/intellij/openapi/extensions/Extensions.java
platform/extensions/testSrc/com/intellij/openapi/extensions/impl/ExtensionsComplexTest.java
platform/icons/src/icon.png
platform/icons/src/icon_128.png
platform/icons/src/icon_CE.png
platform/icons/src/icon_CE_128.png
platform/icons/src/icon_CEsmall.png
platform/icons/src/icon_CEsmall@2x.png
platform/icons/src/icon_CEwhite.png
platform/icons/src/icon_CEwhite@2x.png
platform/icons/src/icon_small.png
platform/icons/src/icon_small@2x.png
platform/icons/src/icon_white.png
platform/icons/src/icon_white@2x.png
platform/icons/src/idea.ico
platform/icons/src/idea_CE.ico
platform/icons/src/toolwindows/toolWindowStructure@2x.png [new file with mode: 0644]
platform/icons/src/toolwindows/toolWindowStructure@2x_dark.png [new file with mode: 0644]
platform/icons/src/toolwindows/toolWindowStructure_dark.png [new file with mode: 0644]
platform/lang-api/src/com/intellij/codeInsight/completion/PrioritizedLookupElement.java
platform/lang-api/src/com/intellij/codeInsight/daemon/EmptyResolveMessageProvider.java
platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java
platform/lang-api/src/com/intellij/ide/util/projectWizard/ProjectTemplateParameterFactory.java [moved from platform/lang-api/src/com/intellij/ide/util/projectWizard/WizardInputFieldFactory.java with 56% similarity]
platform/lang-api/src/com/intellij/ide/util/projectWizard/WizardInputField.java
platform/lang-api/src/com/intellij/ui/popup/util/ItemWrapper.java
platform/lang-api/src/com/intellij/ui/popup/util/SplitterItem.java
platform/lang-impl/src/com/intellij/application/options/InitialConfigurationDialog.java
platform/lang-impl/src/com/intellij/application/options/colors/ScopeColorsPageFactory.java
platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsPanel.form
platform/lang-impl/src/com/intellij/codeInsight/completion/ExplicitProximityWeigher.java [new file with mode: 0644]
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IndentsPass.java
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/DefaultHighlightingSettingProvider.java [new file with mode: 0644]
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightingSettingsPerFile.java
platform/lang-impl/src/com/intellij/codeInsight/editorActions/BackspaceHandler.java
platform/lang-impl/src/com/intellij/codeInsight/generation/CommentByLineCommentHandler.java
platform/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoComponent.java
platform/lang-impl/src/com/intellij/codeInsight/intention/impl/FileLevelIntentionComponent.java
platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionActionMetaData.java
platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/CompletionPreview.java
platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupCellRenderer.java
platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java
platform/lang-impl/src/com/intellij/codeInspection/DefaultHighlightVisitorBasedInspection.java
platform/lang-impl/src/com/intellij/codeInspection/ex/DescriptorProviderInspection.java
platform/lang-impl/src/com/intellij/conversion/impl/ConversionRunner.java
platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java
platform/lang-impl/src/com/intellij/find/editorHeaderActions/NextOccurrenceAction.java
platform/lang-impl/src/com/intellij/find/replaceInProject/ReplaceInProjectManager.java
platform/lang-impl/src/com/intellij/ide/actions/CopyReferenceAction.java
platform/lang-impl/src/com/intellij/ide/bookmarks/Bookmark.java
platform/lang-impl/src/com/intellij/ide/bookmarks/BookmarkItem.java
platform/lang-impl/src/com/intellij/ide/bookmarks/BookmarkManager.java
platform/lang-impl/src/com/intellij/ide/bookmarks/BookmarksFavoriteListProvider.java [new file with mode: 0644]
platform/lang-impl/src/com/intellij/ide/bookmarks/actions/EditBookmarkDescriptionAction.java
platform/lang-impl/src/com/intellij/ide/bookmarks/actions/ToggleBookmarkAction.java
platform/lang-impl/src/com/intellij/ide/bookmarks/actions/ToggleBookmarkWithMnemonicAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/AbstractFavoritesListProvider.java [new file with mode: 0644]
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesListNode.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesListProvider.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesListener.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesManager.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesPanel.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesProjectViewPane.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesRootNode.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeNodeDescriptor.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeStructure.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeUtil.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeViewPanel.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesViewSelectInTarget.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesViewTreeBuilder.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FileGroupingProjectNode.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/Flag.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/ImportUsagesAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/InvalidUsageNoteProjectNode.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/PercentDone.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/ProjectDefaultFavoriteListProvider.java [deleted file]
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/ProjectViewNodeWithChildrenList.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/TaskDefaultFavoriteListProvider.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/UsageFavoriteNodeProvider.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/UsageProjectTreeNode.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/UsageSerializable.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/WorkingSetSerializable.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/AddAllOpenFilesToFavorites.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/AddAllOpenFilesToNewFavoritesListAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/AddAllToFavoritesActionGroup.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/AddNewFavoritesListAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/AddToFavoritesAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/AddToFavoritesActionGroup.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/AddToFavoritesPopupAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/AddToNewFavoritesListAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/DeleteAllFavoritesListsButThisAction.java [deleted file]
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/DeleteFavoritesListAction.java [deleted file]
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/DeleteFromFavoritesAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/EditFavoritesAction.java [new file with mode: 0644]
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/FavoritesToolbarButtonAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/RenameFavoritesListAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/SendToFavoritesAction.java
platform/lang-impl/src/com/intellij/ide/favoritesTreeView/actions/SendToFavoritesGroup.java
platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java
platform/lang-impl/src/com/intellij/ide/ui/search/TraverseUIStarter.java
platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java
platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java
platform/lang-impl/src/com/intellij/lang/parser/GeneratedParserUtilBase.java [new file with mode: 0644]
platform/lang-impl/src/com/intellij/openapi/paths/PsiDynaReference.java
platform/lang-impl/src/com/intellij/profile/codeInspection/InspectionProjectProfileManager.java
platform/lang-impl/src/com/intellij/psi/impl/file/impl/PsiVFSListener.java
platform/lang-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java
platform/lang-impl/src/com/intellij/tools/BaseToolKeymapExtension.java
platform/lang-impl/src/com/intellij/tools/BaseToolManager.java
platform/lang-impl/src/com/intellij/tools/Tool.java
platform/lang-impl/src/com/intellij/tools/ToolEditorDialog.java
platform/lang-impl/src/com/intellij/tools/ToolKeymapExtension.java
platform/lang-impl/src/com/intellij/tools/ToolManager.java
platform/platform-api/src/com/intellij/ide/BrowserSettingsProvider.java
platform/platform-api/src/com/intellij/ide/XmlRpcServer.java
platform/platform-api/src/com/intellij/openapi/actionSystem/CommonShortcuts.java
platform/platform-api/src/com/intellij/openapi/diff/BinaryContent.java
platform/platform-api/src/com/intellij/openapi/diff/DiffContent.java
platform/platform-api/src/com/intellij/openapi/diff/DocumentContent.java
platform/platform-api/src/com/intellij/openapi/diff/FileContent.java
platform/platform-api/src/com/intellij/openapi/diff/FragmentContent.java
platform/platform-api/src/com/intellij/openapi/diff/SimpleContent.java
platform/platform-api/src/com/intellij/openapi/editor/IndentGuideDescriptor.java
platform/platform-api/src/com/intellij/openapi/editor/IndentsModel.java
platform/platform-api/src/com/intellij/openapi/options/ConfigurableEP.java
platform/platform-api/src/com/intellij/openapi/options/NonDefaultProjectConfigurable.java
platform/platform-api/src/com/intellij/openapi/options/SearchableConfigurable.java
platform/platform-api/src/com/intellij/openapi/progress/ProgressManager.java
platform/platform-api/src/com/intellij/openapi/ui/popup/util/PopupUtil.java
platform/platform-api/src/com/intellij/ui/CommonActionsPanel.java
platform/platform-api/src/com/intellij/ui/GuiUtils.java
platform/platform-api/src/com/intellij/ui/ListScrollingUtil.java
platform/platform-api/src/com/intellij/util/Alarm.java
platform/platform-api/src/com/intellij/util/net/IdeaWideAuthenticator.java
platform/platform-api/src/org/jetbrains/ide/HttpRequestHandler.java [new file with mode: 0644]
platform/platform-api/src/org/jetbrains/ide/WebServerManager.java
platform/platform-impl/src/com/intellij/ide/BrowserSettingsPanel.java
platform/platform-impl/src/com/intellij/ide/XmlRpcServerImpl.java
platform/platform-impl/src/com/intellij/ide/actions/OpenProjectFileChooserDescriptor.java
platform/platform-impl/src/com/intellij/ide/passwordSafe/impl/providers/masterKey/MasterKeyPasswordSafe.java
platform/platform-impl/src/com/intellij/ide/passwordSafe/ui/PasswordSafePromptDialog.java
platform/platform-impl/src/com/intellij/ide/plugins/AvailablePluginsManagerMain.java
platform/platform-impl/src/com/intellij/ide/plugins/PluginManager.java
platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.java
platform/platform-impl/src/com/intellij/ide/ui/AppearancePanel.form
platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/darcula.properties
platform/platform-impl/src/com/intellij/ide/ui/search/SearchUtil.java
platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java
platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ProjectStoreImpl.java
platform/platform-impl/src/com/intellij/openapi/diff/impl/DiffSideView.java
platform/platform-impl/src/com/intellij/openapi/diff/impl/mergeTool/MergeRequestImpl.java
platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java
platform/platform-impl/src/com/intellij/openapi/editor/impl/IndentsModelImpl.java
platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileChooserDialogImpl.java
platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/RootFileElement.java
platform/platform-impl/src/com/intellij/openapi/fileChooser/impl/FileTreeStructure.java
platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurableExtensionPointUtil.java
platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurablesGroupBase.java
platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java
platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateChecker.java
platform/platform-impl/src/com/intellij/openapi/vcs/changes/issueLinks/TreeNodePartListener.java
platform/platform-impl/src/com/intellij/openapi/vfs/ex/dummy/DummyFileSystem.java
platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerImpl.java
platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl.java
platform/platform-impl/src/com/intellij/openapi/vfs/impl/local/FileWatcher.java
platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/RefreshQueueImpl.java
platform/platform-impl/src/com/intellij/openapi/vfs/newvfs/RefreshSessionImpl.java
platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/RecentProjectPanel.java
platform/platform-impl/src/com/intellij/ui/AppUIUtil.java
platform/platform-impl/src/com/intellij/ui/BalloonImpl.java
platform/platform-impl/src/org/jetbrains/ide/WebServerManagerImpl.java
platform/platform-impl/src/org/jetbrains/io/HttpFileServerHandler.java [deleted file]
platform/platform-impl/src/org/jetbrains/io/Responses.java
platform/platform-impl/src/org/jetbrains/io/WebServer.java
platform/platform-main/src/com/intellij/idea/MainImpl.java
platform/platform-resources-en/src/messages/ActionsBundle.properties
platform/platform-resources-en/src/messages/IdeBundle.properties
platform/platform-resources-en/src/messages/ToolsBundle.properties
platform/platform-resources-en/src/messages/VcsBundle.properties
platform/platform-resources-en/src/messages/XmlBundle.properties
platform/platform-resources-en/src/search/synonyms.xml
platform/platform-resources/src/META-INF/LangExtensionPoints.xml
platform/platform-resources/src/META-INF/LangExtensions.xml
platform/platform-resources/src/META-INF/PlatformExtensionPoints.xml
platform/platform-resources/src/META-INF/PlatformExtensions.xml
platform/platform-resources/src/META-INF/PlatformLangPlugin.xml
platform/platform-resources/src/META-INF/PlatformPlugin.xml
platform/platform-resources/src/META-INF/VcsExtensionPoints.xml
platform/platform-resources/src/META-INF/VcsExtensions.xml
platform/platform-resources/src/META-INF/XmlPlugin.xml
platform/platform-resources/src/META-INF/xdebugger.xml
platform/platform-resources/src/idea/LangActions.xml
platform/platform-tests/testSrc/com/intellij/execution/GeneralCommandLineTest.java
platform/platform-tests/testSrc/com/intellij/openapi/vfs/local/FileWatcherTest.java
platform/platform-tests/testSrc/com/intellij/psi/util/NameUtilTest.java
platform/platform-tests/testSrc/com/intellij/util/StringBuilderSpinAllocatorTest.java
platform/projectModel-impl/src/com/intellij/openapi/module/impl/ModuleManagerImpl.java
platform/testFramework/src/com/intellij/testFramework/UsefulTestCase.java
platform/util-rt/src/com/intellij/BundleBase.java
platform/util/src/com/intellij/execution/process/UnixProcessManager.java
platform/util/src/com/intellij/openapi/util/BuildNumber.java
platform/util/src/com/intellij/openapi/util/JDOMUtil.java
platform/util/src/com/intellij/psi/codeStyle/MinusculeMatcher.java
platform/util/src/com/intellij/util/ObjectUtils.java
platform/util/src/com/intellij/util/PathMappingSettings.java
platform/util/src/com/intellij/util/PatternUtil.java
platform/util/src/com/intellij/util/messages/impl/MessageBusConnectionImpl.java
platform/util/src/com/intellij/util/xmlb/JDOMXIncluder.java
platform/util/testSrc/com/intellij/openapi/util/BuildNumberTest.java
platform/vcs-api/src/com/intellij/openapi/vcs/AbstractVcs.java
platform/vcs-api/src/com/intellij/openapi/vcs/VcsConfiguration.java
platform/vcs-impl/src/com/intellij/openapi/vcs/FilePathImpl.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowserFileNode.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/TreeModelBuilder.java
platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsDirectoryConfigurationPanel.java
platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsManagerConfigurable.java
platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsUpdateInfoScopeFilterConfigurable.java [new file with mode: 0644]
platform/vcs-impl/src/com/intellij/openapi/vcs/history/impl/VcsHistoryDialog.java
platform/vcs-impl/src/com/intellij/openapi/vcs/ui/VcsBalloonProblemNotifier.java
platform/vcs-impl/src/com/intellij/openapi/vcs/update/AbstractTreeNode.java
platform/vcs-impl/src/com/intellij/openapi/vcs/update/FileOrDirectoryTreeNode.java
platform/vcs-impl/src/com/intellij/openapi/vcs/update/FileTreeNode.java
platform/vcs-impl/src/com/intellij/openapi/vcs/update/GroupTreeNode.java
platform/vcs-impl/src/com/intellij/openapi/vcs/update/UpdateInfoTree.java
platform/vcs-impl/vcs-impl.iml
platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/ui/XBreakpointGroupingRule.java
platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/ui/XBreakpointsGroupingPriorities.java [moved from plugins/svn4idea/src/org/jetbrains/idea/svn/CopiesRefresh.java with 62% similarity]
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointItem.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/BreakpointItem.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/grouping/XBreakpointFileGroupingRule.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/grouping/XBreakpointGroupingByTypeRule.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/tree/BreakpointMasterDetailPopupBuilder.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/tree/BreakpointsCheckboxTree.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/tree/BreakpointsSimpleTree.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/tree/BreakpointsTreeCellRenderer.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/settings/DebuggerConfigurableProvider.java
plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties
plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/NoopMethodInAbstractClassInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/FallthruInSwitchStatementInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/errorhandling/ThrowsRuntimeExceptionInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/numeric/UnnecessaryExplicitNumericCastInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/performance/MethodMayBeStaticInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/ControlFlowUtils.java
plugins/InspectionGadgets/src/com/siyeh/ig/style/UnnecessaryThisInspection.java
plugins/InspectionGadgets/src/inspectionDescriptions/FallthruInSwitchStatement.html
plugins/InspectionGadgets/test/com/siyeh/igfixes/errorhandling/throws_runtime_exception/MoveThrows.after.java [new file with mode: 0644]
plugins/InspectionGadgets/test/com/siyeh/igfixes/errorhandling/throws_runtime_exception/MoveThrowsExistingComment.after.java [new file with mode: 0644]
plugins/InspectionGadgets/test/com/siyeh/igfixes/errorhandling/throws_runtime_exception/MoveThrowsExistingComment.java [new file with mode: 0644]
plugins/InspectionGadgets/test/com/siyeh/igfixes/errorhandling/throws_runtime_exception/RemoveThrows.after.java [new file with mode: 0644]
plugins/InspectionGadgets/test/com/siyeh/igfixes/errorhandling/throws_runtime_exception/RemoveThrows.java [new file with mode: 0644]
plugins/InspectionGadgets/test/com/siyeh/igfixes/errorhandling/throws_runtime_exception/moveThrows.java [new file with mode: 0644]
plugins/InspectionGadgets/test/com/siyeh/igtest/classlayout/noop_method_in_abstract_class/NoopMethodInAbstractClass.java [new file with mode: 0644]
plugins/InspectionGadgets/test/com/siyeh/igtest/classlayout/noop_method_in_abstract_class/expected.xml [new file with mode: 0644]
plugins/InspectionGadgets/test/com/siyeh/igtest/controlflow/fallthru_in_switch_statement/FallthruInSwitch.java [moved from plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/FallthruInSwithInspection.java with 63% similarity]
plugins/InspectionGadgets/test/com/siyeh/igtest/controlflow/fallthru_in_switch_statement/expected.xml [new file with mode: 0644]
plugins/InspectionGadgets/test/com/siyeh/igtest/numeric/unnecessary_explicit_numeric_cast/UnnecessaryExplicitNumericCast.java
plugins/InspectionGadgets/test/com/siyeh/igtest/numeric/unnecessary_explicit_numeric_cast/expected.xml
plugins/InspectionGadgets/test/com/siyeh/igtest/performance/method_may_be_static/A.java
plugins/InspectionGadgets/testsrc/com/siyeh/ig/classlayout/NoopMethodInAbstractClassInspectionTest.java [new file with mode: 0644]
plugins/InspectionGadgets/testsrc/com/siyeh/ig/controlflow/FallthruInSwitchStatementInspectionTest.java [new file with mode: 0644]
plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/errorhandling/ThrowsRuntimeExceptionInspectionFixTest.java [new file with mode: 0644]
plugins/InspectionGadgets/testsrc/com/siyeh/ig/performance/MethodMayBeStaticInspectionTest.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/ExpandToNormalAnnotationIntention.java
plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/ExpandToNormalAnnotationPredicate.java
plugins/IntentionPowerPak/test/com/siyeh/ipp/expandToNormal/AlreadyHasName.java [new file with mode: 0644]
plugins/IntentionPowerPak/test/com/siyeh/ipp/expandToNormal/MultiAttr.java [new file with mode: 0644]
plugins/IntentionPowerPak/test/com/siyeh/ipp/expandToNormal/MultiAttr_after.java [new file with mode: 0644]
plugins/IntentionPowerPak/test/com/siyeh/ipp/expandToNormal/OneAttr.java [new file with mode: 0644]
plugins/IntentionPowerPak/test/com/siyeh/ipp/expandToNormal/OneAttr_after.java [new file with mode: 0644]
plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/annotation/ExpandToNormalAnnotationIntentionTest.java [new file with mode: 0644]
plugins/android-designer/src/com/intellij/android/designer/designSurface/feedbacks/TextFeedback.java [new file with mode: 0644]
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/AbstractFlowBaseOperation.java [new file with mode: 0644]
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/FrameLayoutOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/LinearLayoutOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/RelativeLayoutOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/actions/LayoutMarginOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/actions/LayoutSpanOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/actions/RelativeLayoutResizeOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/actions/ResizeOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/caption/HorizontalCaptionFlowBaseOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/caption/VerticalCaptionFlowBaseOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/flow/FlowBaseOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/grid/GridOperation.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/relative/AutoResizeSnapPoint.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/relative/AutoSnapPoint.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/relative/BaselineSnapPoint.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/relative/ComponentSnapPoint.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/relative/ContainerSnapPoint.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/relative/ResizeComponentSnapPoint.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/relative/ResizeContainerSnapPoint.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/relative/SnapPoint.java
plugins/android-designer/src/com/intellij/android/designer/designSurface/layout/relative/WrapSizeSnapPoint.java
plugins/ant/src/com/intellij/lang/ant/dom/AntDomFileReference.java
plugins/copyright/src/META-INF/plugin.xml
plugins/copyright/src/com/maddyhome/idea/copyright/ui/ProjectSettingsPanel.java
plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/cvsstatuses/CvsChangeProvider.java
plugins/devkit/resources/META-INF/plugin.xml
plugins/devkit/src/actions/ToggleHighlightingMarkupAction.java
plugins/devkit/src/dom/Component.java
plugins/devkit/src/dom/ExtensionPoint.java
plugins/devkit/src/dom/With.java [new file with mode: 0644]
plugins/devkit/src/dom/impl/PluginFieldNameConverter.java [new file with mode: 0644]
plugins/devkit/src/inspections/quickfix/RegisterExtensionFix.java [new file with mode: 0644]
plugins/devkit/src/inspections/quickfix/RegisterExtensionFixProvider.java [new file with mode: 0644]
plugins/devkit/src/inspections/quickfix/RegisterInspectionFix.java
plugins/devkit/src/inspections/quickfix/RegisterInspectionFixProvider.java [deleted file]
plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/ReplacePolicy.java
plugins/git4idea/src/git4idea/commands/GitTask.java
plugins/git4idea/src/git4idea/jgit/GitHttpAdapter.java
plugins/git4idea/tests/git4idea/config/GitExecutableDetectorWindowsTest.groovy
plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleToolWindowPanel.java
plugins/gradle/src/org/jetbrains/plugins/gradle/diff/GradleDiffUtil.java
plugins/gradle/src/org/jetbrains/plugins/gradle/diff/library/GradleLibraryStructureChangesCalculator.java
plugins/gradle/src/org/jetbrains/plugins/gradle/diff/project/GradleProjectStructureChangesCalculator.java
plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleMovedJarsPostProcessor.java
plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleOutdatedLibraryVersionPostProcessor.java
plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesDetector.java
plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesModel.java
plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPostProcessor.java
plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureTreeModel.java
plugins/gradle/testSources/org/jetbrains/plugins/gradle/sync/GradleOutdatedLibraryVersionTest.groovy
plugins/gradle/testSources/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesModelTest.groovy
plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/GradleProjectBuilder.groovy
plugins/groovy/src/org/jetbrains/plugins/groovy/GroovyBundle.java
plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/GrKeywordAndDeclarationHighlighter.java
plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/control/GroovyFallthroughInspection.java
plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/untypedUnresolvedAccess/GrUnresolvedAccessInspection.java
plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyCodeFragmentFactory.java
plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/GroovyDslFileIndex.java
plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java
plugins/groovy/src/org/jetbrains/plugins/groovy/springloaded/SpringLoadedPositionManager.java
plugins/groovy/test/org/jetbrains/plugins/groovy/inspections/GroovyFallthroughInspectionTest.groovy [new file with mode: 0644]
plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/introduceParameter/IntroduceParameterTest.groovy
plugins/hg4idea/resources/org/zmlx/hg4idea/HgVcsMessages.properties
plugins/hg4idea/src/org/zmlx/hg4idea/HgVFSListener.java
plugins/hg4idea/src/org/zmlx/hg4idea/command/HgCommitCommand.java
plugins/hg4idea/src/org/zmlx/hg4idea/command/HgRemoveCommand.java
plugins/hg4idea/src/org/zmlx/hg4idea/command/HgRevisionsCommand.java
plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgCachingCommitedChangesProvider.java
plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgHistoryProvider.java
plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgMergeProvider.java
plugins/hg4idea/src/org/zmlx/hg4idea/provider/annotate/HgAnnotationProvider.java
plugins/hg4idea/src/org/zmlx/hg4idea/provider/update/HgConflictResolver.java
plugins/javaFX/resources/inspectionDescriptions/JavaFxDefaultTag.html [new file with mode: 0644]
plugins/javaFX/src/META-INF/plugin.xml
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/FxmlConstants.java
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxCommonClassNames.java
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxFileTypeFactory.java
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFxPsiUtil.java
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/codeInsight/inspections/JavaFxDefaultTagInspection.java [new file with mode: 0644]
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/codeInsight/inspections/UnwrapTagFix.java [new file with mode: 0644]
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxClassBackedElementDescriptor.java
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/descriptors/JavaFxPropertyAttributeDescriptor.java
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/FxmlReferencesContributor.java
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxAnnotator.java
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxComponentIdReferenceProvider.java
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxScopeEnlager.java [new file with mode: 0644]
plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxTagNameReference.java
plugins/javaFX/testData/completion/expressionBinding.fxml [new file with mode: 0644]
plugins/javaFX/testData/completion/expressionBinding_after.fxml [new file with mode: 0644]
plugins/javaFX/testData/highlighting/expressionBinding.fxml [new file with mode: 0644]
plugins/javaFX/testData/highlighting/propertyWithoutField.fxml [new file with mode: 0644]
plugins/javaFX/testData/highlighting/readOnly.fxml
plugins/javaFX/testData/highlighting/s1.js [new file with mode: 0644]
plugins/javaFX/testData/highlighting/scriptSource.fxml [new file with mode: 0644]
plugins/javaFX/testData/inspections/defaultTag/children.fxml [new file with mode: 0644]
plugins/javaFX/testData/inspections/defaultTag/children_after.fxml [new file with mode: 0644]
plugins/javaFX/testData/inspections/defaultTag/emptyChildren.fxml [new file with mode: 0644]
plugins/javaFX/testData/inspections/defaultTag/emptyChildren_after.fxml [new file with mode: 0644]
plugins/javaFX/testData/inspections/defaultTag/stylesheets.fxml [new file with mode: 0644]
plugins/javaFX/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXDefaultTagInspectionTest.java [new file with mode: 0644]
plugins/javaFX/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXHighlightingTest.java
plugins/javaFX/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFxCompletionTest.java
plugins/junit_rt/src/com/intellij/junit4/JUnit4TestResultsSender.java
plugins/maven/maven-server-api/src/org/jetbrains/idea/maven/model/MavenArtifact.java
plugins/maven/maven3-server-impl/src/org/jetbrains/idea/maven/server/Maven3ServerEmbedderImpl.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/MavenPropertyResolver.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/references/MavenPropertyPsiReference.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/EditMavenPropertyDialog.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenExecutionOptions.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenExternalParameters.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenDefaultModifiableModelsProvider.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenModuleImporter.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenProjectImporter.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenUIModifiableModelsProvider.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/configurers/MavenAnnotationProcessorConfigurer.java [new file with mode: 0644]
plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/configurers/MavenCompilerConfigurer.java [new file with mode: 0644]
plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/configurers/MavenEncodingConfigurer.java [new file with mode: 0644]
plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/configurers/MavenModuleConfigurer.java [new file with mode: 0644]
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenGeneralConfigurable.form
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenGeneralConfigurable.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenGeneralSettings.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProject.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsTree.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenServerManager.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenMergingUpdateQueue.java
plugins/maven/src/main/java/org/jetbrains/idea/maven/wizards/MavenProjectBuilder.java
plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/AnnotationProcessorImportingTest.groovy
plugins/properties/src/com/intellij/lang/properties/PropertiesHighlighter.java
plugins/properties/src/com/intellij/lang/properties/references/PropertyReferenceBase.java
plugins/properties/src/com/intellij/lang/properties/xml/XmlPropertiesIndex.java
plugins/properties/testSrc/com/intellij/lang/properties/editor/ResourceBundleUtilTest.java
plugins/spellchecker/src/com/intellij/spellchecker/english.dic
plugins/spellchecker/src/com/intellij/spellchecker/inspections/PlainTextSplitter.java
plugins/spellchecker/src/com/intellij/spellchecker/inspections/TextSplitter.java
plugins/spellchecker/src/com/intellij/spellchecker/inspections/WordSplitter.java
plugins/spellchecker/testData/inspection/xmlWithMistakes/test.jsp
plugins/svn4idea/lib/sqljet.jar
plugins/svn4idea/lib/sqljetsrc.zip
plugins/svn4idea/lib/svnkit-javahl.jar
plugins/svn4idea/lib/svnkit-javahl16.zip
plugins/svn4idea/lib/svnkit.jar
plugins/svn4idea/lib/svnkitsrc.zip
plugins/svn4idea/lib/trilead.jar
plugins/svn4idea/src/org/jetbrains/idea/svn/DefendedCopiesRefreshProxy.java [deleted file]
plugins/svn4idea/src/org/jetbrains/idea/svn/NestedCopiesBuilder.java
plugins/svn4idea/src/org/jetbrains/idea/svn/ReentranceDefence.java [deleted file]
plugins/svn4idea/src/org/jetbrains/idea/svn/SSLExceptionsHelper.java [new file with mode: 0644]
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationManager.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationNotifier.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProvider.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnChangeProviderContext.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnCopiesRefreshManager.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnFileUrlMappingImpl.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnUtil.java
plugins/svn4idea/src/org/jetbrains/idea/svn/SvnVcs.java
plugins/svn4idea/src/org/jetbrains/idea/svn/actions/ShareProjectAction.java
plugins/svn4idea/src/org/jetbrains/idea/svn/checkout/CheckoutEventHandler.java
plugins/svn4idea/src/org/jetbrains/idea/svn/checkout/SvnCheckoutProvider.java
plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CopiesPanel.java
plugins/svn4idea/src/org/jetbrains/idea/svn/history/MergeInfoUpdatesListener.java
plugins/svn4idea/testSource/org/jetbrains/idea/SvnTestCase.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnAuthenticationTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnCommittedViewTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnExternalCommitNoticedTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnExternalTests.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnProtocolsTest.java [new file with mode: 0644]
plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnTestInteractiveAuthentication.java [new file with mode: 0644]
plugins/svn4idea/testSource/org/jetbrains/idea/svn16/SvnAnnotationIsClosedTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn16/SvnCommittedViewTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn16/SvnExternalCommitNoticedTest.java
plugins/svn4idea/testSource/org/jetbrains/idea/svn16/SvnExternalTests.java
plugins/ui-designer-core/src/com/intellij/designer/componentTree/ComponentTreeBuilder.java
plugins/ui-designer-core/src/com/intellij/designer/componentTree/TreeEditOperation.java
plugins/ui-designer-core/src/com/intellij/designer/componentTree/TreeEditableArea.java
plugins/ui-designer-core/src/com/intellij/designer/designSurface/AbstractFlowBaseOperation.java [moved from plugins/ui-designer-core/src/com/intellij/designer/designSurface/FlowBaseOperation.java with 91% similarity]
plugins/ui-designer-core/src/com/intellij/designer/designSurface/DesignerEditorPanel.java
plugins/ui-designer-core/src/com/intellij/designer/designSurface/RootView.java
plugins/ui-designer-core/src/com/intellij/designer/designSurface/feedbacks/AbstractTextFeedback.java [moved from plugins/ui-designer-core/src/com/intellij/designer/designSurface/feedbacks/TextFeedback.java with 61% similarity]
plugins/ui-designer-core/src/com/intellij/designer/designSurface/feedbacks/LineMarginBorder.java
plugins/ui-designer-core/src/com/intellij/designer/designSurface/tools/DragTracker.java
plugins/ui-designer-core/src/com/intellij/designer/model/MetaModel.java
plugins/ui-designer-core/src/com/intellij/designer/model/RadComponent.java
plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/impl/XsltReferenceContributor.java
plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/impl/references/ModeReference.java
plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/impl/references/PrefixReference.java
plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/impl/references/TemplateReference.java
resources/src/META-INF/IdeaPlugin.xml
resources/src/idea/RichPlatformPlugin.xml
xml/dom-impl/src/com/intellij/util/xml/impl/DomApplicationComponent.java
xml/dom-impl/src/com/intellij/util/xml/impl/GenericDomValueReference.java
xml/dom-impl/src/com/intellij/util/xml/impl/ImplementationClassCache.java
xml/dom-impl/src/com/intellij/util/xml/impl/SofterCache.java [new file with mode: 0644]
xml/dom-openapi/src/com/intellij/util/xml/converters/DelimitedListConverter.java
xml/dom-openapi/src/com/intellij/util/xml/converters/QuotedValueConverter.java
xml/dom-tests/tests/com/intellij/util/xml/DomHardCoreTestCase.java
xml/dom-tests/tests/com/intellij/util/xml/DomTestCase.java
xml/dom-tests/tests/com/intellij/util/xml/stubs/DomStubTest.java
xml/impl/src/com/intellij/codeInsight/daemon/XmlErrorMessages.java
xml/impl/src/com/intellij/codeInsight/daemon/impl/analysis/encoding/XmlEncodingReference.java
xml/impl/src/com/intellij/codeInsight/template/emmet/EmmetParser.java
xml/impl/src/com/intellij/codeInsight/template/emmet/XmlEmmetParser.java [new file with mode: 0644]
xml/impl/src/com/intellij/codeInsight/template/emmet/ZenCodingTemplate.java
xml/impl/src/com/intellij/codeInsight/template/emmet/ZenCodingUtil.java
xml/impl/src/com/intellij/codeInsight/template/emmet/filters/BemEmmetFilter.java
xml/impl/src/com/intellij/codeInsight/template/emmet/generators/LoremGenerator.java
xml/impl/src/com/intellij/codeInsight/template/emmet/generators/XmlZenCodingGenerator.java
xml/impl/src/com/intellij/codeInsight/template/emmet/generators/XmlZenCodingGeneratorImpl.java
xml/impl/src/com/intellij/codeInsight/template/emmet/generators/ZenCodingGenerator.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/AddOperationNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/ClimbUpOperationNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/FilterNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/GenerationNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/LoremNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/MoreOperationNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/MulOperationNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/TemplateNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/TextNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/UnaryMulOperationNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/ZenCodingNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/nodes/ZenEmptyNode.java
xml/impl/src/com/intellij/codeInsight/template/emmet/tokens/TemplateToken.java
xml/impl/src/com/intellij/ide/browsers/BrowsersConfiguration.java
xml/impl/src/com/intellij/ide/browsers/OpenFileInBrowserAction.java
xml/impl/src/com/intellij/ide/browsers/OpenUrlHyperlinkInfo.java
xml/impl/src/com/intellij/ide/browsers/UrlOpener.java
xml/impl/src/com/intellij/ide/browsers/WebBrowsersPanel.java
xml/impl/src/com/intellij/ide/browsers/impl/BrowserConfigurationHelper.java [new file with mode: 0644]
xml/impl/src/com/intellij/ide/browsers/impl/BrowserSettingsProviderImpl.java [moved from xml/impl/src/com/intellij/ide/browsers/BrowserSettingsProviderImpl.java with 74% similarity]
xml/impl/src/com/intellij/ide/browsers/impl/DefaultUrlOpener.java
xml/impl/src/com/intellij/javaee/ExternalResourceConfigurable.java
xml/impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/DtdReferencesProvider.java
xml/impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/SchemaReferencesProvider.java
xml/impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/URLReference.java
xml/impl/src/com/intellij/xml/util/AnchorReference.java
xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/PatternReference.java
xml/relaxng/src/org/intellij/plugins/relaxNG/compact/psi/impl/RncNameImpl.java
xml/relaxng/src/org/intellij/plugins/relaxNG/references/PrefixReferenceProvider.java
xml/relaxng/src/org/intellij/plugins/relaxNG/xml/dom/impl/DefinitionReference.java

index 444a31a8b67ce4ea2c652a22fc08046acd80ec01..c40eeae6772cc97ed51da1dfe718123acf602a51 100644 (file)
@@ -24,6 +24,8 @@
       <scope name="runtime.classes" level="WARNING" enabled="true" />
     </inspection_tool>
     <inspection_tool class="BadExpressionStatementJS" enabled="false" level="WARNING" enabled_by_default="false" />
+    <inspection_tool class="BeforeClassOrAfterClassIsPublicStaticVoidNoArg" enabled="true" level="WARNING" enabled_by_default="true" />
+    <inspection_tool class="BeforeOrAfterIsPublicVoidNoArg" enabled="true" level="WARNING" enabled_by_default="true" />
     <inspection_tool class="BindingAnnotationWithoutInject" enabled="false" level="WARNING" enabled_by_default="false" />
     <inspection_tool class="BooleanMethodIsAlwaysInverted" enabled="false" level="WARNING" enabled_by_default="false" />
     <inspection_tool class="BuildoutUnresolvedPartInspection" enabled="false" level="WARNING" enabled_by_default="false" />
index 3f7f2456d235e855916c15e08409a95828609801..d8e0e9e43904ea197415f04c0bc77137c62d4bf9 100644 (file)
@@ -4,6 +4,42 @@
       <root url="jar://$PROJECT_DIR$/lib/groovy-all-2.0.6.jar!/" />
     </CLASSES>
     <JAVADOC />
-    <SOURCES />
+    <SOURCES>
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-json/src/main/groovy" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-json/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-test/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-xml/src/test/groovy" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-xml/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-servlet/src/test/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-servlet/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-console/src/main/groovy" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-bsf/src/test/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-bsf/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-groovysh/src/main/groovy" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-templates/src/test/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-templates/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-sql/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-swing/src/test/groovy" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-swing/src/main/groovy" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-swing/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-groovydoc/src/test/groovy" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-groovydoc/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-testng/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-jsr223/src/test/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-jsr223/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-jmx/src/test/groovy" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-jmx/src/test/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-jmx/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-ant/src/test/groovy" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-ant/src/test-resources" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/subprojects/groovy-ant/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/benchmark/bench" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/src/tck/src" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/src/test" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/src/test-resources/stubgenerator/propertyUsageFromJava" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/src/test-resources/stubgenerator/circularLanguageReference" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/src/examples" />
+      <root url="jar://$PROJECT_DIR$/lib/src/groovy-src-2.0.6.zip!/groovy-2.0.6/src/main" />
+    </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 5a8873386c4934e0dae3b88c24975997d8172318..e0d902f1d7e8181dd8199f879a50f8127e23ecdd 100644 (file)
@@ -1,11 +1,11 @@
 <component name="libraryTable">
   <library name="Netty">
     <CLASSES>
-      <root url="jar://$PROJECT_DIR$/lib/netty-3.5.10.Final.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/netty-3.6.2.Final.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$PROJECT_DIR$/lib/src/netty-3.5.10.Final-sources.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/src/netty-3.6.2.Final-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 355cc42fcd216ea9e0920059ee32b76e4574d713..6fa1ddeb73d2865b91875db05e3d3f1dee784ba7 100644 (file)
@@ -19,6 +19,7 @@
     <orderEntry type="module" module-name="relaxng" scope="RUNTIME" />
     <orderEntry type="module" module-name="spellchecker" scope="RUNTIME" />
     <orderEntry type="module" module-name="xdebugger-impl" scope="RUNTIME" />
+    <orderEntry type="module" module-name="resources" scope="TEST" />
   </component>
 </module>
 
index ae16a211832995b44c8d3288642b9621078a41cb..ca97297ba153d721380d4fc1bec795ffedb28e96 100644 (file)
@@ -1,6 +1,7 @@
 <idea-plugin>
   <extensionPoints>
     <extensionPoint name="regExpLanguageHost" beanClass="com.intellij.openapi.util.ClassExtensionPoint"/>
+    <extensionPoint name="regExpPropertiesProvider" beanClass="com.intellij.lang.LanguageExtensionPoint"/>
   </extensionPoints>
   <extensions defaultExtensionNs="com.intellij">
     <lang.documentationProvider language="RegExp" implementationClass="org.intellij.lang.regexp.RegExpDocumentationProvider"/>
diff --git a/RegExpSupport/src/org/intellij/lang/regexp/DefaultRegExpPropertiesProvider.java b/RegExpSupport/src/org/intellij/lang/regexp/DefaultRegExpPropertiesProvider.java
new file mode 100644 (file)
index 0000000..b0e6e88
--- /dev/null
@@ -0,0 +1,151 @@
+package org.intellij.lang.regexp;
+
+import com.intellij.openapi.util.text.StringUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+public final class DefaultRegExpPropertiesProvider {
+  private static final DefaultRegExpPropertiesProvider INSTANCE = new DefaultRegExpPropertiesProvider();
+
+  public static DefaultRegExpPropertiesProvider getInstance() {
+    return INSTANCE;
+  }
+
+  private final String[][] myPropertyNames = {
+          { "Cn", "UNASSIGNED" },
+          { "Lu", "UPPERCASE_LETTER" },
+          { "Ll", "LOWERCASE_LETTER" },
+          { "Lt", "TITLECASE_LETTER" },
+          { "Lm", "MODIFIER_LETTER" },
+          { "Lo", "OTHER_LETTER" },
+          { "Mn", "NON_SPACING_MARK" },
+          { "Me", "ENCLOSING_MARK" },
+          { "Mc", "COMBINING_SPACING_MARK" },
+          { "Nd", "DECIMAL_DIGIT_NUMBER" },
+          { "Nl", "LETTER_NUMBER" },
+          { "No", "OTHER_NUMBER" },
+          { "Zs", "SPACE_SEPARATOR" },
+          { "Zl", "LINE_SEPARATOR" },
+          { "Zp", "PARAGRAPH_SEPARATOR" },
+          { "Cc", "CNTRL" },
+          { "Cf", "FORMAT" },
+          { "Co", "PRIVATE USE" },
+          { "Cs", "SURROGATE" },
+          { "Pd", "DASH_PUNCTUATION" },
+          { "Ps", "START_PUNCTUATION" },
+          { "Pe", "END_PUNCTUATION" },
+          { "Pc", "CONNECTOR_PUNCTUATION" },
+          { "Po", "OTHER_PUNCTUATION" },
+          { "Sm", "MATH_SYMBOL" },
+          { "Sc", "CURRENCY_SYMBOL" },
+          { "Sk", "MODIFIER_SYMBOL" },
+          { "So", "OTHER_SYMBOL" },
+          { "L", "LETTER" },
+          { "M", "MARK" },
+          { "N", "NUMBER" },
+          { "Z", "SEPARATOR" },
+          { "C", "CONTROL" },
+          { "P", "PUNCTUATION" },
+          { "S", "SYMBOL" },
+          { "LD", "LETTER_OR_DIGIT" },
+          { "L1", "Latin-1" },
+          { "all", "ALL" },
+          { "ASCII", "ASCII" },
+          { "Alnum", "Alphanumeric characters" },
+          { "Alpha", "Alphabetic characters" },
+          { "Blank", "Space and tab characters" },
+          { "Cntrl", "Control characters" },
+          { "Digit", "Numeric characters" },
+          { "Graph", "printable and visible" },
+          { "Lower", "Lower-case alphabetic" },
+          { "Print", "Printable characters" },
+          { "Punct", "Punctuation characters" },
+          { "Space", "Space characters" },
+          { "Upper", "Upper-case alphabetic" },
+          { "XDigit", "hexadecimal digits" },
+          { "javaLowerCase", },
+          { "javaUpperCase", },
+          { "javaTitleCase", },
+          { "javaDigit", },
+          { "javaDefined", },
+          { "javaLetter", },
+          { "javaLetterOrDigit", },
+          { "javaJavaIdentifierStart", },
+          { "javaJavaIdentifierPart", },
+          { "javaUnicodeIdentifierStart", },
+          { "javaUnicodeIdentifierPart", },
+          { "javaIdentifierIgnorable", },
+          { "javaSpaceChar", },
+          { "javaWhitespace", },
+          { "javaISOControl", },
+          { "javaMirrored", },
+  };
+
+  private final String[][] myCharacterClasses = {
+    {"d", "digit: [0-9]"},
+    {"D", "nondigit: [^0-9]"},
+    {"s", "whitespace [ \\t\\n\\x0B\\f\\r]"},
+    {"S", "non-whitespace [^\\s]"},
+    {"w", "word character [a-zA-Z_0-9]"},
+    {"W", "nonword character [^\\w]"},
+    {"b", "word boundary"},
+    {"B", "non-word boundary"},
+    {"A", "beginning of the input"},
+    {"G", "end of the previous match"},
+    {"Z", "end of the input but for the final terminator, if any"},
+    {"z", "end of input"},
+    {"Q", "Nothing, but quotes all characters until \\E"},
+    {"E", " \tNothing, but ends quoting started by \\Q"},
+    {"t", "tab character ('\\u0009')"},
+    {"n", "newline (line feed) character ('\\u000A')"},
+    {"r", "carriage-return character ('\\u000D')"},
+    {"f", "form-feed character ('\\u000C')"},
+    {"a", "alert (bell) character ('\\u0007')"},
+    {"e", "escape character ('\\u001B')"}
+  };
+
+  private DefaultRegExpPropertiesProvider() {
+  }
+
+  public boolean isValidCategory(@NotNull String category) {
+      if (category.startsWith("In")) {
+          try {
+              return Character.UnicodeBlock.forName(category.substring(2)) != null;
+          } catch (IllegalArgumentException e) {
+              return false;
+          }
+      }
+      if (category.startsWith("Is")) {
+          category = category.substring(2);
+      }
+      for (String[] name : myPropertyNames) {
+          if (name[0].equals(category)) {
+              return true;
+          }
+      }
+      return false;
+  }
+
+  @Nullable
+  public String getPropertyDescription(@Nullable final String name) {
+    if (StringUtil.isEmptyOrSpaces(name)) {
+      return null;
+    }
+    for (String[] stringArray : myPropertyNames) {
+      if (stringArray[0].equals(name)) {
+        return stringArray.length > 1 ? stringArray[1] : stringArray[0];
+      }
+    }
+    return null;
+  }
+
+  @NotNull
+  public String[][] getAllKnownProperties() {
+    return myPropertyNames;
+  }
+
+  @NotNull
+  public String[][] getKnownCharacterClasses() {
+    return myCharacterClasses;
+  }
+}
index 2a10039ba12bdb927f5ad7eef0b550d938788918..7f92413b8f5740d4a101d088e55dd0c583be442e 100644 (file)
@@ -24,5 +24,6 @@ public enum RegExpCapability {
   NESTED_CHARACTER_CLASSES,
   OCTAL_NO_LEADING_ZERO,
   OMIT_NUMBERS_IN_QUANTIFIERS,
-  COMMENT_MODE
+  COMMENT_MODE,
+  ALLOW_HEX_DIGIT_CLASS,
 }
index 15832dd473d922238bdaa52520b5b158bf683e7d..51f1bd83ba04a1b3d4a2cc0fe11e9a1b91830a74 100644 (file)
@@ -25,7 +25,6 @@ import com.intellij.psi.PsiElement;
 import com.intellij.util.PlatformIcons;
 import com.intellij.util.ProcessingContext;
 import com.intellij.util.ui.EmptyIcon;
-import org.intellij.lang.regexp.psi.impl.RegExpPropertyImpl;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
@@ -36,7 +35,7 @@ import static com.intellij.patterns.PlatformPatterns.psiElement;
 /**
  * @author vnikolaenko
  */
-public class RegExpCompletionContributor extends CompletionContributor {
+public final class RegExpCompletionContributor extends CompletionContributor {
   private static final Icon emptyIcon = new EmptyIcon(PlatformIcons.PROPERTY_ICON.getIconWidth(), PlatformIcons.PROPERTY_ICON.getIconHeight());
 
   public RegExpCompletionContributor() {
@@ -91,7 +90,7 @@ public class RegExpCompletionContributor extends CompletionContributor {
     public void addCompletions(@NotNull final CompletionParameters parameters,
                                final ProcessingContext context,
                                @NotNull final CompletionResultSet result) {
-      for (String[] stringArray : RegExpPropertyImpl.PROPERTY_NAMES) {
+      for (String[] stringArray : RegExpLanguageHosts.getInstance().getAllKnownProperties(parameters.getPosition())) {
         result.addElement(
           TailTypeDecorator.withTail(createLookupElement(stringArray[0], null, emptyIcon), TailType.createSimpleTailType('}')));
       }
@@ -103,7 +102,7 @@ public class RegExpCompletionContributor extends CompletionContributor {
     public void addCompletions(@NotNull final CompletionParameters parameters,
                                final ProcessingContext context,
                                @NotNull final CompletionResultSet result) {
-      for (String[] stringArray : RegExpPropertyImpl.PROPERTY_NAMES) {
+      for (String[] stringArray : RegExpLanguageHosts.getInstance().getAllKnownProperties(parameters.getPosition())) {
         addLookupElement(result, "{" + stringArray[0] + "}", stringArray.length > 1 ? stringArray[1]:null, PlatformIcons.PROPERTY_ICON);
       }
     }
@@ -113,20 +112,13 @@ public class RegExpCompletionContributor extends CompletionContributor {
 
     public void addCompletions(@NotNull final CompletionParameters parameters,
                                final ProcessingContext context,
-                               @NotNull final CompletionResultSet result) {
-      @NonNls String[] completions = {"d", "D", "s", "S", "w", "W", "b", "B", "A", "G", "Z", "z", "Q", "E", "t", "n", "r", "f", "a", "e"};
-      @NonNls String[] completionsTypes = {"digit: [0-9]", "nondigit: [^0-9]", "whitespace [ \\t\\n\\x0B\\f\\r]", "non-whitespace [^\\s]",
-        "word character [a-zA-Z_0-9]", "nonword character [^\\w]", "word boundary", "non-word boundary", "beginning of the input",
-        "end of the previous match", "end of the input but for the final terminator, if any", "end of input",
-        "Nothing, but quotes all characters until \\E", " \tNothing, but ends quoting started by \\Q", "tab character ('\\u0009')",
-        "newline (line feed) character ('\\u000A')", "carriage-return character ('\\u000D')", "form-feed character ('\\u000C')",
-        "alert (bell) character ('\\u0007')", "escape character ('\\u001B')"};
-      
-      for (int i = 0; i < completions.length; ++i) {
-        addLookupElement(result, completions[i], completionsTypes[i], emptyIcon);
+                               @NotNull final CompletionResultSet result)
+    {
+      for (final String[] completion : RegExpLanguageHosts.getInstance().getKnownCharacterClasses(parameters.getPosition())) {
+        addLookupElement(result, completion[0], completion[1], emptyIcon);
       }
 
-      for (String[] stringArray : RegExpPropertyImpl.PROPERTY_NAMES) {
+      for (String[] stringArray : RegExpLanguageHosts.getInstance().getAllKnownProperties(parameters.getPosition())) {
         addLookupElement(result, "p{" + stringArray[0] + "}", stringArray.length > 1? stringArray[1]:null, PlatformIcons.PROPERTY_ICON);
       }
     }
index 2b570cfae0e36c35debd481544303a0024ebfa01..7f1da1937ee428462f05225a4d834e89882316da 100644 (file)
@@ -18,17 +18,15 @@ package org.intellij.lang.regexp;
 import com.intellij.lang.ASTNode;
 import com.intellij.lang.documentation.AbstractDocumentationProvider;
 import com.intellij.psi.PsiElement;
-import com.intellij.psi.PsiManager;
 import org.intellij.lang.regexp.psi.RegExpElement;
 import org.intellij.lang.regexp.psi.RegExpGroup;
 import org.intellij.lang.regexp.psi.RegExpProperty;
-import org.intellij.lang.regexp.psi.impl.RegExpPropertyImpl;
 import org.jetbrains.annotations.Nullable;
 
 /**
  * @author vnikolaenko
  */
-public class RegExpDocumentationProvider extends AbstractDocumentationProvider {
+public final class RegExpDocumentationProvider extends AbstractDocumentationProvider {
   @Override
   @Nullable
   public String generateDoc(PsiElement element, @Nullable PsiElement originalElement) {
@@ -36,14 +34,12 @@ public class RegExpDocumentationProvider extends AbstractDocumentationProvider {
       final RegExpProperty prop = (RegExpProperty)element;
       final ASTNode node = prop.getCategoryNode();
       if (node != null) {
-        final String elementName = node.getText();
-        for (String[] stringArray : RegExpPropertyImpl.PROPERTY_NAMES) {
-          if (stringArray[0].equals(elementName)) {
-            if (prop.isNegated()) {
-              return "Property block stands for characters not matching " + stringArray[1];
-            } else {
-              return "Property block stands for " + "" + stringArray[1];
-            }
+        final String description = RegExpLanguageHosts.getInstance().getPropertyDescription(node.getPsi(), node.getText());
+        if (description != null) {
+          if (prop.isNegated()) {
+            return "Property block stands for characters not matching " + description;
+          } else {
+            return "Property block stands for " + description;
           }
         }
       }
@@ -51,39 +47,6 @@ public class RegExpDocumentationProvider extends AbstractDocumentationProvider {
     return null;
   }
 
-  @Override
-  public PsiElement getDocumentationElementForLookupItem(PsiManager psiManager, Object object, PsiElement element) {
-    /*
-    if (element instanceof RegExpProperty) {
-      final String s;
-      if (object instanceof PresentableLookupValue) {
-        s = ((PresentableLookupValue)object).getPresentation();
-      } else if (object instanceof String) {
-        s = (String)object;
-      } else {
-        return null;
-      }
-      final Project project = element.getProject();
-      final JavaPsiFacade f = JavaPsiFacade.getInstance(project);
-      if (s.startsWith("java")) {
-        final PsiClass charClass = f.findClass("java.lang.Character", GlobalSearchScope.allScope(project));
-        if (charClass != null) {
-          final PsiMethod[] methods = charClass.findMethodsByName("is" + s.substring("java".length()), false);
-          return methods.length > 0 ? methods[0] : null;
-        }
-      } else if (s.matches("In[\\p{Upper}_]+")) {
-        final PsiClass charClass = f.findClass("java.lang.Character.UnicodeBlock", GlobalSearchScope.allScope(project));
-        if (charClass != null) {
-          return charClass.findFieldByName(s.substring(2), false);
-        }
-      } else {
-        return f.findClass("java.util.regex.Pattern", GlobalSearchScope.allScope(project));
-      }
-    }
-      */
-    return super.getDocumentationElementForLookupItem(psiManager, object, element);
-  }
-
   @Nullable
   public String getQuickNavigateInfo(PsiElement element, PsiElement originalElement) {
     if (element instanceof RegExpGroup) {
index c283f19e87af545b50d08b6157c2344e27221cff..9208a3239fc338f4f0dea9621e85d3bc263bd32b 100644 (file)
@@ -16,6 +16,8 @@
 package org.intellij.lang.regexp;
 
 import org.intellij.lang.regexp.psi.RegExpGroup;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 /**
  * @author yole
@@ -26,4 +28,12 @@ public interface RegExpLanguageHost {
   boolean supportsPossessiveQuantifiers();
   boolean supportsPythonConditionalRefs();
   boolean supportsNamedGroupSyntax(RegExpGroup group);
+
+  boolean isValidCategory(@NotNull String category);
+  @NotNull
+  String[][] getAllKnownProperties();
+  @Nullable
+  String getPropertyDescription(@Nullable final String name);
+  @NotNull
+  String[][] getKnownCharacterClasses();
 }
index 0f57f33975fc0bd019df35a61a8a1119120f11f2..943103a0dfc4b17e267275cd480e5a5254843b92 100644 (file)
  */
 package org.intellij.lang.regexp;
 
+import com.intellij.lang.injection.InjectedLanguageManager;
 import com.intellij.openapi.util.ClassExtension;
+import com.intellij.psi.PsiComment;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiLanguageInjectionHost;
+import org.intellij.lang.regexp.psi.RegExpChar;
+import org.intellij.lang.regexp.psi.RegExpGroup;
+import org.intellij.lang.regexp.psi.RegExpPyCondRef;
+import org.intellij.lang.regexp.psi.RegExpQuantifier;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 /**
  * @author yole
  */
-public class RegExpLanguageHosts extends ClassExtension<RegExpLanguageHost> {
-  public static RegExpLanguageHosts INSTANCE = new RegExpLanguageHosts();
+public final class RegExpLanguageHosts extends ClassExtension<RegExpLanguageHost> {
+  private static final RegExpLanguageHosts INSTANCE = new RegExpLanguageHosts();
+  private final DefaultRegExpPropertiesProvider myDefaultProvider;
+
+  public static RegExpLanguageHosts getInstance() {
+    return INSTANCE;
+  }
 
   private RegExpLanguageHosts() {
     super("com.intellij.regExpLanguageHost");
+    myDefaultProvider = DefaultRegExpPropertiesProvider.getInstance();
+  }
+
+  @Nullable
+  private static RegExpLanguageHost findRegExpHost(@Nullable final PsiElement element) {
+    if (element == null) {
+      return null;
+    }
+    PsiLanguageInjectionHost host = InjectedLanguageManager.getInstance(element.getProject()).getInjectionHost(element);
+    if (host instanceof RegExpLanguageHost) {
+      return (RegExpLanguageHost)host;
+    }
+    if (host != null) {
+      return INSTANCE.forClass(host.getClass());
+    }
+    return null;
+  }
+
+  public boolean isRedundantEscape(@NotNull final RegExpChar ch, @NotNull final String text) {
+    if (text.length() <= 1) {
+      return false;
+    }
+    final RegExpLanguageHost host = findRegExpHost(ch);
+    if (host != null) {
+      final char c = text.charAt(1);
+      final boolean needsEscaping = host.characterNeedsEscaping(c);
+      return !needsEscaping;
+    }
+    else {
+      return !("\\]".equals(text) || "\\}".equals(text));
+    }
+  }
+
+  public boolean supportsNamedGroupSyntax(@Nullable final RegExpGroup group) {
+    final RegExpLanguageHost host = findRegExpHost(group);
+    return host != null && host.supportsNamedGroupSyntax(group);
+  }
+
+  public boolean supportsPerl5EmbeddedComments(@Nullable final PsiComment comment) {
+    final RegExpLanguageHost host = findRegExpHost(comment);
+    return host != null && host.supportsPerl5EmbeddedComments();
+  }
+
+  public boolean supportsPythonConditionalRefs(@Nullable final RegExpPyCondRef condRef) {
+    final RegExpLanguageHost host = findRegExpHost(condRef);
+    return host != null && host.supportsPythonConditionalRefs();
+  }
+
+  public boolean supportsPossessiveQuantifiers(@Nullable final RegExpQuantifier quantifier) {
+    final RegExpLanguageHost host = findRegExpHost(quantifier);
+    return host == null || host.supportsPossessiveQuantifiers();
+  }
+
+  public boolean isValidCategory(@NotNull final PsiElement element, @NotNull String category) {
+    final RegExpLanguageHost host = findRegExpHost(element);
+    return host != null ? host.isValidCategory(category) : myDefaultProvider.isValidCategory(category);
+  }
+
+  @NotNull
+  public String[][] getAllKnownProperties(@NotNull final PsiElement element) {
+    final RegExpLanguageHost host = findRegExpHost(element);
+    return host != null ? host.getAllKnownProperties() : myDefaultProvider.getAllKnownProperties();
+  }
+
+  @Nullable
+  String getPropertyDescription(@NotNull final PsiElement element, @Nullable final String name) {
+    final RegExpLanguageHost host = findRegExpHost(element);
+    return host != null ?  host.getPropertyDescription(name) : myDefaultProvider.getPropertyDescription(name);
+  }
+
+  @NotNull
+  String[][] getKnownCharacterClasses(@NotNull final PsiElement element) {
+    final RegExpLanguageHost host = findRegExpHost(element);
+    return host != null ? host.getKnownCharacterClasses() : myDefaultProvider.getKnownCharacterClasses();
   }
 }
index 5402d7ee78d20c085e0f03b25b67037084f5374b..7017457892081e8189ecbd7bc4f17df20c07d5d7 100644 (file)
@@ -1,14 +1,13 @@
-/* The following code was generated by JFlex 1.4.3 on 10/1/12 11:19 AM */
+/* The following code was generated by JFlex 1.4.3 on 2/9/13 3:43 PM */
 
 /* It's an automatically generated code. Do not modify it. */
 package org.intellij.lang.regexp;
 
 import com.intellij.lexer.FlexLexer;
-import com.intellij.psi.StringEscapesTokenTypes;
 import com.intellij.psi.tree.IElementType;
-
-import java.util.EnumSet;
 import java.util.LinkedList;
+import java.util.EnumSet;
+import com.intellij.psi.StringEscapesTokenTypes;
 
 // IDEADEV-11055
 @SuppressWarnings({ "ALL", "SameParameterValue", "WeakerAccess", "SameReturnValue", "RedundantThrows", "UnusedDeclaration", "UnusedDeclaration" })
@@ -16,7 +15,7 @@ import java.util.LinkedList;
 /**
  * This class is a scanner generated by 
  * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 10/1/12 11:19 AM from the specification file
+ * on 2/9/13 3:43 PM from the specification file
  * <tt>C:/work/IDEA/tools/lexer/../../community/RegExpSupport/src/org/intellij/lang/regexp/regexp-lexer.flex</tt>
  */
 class _RegExLexer implements FlexLexer {
@@ -53,73 +52,73 @@ class _RegExLexer implements FlexLexer {
    * Translates characters to character classes
    */
   private static final String ZZ_CMAP_PACKED = 
-    "\10\0\2\52\1\13\1\0\1\52\1\62\22\0\1\45\1\56\1\0"+
-    "\1\60\1\15\1\0\1\51\1\61\1\4\1\5\1\17\1\20\1\50"+
-    "\1\43\1\3\1\0\1\2\7\42\2\1\1\53\1\0\1\57\1\55"+
-    "\1\54\1\16\1\0\1\24\1\24\1\30\1\27\1\37\1\35\1\25"+
-    "\1\44\1\32\6\44\1\34\1\36\1\44\1\26\3\44\1\26\1\26"+
-    "\1\44\1\25\1\10\1\12\1\11\1\14\1\46\1\0\1\23\1\24"+
-    "\1\31\1\27\1\23\1\23\2\44\1\32\4\44\1\22\1\44\1\33"+
-    "\1\44\1\22\1\26\1\22\1\41\1\44\1\26\1\40\1\44\1\25"+
-    "\1\6\1\21\1\7\54\0\1\44\12\0\1\44\4\0\1\44\5\0"+
-    "\27\44\1\0\37\44\1\0\u013f\44\31\0\162\44\4\0\14\44\16\0"+
-    "\5\44\11\0\1\44\213\0\1\44\13\0\1\44\1\0\3\44\1\0"+
-    "\1\44\1\0\24\44\1\0\54\44\1\0\46\44\1\0\5\44\4\0"+
-    "\202\44\10\0\105\44\1\0\46\44\2\0\2\44\6\0\20\44\41\0"+
-    "\46\44\2\0\1\44\7\0\47\44\110\0\33\44\5\0\3\44\56\0"+
-    "\32\44\5\0\13\44\25\0\12\47\4\0\2\44\1\0\143\44\1\0"+
-    "\1\44\17\0\2\44\7\0\2\44\12\47\3\44\2\0\1\44\20\0"+
-    "\1\44\1\0\36\44\35\0\3\44\60\0\46\44\13\0\1\44\u0152\0"+
-    "\66\44\3\0\1\44\22\0\1\44\7\0\12\44\4\0\12\47\25\0"+
-    "\10\44\2\0\2\44\2\0\26\44\1\0\7\44\1\0\1\44\3\0"+
-    "\4\44\3\0\1\44\36\0\2\44\1\0\3\44\4\0\12\47\2\44"+
-    "\23\0\6\44\4\0\2\44\2\0\26\44\1\0\7\44\1\0\2\44"+
-    "\1\0\2\44\1\0\2\44\37\0\4\44\1\0\1\44\7\0\12\47"+
-    "\2\0\3\44\20\0\11\44\1\0\3\44\1\0\26\44\1\0\7\44"+
-    "\1\0\2\44\1\0\5\44\3\0\1\44\22\0\1\44\17\0\2\44"+
-    "\4\0\12\47\25\0\10\44\2\0\2\44\2\0\26\44\1\0\7\44"+
-    "\1\0\2\44\1\0\5\44\3\0\1\44\36\0\2\44\1\0\3\44"+
-    "\4\0\12\47\1\0\1\44\21\0\1\44\1\0\6\44\3\0\3\44"+
-    "\1\0\4\44\3\0\2\44\1\0\1\44\1\0\2\44\3\0\2\44"+
-    "\3\0\3\44\3\0\10\44\1\0\3\44\55\0\11\47\25\0\10\44"+
-    "\1\0\3\44\1\0\27\44\1\0\12\44\1\0\5\44\46\0\2\44"+
-    "\4\0\12\47\25\0\10\44\1\0\3\44\1\0\27\44\1\0\12\44"+
-    "\1\0\5\44\3\0\1\44\40\0\1\44\1\0\2\44\4\0\12\47"+
-    "\25\0\10\44\1\0\3\44\1\0\27\44\1\0\20\44\46\0\2\44"+
-    "\4\0\12\47\25\0\22\44\3\0\30\44\1\0\11\44\1\0\1\44"+
-    "\2\0\7\44\72\0\60\44\1\0\2\44\14\0\7\44\11\0\12\47"+
-    "\47\0\2\44\1\0\1\44\2\0\2\44\1\0\1\44\2\0\1\44"+
-    "\6\0\4\44\1\0\7\44\1\0\3\44\1\0\1\44\1\0\1\44"+
-    "\2\0\2\44\1\0\4\44\1\0\2\44\11\0\1\44\2\0\5\44"+
-    "\1\0\1\44\11\0\12\47\2\0\2\44\42\0\1\44\37\0\12\47"+
-    "\26\0\10\44\1\0\42\44\35\0\4\44\164\0\42\44\1\0\5\44"+
-    "\1\0\2\44\25\0\12\47\6\0\6\44\112\0\46\44\12\0\51\44"+
-    "\7\0\132\44\5\0\104\44\5\0\122\44\6\0\7\44\1\0\77\44"+
-    "\1\0\1\44\1\0\4\44\2\0\7\44\1\0\1\44\1\0\4\44"+
-    "\2\0\47\44\1\0\1\44\1\0\4\44\2\0\37\44\1\0\1\44"+
-    "\1\0\4\44\2\0\7\44\1\0\1\44\1\0\4\44\2\0\7\44"+
-    "\1\0\7\44\1\0\27\44\1\0\37\44\1\0\1\44\1\0\4\44"+
-    "\2\0\7\44\1\0\47\44\1\0\23\44\16\0\11\47\56\0\125\44"+
-    "\14\0\u026c\44\2\0\10\44\12\0\32\44\5\0\113\44\25\0\15\44"+
-    "\1\0\4\44\16\0\22\44\16\0\22\44\16\0\15\44\1\0\3\44"+
-    "\17\0\64\44\43\0\1\44\4\0\1\44\3\0\12\47\46\0\12\47"+
-    "\6\0\130\44\10\0\51\44\127\0\35\44\51\0\12\47\36\44\2\0"+
-    "\5\44\u038b\0\154\44\224\0\234\44\4\0\132\44\6\0\26\44\2\0"+
-    "\6\44\2\0\46\44\2\0\6\44\2\0\10\44\1\0\1\44\1\0"+
-    "\1\44\1\0\1\44\1\0\37\44\2\0\65\44\1\0\7\44\1\0"+
-    "\1\44\3\0\3\44\1\0\7\44\3\0\4\44\2\0\6\44\4\0"+
-    "\15\44\5\0\3\44\1\0\7\44\164\0\1\44\15\0\1\44\202\0"+
-    "\1\44\4\0\1\44\2\0\12\44\1\0\1\44\3\0\5\44\6\0"+
-    "\1\44\1\0\1\44\1\0\1\44\1\0\4\44\1\0\3\44\1\0"+
-    "\7\44\3\0\3\44\5\0\5\44\u0ebb\0\2\44\52\0\5\44\5\0"+
-    "\2\44\4\0\126\44\6\0\3\44\1\0\132\44\1\0\4\44\5\0"+
-    "\50\44\4\0\136\44\21\0\30\44\70\0\20\44\u0200\0\u19b6\44\112\0"+
-    "\u51a6\44\132\0\u048d\44\u0773\0\u2ba4\44\u215c\0\u012e\44\2\0\73\44\225\0"+
-    "\7\44\14\0\5\44\5\0\1\44\1\0\12\44\1\0\15\44\1\0"+
-    "\5\44\1\0\1\44\1\0\2\44\1\0\2\44\1\0\154\44\41\0"+
-    "\u016b\44\22\0\100\44\2\0\66\44\50\0\14\44\164\0\5\44\1\0"+
-    "\207\44\23\0\12\47\7\0\32\44\6\0\32\44\13\0\131\44\3\0"+
-    "\6\44\2\0\6\44\2\0\6\44\2\0\3\44\43\0";
+    "\10\0\2\53\1\13\1\0\1\53\1\63\22\0\1\46\1\57\1\0"+
+    "\1\61\1\15\1\0\1\52\1\62\1\4\1\5\1\17\1\20\1\51"+
+    "\1\43\1\3\1\0\1\2\7\42\2\1\1\54\1\0\1\60\1\56"+
+    "\1\55\1\16\1\0\1\24\1\24\1\30\1\27\1\37\1\35\1\25"+
+    "\1\44\1\32\6\45\1\34\1\36\1\45\1\26\3\45\1\26\1\26"+
+    "\1\45\1\25\1\10\1\12\1\11\1\14\1\47\1\0\1\23\1\24"+
+    "\1\31\1\27\1\23\1\23\1\45\1\44\1\32\4\45\1\22\1\45"+
+    "\1\33\1\45\1\22\1\26\1\22\1\41\1\45\1\26\1\40\1\45"+
+    "\1\25\1\6\1\21\1\7\54\0\1\45\12\0\1\45\4\0\1\45"+
+    "\5\0\27\45\1\0\37\45\1\0\u013f\45\31\0\162\45\4\0\14\45"+
+    "\16\0\5\45\11\0\1\45\213\0\1\45\13\0\1\45\1\0\3\45"+
+    "\1\0\1\45\1\0\24\45\1\0\54\45\1\0\46\45\1\0\5\45"+
+    "\4\0\202\45\10\0\105\45\1\0\46\45\2\0\2\45\6\0\20\45"+
+    "\41\0\46\45\2\0\1\45\7\0\47\45\110\0\33\45\5\0\3\45"+
+    "\56\0\32\45\5\0\13\45\25\0\12\50\4\0\2\45\1\0\143\45"+
+    "\1\0\1\45\17\0\2\45\7\0\2\45\12\50\3\45\2\0\1\45"+
+    "\20\0\1\45\1\0\36\45\35\0\3\45\60\0\46\45\13\0\1\45"+
+    "\u0152\0\66\45\3\0\1\45\22\0\1\45\7\0\12\45\4\0\12\50"+
+    "\25\0\10\45\2\0\2\45\2\0\26\45\1\0\7\45\1\0\1\45"+
+    "\3\0\4\45\3\0\1\45\36\0\2\45\1\0\3\45\4\0\12\50"+
+    "\2\45\23\0\6\45\4\0\2\45\2\0\26\45\1\0\7\45\1\0"+
+    "\2\45\1\0\2\45\1\0\2\45\37\0\4\45\1\0\1\45\7\0"+
+    "\12\50\2\0\3\45\20\0\11\45\1\0\3\45\1\0\26\45\1\0"+
+    "\7\45\1\0\2\45\1\0\5\45\3\0\1\45\22\0\1\45\17\0"+
+    "\2\45\4\0\12\50\25\0\10\45\2\0\2\45\2\0\26\45\1\0"+
+    "\7\45\1\0\2\45\1\0\5\45\3\0\1\45\36\0\2\45\1\0"+
+    "\3\45\4\0\12\50\1\0\1\45\21\0\1\45\1\0\6\45\3\0"+
+    "\3\45\1\0\4\45\3\0\2\45\1\0\1\45\1\0\2\45\3\0"+
+    "\2\45\3\0\3\45\3\0\10\45\1\0\3\45\55\0\11\50\25\0"+
+    "\10\45\1\0\3\45\1\0\27\45\1\0\12\45\1\0\5\45\46\0"+
+    "\2\45\4\0\12\50\25\0\10\45\1\0\3\45\1\0\27\45\1\0"+
+    "\12\45\1\0\5\45\3\0\1\45\40\0\1\45\1\0\2\45\4\0"+
+    "\12\50\25\0\10\45\1\0\3\45\1\0\27\45\1\0\20\45\46\0"+
+    "\2\45\4\0\12\50\25\0\22\45\3\0\30\45\1\0\11\45\1\0"+
+    "\1\45\2\0\7\45\72\0\60\45\1\0\2\45\14\0\7\45\11\0"+
+    "\12\50\47\0\2\45\1\0\1\45\2\0\2\45\1\0\1\45\2\0"+
+    "\1\45\6\0\4\45\1\0\7\45\1\0\3\45\1\0\1\45\1\0"+
+    "\1\45\2\0\2\45\1\0\4\45\1\0\2\45\11\0\1\45\2\0"+
+    "\5\45\1\0\1\45\11\0\12\50\2\0\2\45\42\0\1\45\37\0"+
+    "\12\50\26\0\10\45\1\0\42\45\35\0\4\45\164\0\42\45\1\0"+
+    "\5\45\1\0\2\45\25\0\12\50\6\0\6\45\112\0\46\45\12\0"+
+    "\51\45\7\0\132\45\5\0\104\45\5\0\122\45\6\0\7\45\1\0"+
+    "\77\45\1\0\1\45\1\0\4\45\2\0\7\45\1\0\1\45\1\0"+
+    "\4\45\2\0\47\45\1\0\1\45\1\0\4\45\2\0\37\45\1\0"+
+    "\1\45\1\0\4\45\2\0\7\45\1\0\1\45\1\0\4\45\2\0"+
+    "\7\45\1\0\7\45\1\0\27\45\1\0\37\45\1\0\1\45\1\0"+
+    "\4\45\2\0\7\45\1\0\47\45\1\0\23\45\16\0\11\50\56\0"+
+    "\125\45\14\0\u026c\45\2\0\10\45\12\0\32\45\5\0\113\45\25\0"+
+    "\15\45\1\0\4\45\16\0\22\45\16\0\22\45\16\0\15\45\1\0"+
+    "\3\45\17\0\64\45\43\0\1\45\4\0\1\45\3\0\12\50\46\0"+
+    "\12\50\6\0\130\45\10\0\51\45\127\0\35\45\51\0\12\50\36\45"+
+    "\2\0\5\45\u038b\0\154\45\224\0\234\45\4\0\132\45\6\0\26\45"+
+    "\2\0\6\45\2\0\46\45\2\0\6\45\2\0\10\45\1\0\1\45"+
+    "\1\0\1\45\1\0\1\45\1\0\37\45\2\0\65\45\1\0\7\45"+
+    "\1\0\1\45\3\0\3\45\1\0\7\45\3\0\4\45\2\0\6\45"+
+    "\4\0\15\45\5\0\3\45\1\0\7\45\164\0\1\45\15\0\1\45"+
+    "\202\0\1\45\4\0\1\45\2\0\12\45\1\0\1\45\3\0\5\45"+
+    "\6\0\1\45\1\0\1\45\1\0\1\45\1\0\4\45\1\0\3\45"+
+    "\1\0\7\45\3\0\3\45\5\0\5\45\u0ebb\0\2\45\52\0\5\45"+
+    "\5\0\2\45\4\0\126\45\6\0\3\45\1\0\132\45\1\0\4\45"+
+    "\5\0\50\45\4\0\136\45\21\0\30\45\70\0\20\45\u0200\0\u19b6\45"+
+    "\112\0\u51a6\45\132\0\u048d\45\u0773\0\u2ba4\45\u215c\0\u012e\45\2\0\73\45"+
+    "\225\0\7\45\14\0\5\45\5\0\1\45\1\0\12\45\1\0\15\45"+
+    "\1\0\5\45\1\0\1\45\1\0\2\45\1\0\2\45\1\0\154\45"+
+    "\41\0\u016b\45\22\0\100\45\2\0\66\45\50\0\14\45\164\0\5\45"+
+    "\1\0\207\45\23\0\12\50\7\0\32\45\6\0\32\45\13\0\131\45"+
+    "\3\0\6\45\2\0\6\45\2\0\6\45\2\0\3\45\43\0";
 
   /** 
    * Translates characters to character classes
@@ -140,13 +139,14 @@ class _RegExLexer implements FlexLexer {
     "\1\1\1\43\1\44\1\2\1\45\1\46\1\47\1\50"+
     "\1\0\1\51\1\52\1\53\1\54\1\55\1\56\1\57"+
     "\1\60\2\61\1\62\1\11\1\63\1\64\1\65\1\52"+
-    "\1\66\1\67\1\70\1\71\1\72\1\0\1\73\1\74"+
-    "\1\75\1\76\1\0\1\77\1\100\1\101\1\102\2\64"+
-    "\2\65\1\52\1\103\1\104\1\105\1\106\1\0\1\101"+
-    "\1\64\1\107\2\65\1\110\1\111\1\101\3\65\1\112";
+    "\1\66\1\67\1\70\1\71\1\72\1\73\1\0\1\74"+
+    "\1\75\1\76\1\77\1\0\1\100\1\101\1\102\1\103"+
+    "\2\64\2\65\1\52\1\104\1\105\1\106\1\107\1\0"+
+    "\1\102\1\64\1\110\2\65\1\111\1\112\1\102\3\65"+
+    "\1\113";
 
   private static int [] zzUnpackAction() {
-    int [] result = new int[111];
+    int [] result = new int[112];
     int offset = 0;
     offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
     return result;
@@ -171,23 +171,23 @@ class _RegExLexer implements FlexLexer {
   private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
 
   private static final String ZZ_ROWMAP_PACKED_0 =
-    "\0\0\0\63\0\146\0\231\0\314\0\377\0\u0132\0\u0165"+
-    "\0\u0198\0\u01cb\0\u01fe\0\u0231\0\u0264\0\u0297\0\u0297\0\u02ca"+
-    "\0\u0297\0\u0297\0\u02fd\0\u0330\0\u0297\0\u0297\0\u0297\0\u0297"+
-    "\0\u0297\0\u0297\0\u0297\0\u0297\0\u0297\0\u0297\0\u0363\0\u0297"+
-    "\0\u0396\0\u0297\0\u03c9\0\u0297\0\u0297\0\u0297\0\u0297\0\u03fc"+
-    "\0\u0297\0\u042f\0\u0297\0\u0462\0\u0297\0\u0297\0\u02fd\0\u0297"+
-    "\0\u0297\0\u0495\0\u04c8\0\u0297\0\u0297\0\u0297\0\u0297\0\u04fb"+
-    "\0\u0297\0\u052e\0\u0297\0\u0561\0\u0594\0\u0297\0\u0297\0\u0297"+
-    "\0\u0297\0\u0297\0\u0297\0\u05c7\0\u0297\0\u0297\0\u0297\0\u05fa"+
-    "\0\u062d\0\u0660\0\u0297\0\u0297\0\u0297\0\u0297\0\u0297\0\u0693"+
-    "\0\u0297\0\u0297\0\u0297\0\u06c6\0\u06f9\0\u0297\0\u0297\0\u072c"+
-    "\0\u0297\0\u075f\0\u0792\0\u07c5\0\u07f8\0\u082b\0\u0297\0\u0297"+
-    "\0\u0297\0\u0297\0\u085e\0\u0891\0\u0297\0\u0297\0\u08c4\0\u08f7"+
-    "\0\u0561\0\u0297\0\u0297\0\u092a\0\u095d\0\u0297\0\u0297";
+    "\0\0\0\64\0\150\0\234\0\320\0\u0104\0\u0138\0\u016c"+
+    "\0\u01a0\0\u01d4\0\u0208\0\u023c\0\u0270\0\u02a4\0\u02a4\0\u02d8"+
+    "\0\u02a4\0\u02a4\0\u030c\0\u0340\0\u02a4\0\u02a4\0\u02a4\0\u02a4"+
+    "\0\u02a4\0\u02a4\0\u02a4\0\u02a4\0\u02a4\0\u02a4\0\u0374\0\u02a4"+
+    "\0\u03a8\0\u02a4\0\u03dc\0\u02a4\0\u02a4\0\u02a4\0\u02a4\0\u0410"+
+    "\0\u02a4\0\u0444\0\u02a4\0\u0478\0\u02a4\0\u02a4\0\u030c\0\u02a4"+
+    "\0\u02a4\0\u04ac\0\u04e0\0\u02a4\0\u02a4\0\u02a4\0\u02a4\0\u0514"+
+    "\0\u02a4\0\u0548\0\u02a4\0\u057c\0\u05b0\0\u02a4\0\u02a4\0\u02a4"+
+    "\0\u02a4\0\u02a4\0\u02a4\0\u05e4\0\u02a4\0\u02a4\0\u02a4\0\u0618"+
+    "\0\u064c\0\u0680\0\u02a4\0\u02a4\0\u02a4\0\u02a4\0\u02a4\0\u02a4"+
+    "\0\u06b4\0\u02a4\0\u02a4\0\u02a4\0\u06e8\0\u071c\0\u02a4\0\u02a4"+
+    "\0\u0750\0\u02a4\0\u0784\0\u07b8\0\u07ec\0\u0820\0\u0854\0\u02a4"+
+    "\0\u02a4\0\u02a4\0\u02a4\0\u0888\0\u08bc\0\u02a4\0\u02a4\0\u08f0"+
+    "\0\u0924\0\u057c\0\u02a4\0\u02a4\0\u0958\0\u098c\0\u02a4\0\u02a4";
 
   private static int [] zzUnpackRowMap() {
-    int [] result = new int[111];
+    int [] result = new int[112];
     int offset = 0;
     offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
     return result;
@@ -212,51 +212,51 @@ class _RegExLexer implements FlexLexer {
   private static final String ZZ_TRANS_PACKED_0 =
     "\3\16\1\17\1\20\1\21\1\22\1\16\1\23\1\16"+
     "\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33"+
-    "\21\16\1\34\1\16\1\35\4\16\1\25\5\16\1\36"+
-    "\1\16\1\25\12\16\1\37\50\16\1\40\2\41\4\40"+
-    "\1\42\12\40\20\43\1\41\1\40\1\43\2\40\1\41"+
-    "\1\44\12\40\11\45\1\46\1\45\1\0\62\45\1\0"+
-    "\1\47\46\45\6\16\1\22\1\16\1\50\1\51\1\52"+
-    "\1\53\1\26\26\16\1\34\5\16\1\54\1\53\7\16"+
-    "\1\53\6\55\1\56\1\55\1\57\1\55\1\24\50\55"+
-    "\5\60\1\61\14\60\20\62\1\60\1\63\1\62\6\60"+
-    "\1\64\7\60\13\11\1\65\46\11\1\65\22\60\20\43"+
-    "\2\60\1\43\7\60\1\66\30\60\20\43\2\60\1\43"+
-    "\14\60\1\67\6\60\1\61\14\60\20\43\2\60\1\43"+
+    "\21\16\1\34\2\16\1\35\4\16\1\25\5\16\1\36"+
+    "\1\16\1\25\12\16\1\37\51\16\1\40\2\41\4\40"+
+    "\1\42\12\40\20\43\1\41\1\40\2\43\2\40\1\41"+
+    "\1\44\12\40\11\45\1\46\1\45\1\0\63\45\1\0"+
+    "\1\47\47\45\6\16\1\22\1\16\1\50\1\51\1\52"+
+    "\1\53\1\26\26\16\1\34\6\16\1\54\1\53\7\16"+
+    "\1\53\6\55\1\56\1\55\1\57\1\55\1\24\51\55"+
+    "\5\60\1\61\14\60\20\62\1\60\1\63\2\62\6\60"+
+    "\1\64\7\60\13\11\1\65\47\11\1\65\22\60\20\43"+
+    "\2\60\2\43\7\60\1\66\30\60\20\43\2\60\2\43"+
+    "\14\60\1\67\6\60\1\61\14\60\20\43\2\60\2\43"+
     "\17\60\2\41\2\60\1\61\14\60\20\43\1\41\1\60"+
-    "\1\43\2\60\1\41\13\60\101\0\1\70\55\0\1\71"+
-    "\2\0\1\72\46\0\1\73\1\74\1\75\4\76\1\73"+
+    "\2\43\2\60\1\41\13\60\102\0\1\70\56\0\1\71"+
+    "\2\0\1\72\47\0\1\73\1\74\1\75\4\76\1\73"+
     "\1\76\1\73\1\76\1\77\6\76\2\100\2\101\2\102"+
     "\1\103\1\104\1\103\2\105\1\106\1\107\1\106\1\110"+
-    "\1\111\1\112\1\76\1\106\1\77\4\73\1\77\7\73"+
-    "\1\77\37\0\1\113\24\0\2\41\37\0\1\41\4\0"+
-    "\1\41\14\0\2\43\17\0\21\43\1\0\1\43\1\0"+
-    "\2\43\24\0\1\114\2\0\1\72\46\0\1\73\1\74"+
-    "\1\75\4\76\1\73\1\76\1\115\1\76\1\77\6\76"+
-    "\2\100\2\101\2\102\1\103\1\104\1\103\2\105\1\106"+
-    "\1\107\1\106\1\110\1\111\1\112\1\76\1\106\1\77"+
-    "\4\73\1\77\7\73\1\77\51\0\1\116\33\0\20\62"+
-    "\2\0\1\62\40\0\20\63\2\0\1\63\22\0\1\117"+
-    "\27\0\1\120\16\0\2\121\1\122\1\123\1\124\1\125"+
-    "\1\126\12\0\1\127\52\0\2\74\37\0\1\74\22\0"+
-    "\1\130\37\0\1\130\20\0\63\131\1\132\2\133\20\132"+
-    "\2\133\2\132\3\133\3\132\1\133\1\132\1\133\2\132"+
-    "\1\133\20\132\1\134\2\135\20\134\2\135\2\134\3\135"+
-    "\3\134\1\135\1\134\1\135\2\134\1\135\20\134\1\0"+
-    "\1\74\1\136\37\0\1\136\75\0\1\137\1\0\1\140"+
-    "\60\0\1\141\1\142\4\0\5\143\1\0\55\143\2\0"+
-    "\1\144\37\0\1\144\20\0\64\145\2\146\20\145\2\146"+
-    "\2\145\3\146\3\145\1\146\1\145\1\146\2\145\1\146"+
-    "\20\145\64\147\2\150\20\147\2\150\2\147\3\150\3\147"+
-    "\1\150\1\147\1\150\2\147\1\150\20\147\1\0\1\74"+
-    "\1\151\37\0\1\151\20\0\5\143\1\152\55\143\2\0"+
-    "\1\153\37\0\1\153\20\0\64\154\2\155\20\154\2\155"+
-    "\2\154\3\155\3\154\1\155\1\154\1\155\2\154\1\155"+
-    "\20\154\64\156\2\157\20\156\2\157\2\156\3\157\3\156"+
-    "\1\157\1\156\1\157\2\156\1\157\20\156";
+    "\1\111\1\112\1\76\1\113\1\106\1\77\4\73\1\77"+
+    "\7\73\1\77\37\0\1\114\25\0\2\41\37\0\1\41"+
+    "\5\0\1\41\14\0\2\43\17\0\21\43\1\0\2\43"+
+    "\1\0\2\43\24\0\1\115\2\0\1\72\47\0\1\73"+
+    "\1\74\1\75\4\76\1\73\1\76\1\116\1\76\1\77"+
+    "\6\76\2\100\2\101\2\102\1\103\1\104\1\103\2\105"+
+    "\1\106\1\107\1\106\1\110\1\111\1\112\1\76\1\113"+
+    "\1\106\1\77\4\73\1\77\7\73\1\77\52\0\1\117"+
+    "\33\0\20\62\2\0\2\62\40\0\20\63\2\0\2\63"+
+    "\22\0\1\120\27\0\1\121\17\0\2\122\1\123\1\124"+
+    "\1\125\1\126\1\127\12\0\1\130\53\0\2\74\37\0"+
+    "\1\74\23\0\1\131\37\0\1\131\21\0\64\132\1\133"+
+    "\2\134\20\133\2\134\2\133\3\134\3\133\1\134\1\133"+
+    "\1\134\2\133\1\134\21\133\1\135\2\136\20\135\2\136"+
+    "\2\135\3\136\3\135\1\136\1\135\1\136\2\135\1\136"+
+    "\21\135\1\0\1\74\1\137\37\0\1\137\77\0\1\140"+
+    "\1\0\1\141\61\0\1\142\1\143\4\0\5\144\1\0"+
+    "\56\144\2\0\1\145\37\0\1\145\21\0\65\146\2\147"+
+    "\20\146\2\147\2\146\3\147\3\146\1\147\1\146\1\147"+
+    "\2\146\1\147\21\146\65\150\2\151\20\150\2\151\2\150"+
+    "\3\151\3\150\1\151\1\150\1\151\2\150\1\151\21\150"+
+    "\1\0\1\74\1\152\37\0\1\152\21\0\5\144\1\153"+
+    "\56\144\2\0\1\154\37\0\1\154\21\0\65\155\2\156"+
+    "\20\155\2\156\2\155\3\156\3\155\1\156\1\155\1\156"+
+    "\2\155\1\156\21\155\65\157\2\160\20\157\2\160\2\157"+
+    "\3\160\3\157\1\160\1\157\1\160\2\157\1\160\21\157";
 
   private static int [] zzUnpackTrans() {
-    int [] result = new int[2448];
+    int [] result = new int[2496];
     int offset = 0;
     offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
     return result;
@@ -301,12 +301,12 @@ class _RegExLexer implements FlexLexer {
     "\1\1\1\11\1\1\1\11\1\1\4\11\1\1\1\11"+
     "\1\1\1\11\1\1\2\11\1\1\2\11\2\1\4\11"+
     "\1\1\1\11\1\0\1\11\2\1\6\11\1\1\3\11"+
-    "\3\1\5\11\1\0\3\11\1\1\1\0\2\11\1\1"+
+    "\3\1\6\11\1\0\3\11\1\1\1\0\2\11\1\1"+
     "\1\11\5\1\4\11\1\0\1\1\2\11\3\1\2\11"+
     "\2\1\2\11";
 
   private static int [] zzUnpackAttribute() {
-    int [] result = new int[111];
+    int [] result = new int[112];
     int offset = 0;
     offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
     return result;
@@ -376,6 +376,7 @@ class _RegExLexer implements FlexLexer {
     private boolean allowDanglingMetacharacters;
     private boolean allowNestedCharacterClasses;
     private boolean allowOctalNoLeadingZero;
+    private boolean allowHexDigitClass;
 
     _RegExLexer(EnumSet<RegExpCapability> capabilities) {
       this((java.io.Reader)null);
@@ -384,6 +385,7 @@ class _RegExLexer implements FlexLexer {
       this.allowNestedCharacterClasses = capabilities.contains(RegExpCapability.NESTED_CHARACTER_CLASSES);
       this.allowOctalNoLeadingZero = capabilities.contains(RegExpCapability.OCTAL_NO_LEADING_ZERO);
       this.commentMode = capabilities.contains(RegExpCapability.COMMENT_MODE);
+      this.allowHexDigitClass = capabilities.contains(RegExpCapability.ALLOW_HEX_DIGIT_CLASS);
     }
 
     private void yypushstate(int state) {
@@ -431,7 +433,7 @@ class _RegExLexer implements FlexLexer {
     char [] map = new char[0x10000];
     int i = 0;  /* index in packed string  */
     int j = 0;  /* index in unpacked array */
-    while (i < 1336) {
+    while (i < 1338) {
       int  count = packed.charAt(i++);
       char value = packed.charAt(i++);
       do map[j++] = value; while (--count > 0);
@@ -612,7 +614,7 @@ class _RegExLexer implements FlexLexer {
         while (true) {
 
           if (zzCurrentPosL < zzEndReadL)
-            zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++]:zzBufferL.charAt(zzCurrentPosL++);
+            zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
           else if (zzAtEOF) {
             zzInput = YYEOF;
             break zzForAction;
@@ -632,7 +634,7 @@ class _RegExLexer implements FlexLexer {
               break zzForAction;
             }
             else {
-              zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++]:zzBufferL.charAt(zzCurrentPosL++);
+              zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
             }
           }
           int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
@@ -653,34 +655,34 @@ class _RegExLexer implements FlexLexer {
       zzMarkedPos = zzMarkedPosL;
 
       switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
-        case 74
+        case 75
           { return RegExpTT.UNICODE_CHAR;
           }
-        case 75: break;
+        case 76: break;
         case 7: 
           { if (yystate() != CLASS2) yypushstate(EMBRACED); return RegExpTT.LBRACE;
           }
-        case 76: break;
+        case 77: break;
         case 24: 
           { return RegExpTT.COMMA;
           }
-        case 77: break;
-        case 60
+        case 78: break;
+        case 61
           { return RegExpTT.POS_LOOKAHEAD;
           }
-        case 78: break;
-        case 73
+        case 79: break;
+        case 74
           { return RegExpTT.COMMENT;
           }
-        case 79: break;
-        case 68
+        case 80: break;
+        case 69
           { yybegin(NAMED_GROUP); return RegExpTT.PYTHON_NAMED_GROUP;
           }
-        case 80: break;
+        case 81: break;
         case 14: 
           { return RegExpTT.STAR;
           }
-        case 81: break;
+        case 82: break;
         case 28: 
           { if (allowNestedCharacterClasses) {
                            yypushstate(CLASS2);
@@ -688,159 +690,159 @@ class _RegExLexer implements FlexLexer {
                         }
                         return RegExpTT.CHARACTER;
           }
-        case 82: break;
-        case 58
+        case 83: break;
+        case 59
           { yybegin(PY_COND_REF); return RegExpTT.PYTHON_COND_REF;
           }
-        case 83: break;
+        case 84: break;
         case 48: 
           { return RegExpTT.CHAR_CLASS;
           }
-        case 84: break;
+        case 85: break;
         case 35: 
           { handleOptions(); return RegExpTT.OPTIONS_OFF;
           }
-        case 85: break;
+        case 86: break;
         case 40: 
           // lookahead expression with fixed base length
           zzMarkedPos = zzStartRead + 1;
           { yypushstate(CLASS1);
                             return RegExpTT.CLASS_BEGIN;
           }
-        case 86: break;
-        case 54
+        case 87: break;
+        case 55
           { yypopstate(); return RegExpTT.QUOTE_END;
           }
-        case 87: break;
+        case 88: break;
         case 34: 
           { yybegin(YYINITIAL); return RegExpTT.GROUP_END;
           }
-        case 88: break;
+        case 89: break;
         case 5: 
           { return RegExpTT.GROUP_BEGIN;
           }
-        case 89: break;
+        case 90: break;
         case 36: 
           { yybegin(YYINITIAL); return RegExpTT.COLON;
           }
-        case 90: break;
+        case 91: break;
         case 6: 
           { return RegExpTT.GROUP_END;
           }
-        case 91: break;
+        case 92: break;
         case 25: 
           { assert false : yytext();
           }
-        case 92: break;
+        case 93: break;
         case 18: 
           { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.CHARACTER;
           }
-        case 93: break;
+        case 94: break;
         case 45: 
           { return commentMode ? RegExpTT.CHARACTER : RegExpTT.REDUNDANT_ESCAPE;
           }
-        case 94: break;
+        case 95: break;
         case 23: 
           { return RegExpTT.NAME;
           }
-        case 95: break;
+        case 96: break;
         case 29: 
           { yypopstate(); return RegExpTT.CLASS_END;
           }
-        case 96: break;
+        case 97: break;
         case 33: 
           { yybegin(YYINITIAL); return RegExpTT.BAD_CHARACTER;
           }
-        case 97: break;
+        case 98: break;
         case 51: 
           { yypushstate(QUOTED); return RegExpTT.QUOTE_BEGIN;
           }
-        case 98: break;
+        case 99: break;
         case 21: 
           { return RegExpTT.NUMBER;
           }
-        case 99: break;
+        case 100: break;
         case 4: 
           { return RegExpTT.DOT;
           }
-        case 100: break;
-        case 70
+        case 101: break;
+        case 71
           { return RegExpTT.NEG_LOOKBEHIND;
           }
-        case 101: break;
+        case 102: break;
         case 43: 
           { return (allowOctalNoLeadingZero ? RegExpTT.OCT_CHAR : RegExpTT.BAD_OCT_VALUE);
           }
-        case 102: break;
-        case 61
+        case 103: break;
+        case 62
           { return RegExpTT.NEG_LOOKAHEAD;
           }
-        case 103: break;
+        case 104: break;
         case 10: 
           { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.CTRL_CHARACTER;
           }
-        case 104: break;
-        case 59
+        case 105: break;
+        case 60
           { return RegExpTT.NON_CAPT_GROUP;
           }
-        case 105: break;
-        case 63
+        case 106: break;
+        case 64
           { yybegin(QUOTED_NAMED_GROUP); return RegExpTT.RUBY_QUOTED_NAMED_GROUP;
           }
-        case 106: break;
+        case 107: break;
         case 19: 
           { if (commentMode) { yypushstate(COMMENT); return RegExpTT.COMMENT; } else return RegExpTT.CHARACTER;
           }
-        case 107: break;
+        case 108: break;
         case 50: 
           { yypushstate(PROP); return RegExpTT.PROPERTY;
           }
-        case 108: break;
-        case 69
+        case 109: break;
+        case 70
           { return RegExpTT.POS_LOOKBEHIND;
           }
-        case 109: break;
+        case 110: break;
         case 42: 
           { return yystate() != CLASS2 ? RegExpTT.BACKREF : RegExpTT.ESC_CHARACTER;
           }
-        case 110: break;
-        case 71
+        case 111: break;
+        case 72
           { return RegExpTT.HEX_CHAR;
           }
-        case 111: break;
+        case 112: break;
         case 1: 
           { handleOptions(); return RegExpTT.OPTIONS_ON;
           }
-        case 112: break;
-        case 57
+        case 113: break;
+        case 58
           { return allowNestedCharacterClasses ? RegExpTT.ANDAND : RegExpTT.CHARACTER;
           }
-        case 113: break;
+        case 114: break;
         case 2: 
           { yypopstate(); return RegExpTT.COMMENT;
           }
-        case 114: break;
+        case 115: break;
         case 17: 
           { return RegExpTT.MINUS;
           }
-        case 115: break;
+        case 116: break;
         case 46: 
           { return RegExpTT.ESC_CTRL_CHARACTER;
           }
-        case 116: break;
+        case 117: break;
         case 32: 
           { yypopstate(); yypushstate(EMBRACED); return RegExpTT.LBRACE;
           }
-        case 117: break;
-        case 56
+        case 118: break;
+        case 57
           { if (!allowNestedCharacterClasses) return RegExpTT.CHARACTER;
                                 return RegExpTT.REDUNDANT_ESCAPE;
           }
-        case 118: break;
+        case 119: break;
         case 13: 
           { return RegExpTT.QUEST;
           }
-        case 119: break;
+        case 120: break;
         case 20: 
           { if (allowDanglingMetacharacters) {
                           yypopstate(); yypushback(1); 
@@ -848,114 +850,118 @@ class _RegExLexer implements FlexLexer {
                           return RegExpTT.BAD_CHARACTER;
                         }
           }
-        case 120: break;
+        case 121: break;
+        case 54: 
+          { return (allowHexDigitClass ? RegExpTT.CHAR_CLASS : StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN);
+          }
+        case 122: break;
         case 15: 
           { return RegExpTT.PLUS;
           }
-        case 121: break;
-        case 65
+        case 123: break;
+        case 66
           { return RegExpTT.OCT_CHAR;
           }
-        case 122: break;
-        case 72
+        case 124: break;
+        case 73
           { if (allowOctalNoLeadingZero) return RegExpTT.OCT_CHAR;
                                 return yystate() != CLASS2 ? RegExpTT.BACKREF : RegExpTT.ESC_CHARACTER;
           }
-        case 123: break;
+        case 125: break;
         case 38: 
           { yybegin(YYINITIAL); return RegExpTT.QUOTE;
           }
-        case 124: break;
+        case 126: break;
         case 31: 
           { yypopstate(); yypushback(1);
           }
-        case 125: break;
+        case 127: break;
         case 27: 
           { yybegin(CLASS1); return RegExpTT.CARET;
           }
-        case 126: break;
+        case 128: break;
         case 37: 
           { yybegin(YYINITIAL); return RegExpTT.GT;
           }
-        case 127: break;
-        case 67
+        case 129: break;
+        case 68
           { yybegin(PY_NAMED_GROUP_REF); return RegExpTT.PYTHON_NAMED_GROUP_REF;
           }
-        case 128: break;
+        case 130: break;
         case 16: 
           { return RegExpTT.UNION;
           }
-        case 129: break;
+        case 131: break;
         case 3: 
           { return RegExpTT.CHARACTER;
           }
-        case 130: break;
-        case 62
+        case 132: break;
+        case 63
           { yybegin(NAMED_GROUP); return RegExpTT.RUBY_NAMED_GROUP;
           }
-        case 131: break;
+        case 133: break;
         case 39: 
           { yybegin(OPTIONS); return RegExpTT.SET_OPTIONS;
           }
-        case 132: break;
+        case 134: break;
         case 26: 
           { yybegin(CLASS2); return RegExpTT.CHARACTER;
           }
-        case 133: break;
-        case 66
+        case 135: break;
+        case 67
           { if (xmlSchemaMode) { yypushback(1); return RegExpTT.CHAR_CLASS; } else return RegExpTT.CTRL;
           }
-        case 134: break;
+        case 136: break;
         case 30: 
           { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.ESC_CHARACTER;
           }
-        case 135: break;
+        case 137: break;
         case 12: 
           { return RegExpTT.DOLLAR;
           }
-        case 136: break;
+        case 138: break;
         case 49: 
           { if (xmlSchemaMode) return RegExpTT.CHAR_CLASS; else return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN;
           }
-        case 137: break;
+        case 139: break;
         case 41: 
           { return RegExpTT.REDUNDANT_ESCAPE;
           }
-        case 138: break;
+        case 140: break;
         case 47: 
           { return yystate() != CLASS2 ? RegExpTT.BOUNDARY : RegExpTT.ESC_CHARACTER;
           }
-        case 139: break;
+        case 141: break;
         case 8: 
           { yypushstate(CLASS2);
                             return RegExpTT.CLASS_BEGIN;
           }
-        case 140: break;
+        case 142: break;
         case 22: 
           { yypopstate(); return RegExpTT.RBRACE;
           }
-        case 141: break;
+        case 143: break;
         case 53: 
           { return StringEscapesTokenTypes.INVALID_UNICODE_ESCAPE_TOKEN;
           }
-        case 142: break;
+        case 144: break;
         case 52: 
           { return RegExpTT.BAD_HEX_VALUE;
           }
-        case 143: break;
+        case 145: break;
         case 9: 
           { return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN;
           }
-        case 144: break;
+        case 146: break;
         case 11: 
           { return RegExpTT.CARET;
           }
-        case 145: break;
+        case 147: break;
         case 44: 
           { return RegExpTT.ESC_CHARACTER;
           }
-        case 146: break;
-        case 55
+        case 148: break;
+        case 56
           // lookahead expression with fixed base length
           zzMarkedPos = zzStartRead + 1;
           { if (allowNestedCharacterClasses) {
@@ -964,8 +970,8 @@ class _RegExLexer implements FlexLexer {
                             }
                             return RegExpTT.CHARACTER;
           }
-        case 147: break;
-        case 64
+        case 149: break;
+        case 65
           // lookahead expression with fixed base length
           zzMarkedPos = zzStartRead + 1;
           { if (!allowNestedCharacterClasses) {
@@ -976,7 +982,7 @@ class _RegExLexer implements FlexLexer {
                               }
                               return RegExpTT.CLASS_BEGIN;
           }
-        case 148: break;
+        case 150: break;
         default:
           if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
             zzAtEOF = true;
index ccff8a4a0e12aae224f9099386fd9c197e935ded..5ebee1d74d22242c616e0ef9f1f5f56f9513fc8d 100644 (file)
@@ -57,7 +57,23 @@ public class RegExpCharImpl extends RegExpElementImpl implements RegExpChar {
     @Nullable
     public Character getValue() {
       final String s = getUnescapedText();
-      if (s.equals("\\") && getType() == Type.CHAR) return '\\';
+      if (s.equals("\\") && getType() == Type.CHAR) {
+        return '\\';
+      }
+      // special case for valid octal escaped sequences (see RUBY-12161)
+      if (s.startsWith("\\") && s.length() > 1) {
+        final ASTNode child = getNode().getFirstChildNode();
+        assert child != null;
+        final IElementType t = child.getElementType();
+        if (t == RegExpTT.OCT_CHAR) {
+          try {
+            return (char) Integer.parseInt(s.substring(1), 8);
+          }
+          catch (NumberFormatException e) {
+            // do nothing
+          }
+        }
+      }
       return unescapeChar(s);
     }
 
index ed1761f29901ee9c99e8da2092dd2825db4f2545..5c97ac35489b97b21af106b83ef29e70f27adf77 100644 (file)
@@ -25,6 +25,7 @@ import com.intellij.psi.PsiReference;
 import com.intellij.util.ArrayUtil;
 import com.intellij.util.IncorrectOperationException;
 import com.intellij.util.PlatformIcons;
+import org.intellij.lang.regexp.RegExpLanguageHosts;
 import org.intellij.lang.regexp.RegExpTT;
 import org.intellij.lang.regexp.psi.RegExpElementVisitor;
 import org.intellij.lang.regexp.psi.RegExpProperty;
@@ -62,26 +63,7 @@ public class RegExpPropertyImpl extends RegExpElementImpl implements RegExpPrope
         visitor.visitRegExpProperty(this);
     }
 
-    public static boolean isValidCategory(String category) {
-        if (category.startsWith("In")) {
-            try {
-                return Character.UnicodeBlock.forName(category.substring(2)) != null;
-            } catch (IllegalArgumentException e) {
-                return false;
-            }
-        }
-        if (category.startsWith("Is")) {
-            category = category.substring(2);
-        }
-        for (String[] name : PROPERTY_NAMES) {
-            if (name[0].equals(category)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private class MyPsiReference implements PsiReference {
+  private class MyPsiReference implements PsiReference {
         public PsiElement getElement() {
             return RegExpPropertyImpl.this;
         }
@@ -124,9 +106,10 @@ public class RegExpPropertyImpl extends RegExpElementImpl implements RegExpPrope
             if (categoryNode != null && categoryNode.getText().startsWith("In") && !categoryNode.getText().startsWith("Intelli")) {
                 return UNICODE_BLOCKS;
             } else {
-                final Object[] objects = new Object[PROPERTY_NAMES.length];
+              final String[][] knownProperties = RegExpLanguageHosts.getInstance().getAllKnownProperties(getElement());
+              final Object[] objects = new Object[knownProperties.length];
                 for (int i = 0; i < objects.length; i++) {
-                    final String[] prop = PROPERTY_NAMES[i];
+                    final String[] prop = knownProperties[i];
                     objects[i] = new MyLookupValue(prop);
 
                 }
@@ -192,73 +175,4 @@ public class RegExpPropertyImpl extends RegExpElementImpl implements RegExpPrope
         }
       UNICODE_BLOCKS = ArrayUtil.toStringArray(unicodeBlocks);
     }
-    public static final String[][] PROPERTY_NAMES = {
-            { "Cn", "UNASSIGNED" },
-            { "Lu", "UPPERCASE_LETTER" },
-            { "Ll", "LOWERCASE_LETTER" },
-            { "Lt", "TITLECASE_LETTER" },
-            { "Lm", "MODIFIER_LETTER" },
-            { "Lo", "OTHER_LETTER" },
-            { "Mn", "NON_SPACING_MARK" },
-            { "Me", "ENCLOSING_MARK" },
-            { "Mc", "COMBINING_SPACING_MARK" },
-            { "Nd", "DECIMAL_DIGIT_NUMBER" },
-            { "Nl", "LETTER_NUMBER" },
-            { "No", "OTHER_NUMBER" },
-            { "Zs", "SPACE_SEPARATOR" },
-            { "Zl", "LINE_SEPARATOR" },
-            { "Zp", "PARAGRAPH_SEPARATOR" },
-            { "Cc", "CNTRL" },
-            { "Cf", "FORMAT" },
-            { "Co", "PRIVATE USE" },
-            { "Cs", "SURROGATE" },
-            { "Pd", "DASH_PUNCTUATION" },
-            { "Ps", "START_PUNCTUATION" },
-            { "Pe", "END_PUNCTUATION" },
-            { "Pc", "CONNECTOR_PUNCTUATION" },
-            { "Po", "OTHER_PUNCTUATION" },
-            { "Sm", "MATH_SYMBOL" },
-            { "Sc", "CURRENCY_SYMBOL" },
-            { "Sk", "MODIFIER_SYMBOL" },
-            { "So", "OTHER_SYMBOL" },
-            { "L", "LETTER" },
-            { "M", "MARK" },
-            { "N", "NUMBER" },
-            { "Z", "SEPARATOR" },
-            { "C", "CONTROL" },
-            { "P", "PUNCTUATION" },
-            { "S", "SYMBOL" },
-            { "LD", "LETTER_OR_DIGIT" },
-            { "L1", "Latin-1" },
-            { "all", "ALL" },
-            { "ASCII", "ASCII" },
-            { "Alnum", "Alphanumeric characters" },
-            { "Alpha", "Alphabetic characters" },
-            { "Blank", "Space and tab characters" },
-            { "Cntrl", "Control characters" },
-            { "Digit", "Numeric characters" },
-            { "Graph", "printable and visible" },
-            { "Lower", "Lower-case alphabetic" },
-            { "Print", "Printable characters" },
-            { "Punct", "Punctuation characters" },
-            { "Space", "Space characters" },
-            { "Upper", "Upper-case alphabetic" },
-            { "XDigit", "hexadecimal digits" },
-            { "javaLowerCase", },
-            { "javaUpperCase", },
-            { "javaTitleCase", },
-            { "javaDigit", },
-            { "javaDefined", },
-            { "javaLetter", },
-            { "javaLetterOrDigit", },
-            { "javaJavaIdentifierStart", },
-            { "javaJavaIdentifierPart", },
-            { "javaUnicodeIdentifierStart", },
-            { "javaUnicodeIdentifierPart", },
-            { "javaIdentifierIgnorable", },
-            { "javaSpaceChar", },
-            { "javaWhitespace", },
-            { "javaISOControl", },
-            { "javaMirrored", },
-    };
 }
index e3d403c369ce78e87930df073277a74f3b28233a..88e6b00318d0d54b762a9da675c623cad696bd36 100644 (file)
@@ -31,6 +31,7 @@ import com.intellij.psi.StringEscapesTokenTypes;
     private boolean allowDanglingMetacharacters;
     private boolean allowNestedCharacterClasses;
     private boolean allowOctalNoLeadingZero;
+    private boolean allowHexDigitClass;
 
     _RegExLexer(EnumSet<RegExpCapability> capabilities) {
       this((java.io.Reader)null);
@@ -39,6 +40,7 @@ import com.intellij.psi.StringEscapesTokenTypes;
       this.allowNestedCharacterClasses = capabilities.contains(RegExpCapability.NESTED_CHARACTER_CLASSES);
       this.allowOctalNoLeadingZero = capabilities.contains(RegExpCapability.OCTAL_NO_LEADING_ZERO);
       this.commentMode = capabilities.contains(RegExpCapability.COMMENT_MODE);
+      this.allowHexDigitClass = capabilities.contains(RegExpCapability.ALLOW_HEX_DIGIT_CLASS);
     }
 
     private void yypushstate(int state) {
@@ -155,6 +157,7 @@ HEX_CHAR=[0-9a-fA-F]
 {ESCAPE}  {BOUNDARY}          { return yystate() != CLASS2 ? RegExpTT.BOUNDARY : RegExpTT.ESC_CHARACTER; }
 {ESCAPE}  {CONTROL}           { return RegExpTT.ESC_CTRL_CHARACTER; }
 
+{ESCAPE} [hH]                 { return (allowHexDigitClass ? RegExpTT.CHAR_CLASS : StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN); }
 {ESCAPE}  [:letter:]          { return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN; }
 {ESCAPE}  [\n\b\t\r\f ]       { return commentMode ? RegExpTT.CHARACTER : RegExpTT.REDUNDANT_ESCAPE; }
 
index eab0fbd743899841259beb934b14b442d742785a..1d32bf8ab6eb6641ae7d90c61346bb772711e26a 100644 (file)
@@ -21,23 +21,22 @@ import com.intellij.lang.ASTNode;
 import com.intellij.lang.annotation.Annotation;
 import com.intellij.lang.annotation.AnnotationHolder;
 import com.intellij.lang.annotation.Annotator;
-import com.intellij.lang.injection.InjectedLanguageManager;
 import com.intellij.psi.PsiComment;
 import com.intellij.psi.PsiElement;
-import com.intellij.psi.PsiLanguageInjectionHost;
 import com.intellij.psi.util.PsiTreeUtil;
-import org.intellij.lang.regexp.RegExpLanguageHost;
-import org.intellij.lang.regexp.RegExpLanguageHosts;
-import org.intellij.lang.regexp.RegExpTT;
+import org.intellij.lang.regexp.*;
 import org.intellij.lang.regexp.psi.*;
-import org.intellij.lang.regexp.psi.impl.RegExpPropertyImpl;
 import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
 
 import java.math.BigInteger;
 
 public final class RegExpAnnotator extends RegExpElementVisitor implements Annotator {
   private AnnotationHolder myHolder;
+  private final RegExpLanguageHosts myLanguageHosts;
+
+  public RegExpAnnotator() {
+    myLanguageHosts = RegExpLanguageHosts.getInstance();
+  }
 
   public void annotate(@NotNull PsiElement psiElement, @NotNull AnnotationHolder holder) {
     assert myHolder == null : "unsupported concurrent annotator invocation";
@@ -98,7 +97,7 @@ public final class RegExpAnnotator extends RegExpElementVisitor implements Annot
     }
     else {
       final String text = ch.getUnescapedText();
-      if (text.startsWith("\\") && isRedundantEscape(ch, text)) {
+      if (text.startsWith("\\") && myLanguageHosts.isRedundantEscape(ch, text)) {
         final ASTNode astNode = ch.getNode().getFirstChildNode();
         if (astNode != null && astNode.getElementType() == RegExpTT.REDUNDANT_ESCAPE) {
           final Annotation a = myHolder.createWeakWarningAnnotation(ch, "Redundant character escape");
@@ -108,34 +107,12 @@ public final class RegExpAnnotator extends RegExpElementVisitor implements Annot
     }
   }
 
-  private static boolean isRedundantEscape(RegExpChar ch, String text) {
-    if (text.length() <= 1) return false;
-    RegExpLanguageHost host = findRegExpHost(ch);
-    if (host != null) {
-      final char c = text.charAt(1);
-      final boolean needsEscaping = host.characterNeedsEscaping(c);
-      return !needsEscaping;
-    }
-    else {
-      return !("\\]".equals(text) || "\\}".equals(text));
-    }
-  }
-
-  @Nullable
-  private static RegExpLanguageHost findRegExpHost(PsiElement element) {
-    PsiLanguageInjectionHost host = InjectedLanguageManager.getInstance(element.getProject()).getInjectionHost(element);
-    if (host instanceof RegExpLanguageHost) {
-      return (RegExpLanguageHost)host;
-    }
-    if (host != null) {
-      return RegExpLanguageHosts.INSTANCE.forClass(host.getClass());
-    }
-    return null;
-  }
-
   public void visitRegExpProperty(RegExpProperty property) {
     final ASTNode category = property.getCategoryNode();
-    if (category != null && !RegExpPropertyImpl.isValidCategory(category.getText())) {
+    if (category == null) {
+      return;
+    }
+    if(!myLanguageHosts.isValidCategory(category.getPsi(), category.getText())) {
       final Annotation a = myHolder.createErrorAnnotation(category, "Unknown character category");
       if (a != null) {
         // IDEA-9381
@@ -179,8 +156,7 @@ public final class RegExpAnnotator extends RegExpElementVisitor implements Annot
       }
     }
     if (group.isPythonNamedGroup() || group.isRubyNamedGroup()) {
-      RegExpLanguageHost host = findRegExpHost(group);
-      if (host == null || !host.supportsNamedGroupSyntax(group)) {
+      if (!myLanguageHosts.supportsNamedGroupSyntax(group)) {
         myHolder.createErrorAnnotation(group, "This named group syntax is not supported");
       }
     }
@@ -211,8 +187,7 @@ public final class RegExpAnnotator extends RegExpElementVisitor implements Annot
   @Override
   public void visitComment(PsiComment comment) {
     if (comment.getText().startsWith("(?#")) {
-      RegExpLanguageHost host = findRegExpHost(comment);
-      if (host == null || !host.supportsPerl5EmbeddedComments()) {
+      if (!myLanguageHosts.supportsPerl5EmbeddedComments(comment)) {
         myHolder.createErrorAnnotation(comment, "Embedded comments are not supported");
       }
     }
@@ -220,8 +195,7 @@ public final class RegExpAnnotator extends RegExpElementVisitor implements Annot
 
   @Override
   public void visitRegExpPyCondRef(RegExpPyCondRef condRef) {
-    RegExpLanguageHost host = findRegExpHost(condRef);
-    if (host == null || !host.supportsPythonConditionalRefs()) {
+    if (!myLanguageHosts.supportsPythonConditionalRefs(condRef)) {
       myHolder.createErrorAnnotation(condRef, "Conditional references are not supported");
     }
   }
@@ -279,8 +253,7 @@ public final class RegExpAnnotator extends RegExpElementVisitor implements Annot
       }
     }
     if (quantifier.getType() == RegExpQuantifier.Type.POSSESSIVE) {
-      RegExpLanguageHost host = findRegExpHost(quantifier);
-      if (host != null && !host.supportsPossessiveQuantifiers()) {
+      if (!myLanguageHosts.supportsPossessiveQuantifiers(quantifier)) {
         myHolder.createErrorAnnotation(quantifier, "Nested quantifier in regexp");
       }
     }
index c58c1ab94282398500a32dc88ba67c28bdda22dc..a408a540a99af48c04baea01839af9c6366c2793 100644 (file)
 package test;
 
 import com.intellij.openapi.application.PathManager;
+import com.intellij.testFramework.PlatformTestCase;
 import com.intellij.testFramework.fixtures.CodeInsightFixtureTestCase;
 import com.intellij.util.ArrayUtil;
-import org.intellij.lang.regexp.psi.impl.RegExpPropertyImpl;
+import org.intellij.lang.regexp.DefaultRegExpPropertiesProvider;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -32,7 +33,13 @@ import java.util.Arrays;
  */
 public class RegExpCompletionTest extends CodeInsightFixtureTestCase {
 
-    // util methods
+  @Override
+  protected void setUp() throws Exception {
+    PlatformTestCase.initPlatformLangPrefix();
+    super.setUp();
+  }
+
+  // util methods
     private static String getInputDataFileName(String testName) {
         return Character.toUpperCase(testName.charAt(0)) + testName.substring(1) + ".regexp";
     }
@@ -52,7 +59,7 @@ public class RegExpCompletionTest extends CodeInsightFixtureTestCase {
     private void doBackSlashVariantsTest() throws Throwable {
         java.util.List<String> nameList = new ArrayList<String>(Arrays.asList("d", "D", "s", "S", "w", "W", "b", "B", "A", "G", "Z", "z", "Q", "E",
                 "t", "n", "r", "f", "a", "e"));
-        for (String[] stringArray : RegExpPropertyImpl.PROPERTY_NAMES) {
+        for (String[] stringArray : DefaultRegExpPropertiesProvider.getInstance().getAllKnownProperties()) {
             nameList.add("p{" + stringArray[0] + "}");
         }
         myFixture.testCompletionVariants(getInputDataFileName(getTestName(true)), ArrayUtil.toStringArray(nameList));
@@ -60,7 +67,7 @@ public class RegExpCompletionTest extends CodeInsightFixtureTestCase {
 
   public void testPropertyVariants() throws Throwable {
         java.util.List<String> nameList = new ArrayList<String>();
-        for (String[] stringArray : RegExpPropertyImpl.PROPERTY_NAMES) {
+        for (String[] stringArray : DefaultRegExpPropertiesProvider.getInstance().getAllKnownProperties()) {
             nameList.add("{" + stringArray[0] + "}");
         }
         myFixture.testCompletionVariants(getInputDataFileName(getTestName(true)), ArrayUtil.toStringArray(nameList));
index df7985a5bfc2147a9c26006274ebecda1bf2cbf2..a34b7855db4f8fc3fa4bc66447e74a79d662202d 100755 (executable)
Binary files a/bin/linux/fsnotifier and b/bin/linux/fsnotifier differ
index 9f0b3a46d2f2488c8b375be26b8227112ad4274d..812e326cd6a1136a4e233e1d3890dc7e1d94cd9a 100755 (executable)
Binary files a/bin/linux/fsnotifier64 and b/bin/linux/fsnotifier64 differ
index f1cda146447a243c032efec701c6436c95a7c12e..0a80084902161162dccf005a1ae61e673c603185 100644 (file)
Binary files a/build/conf/mac/Contents/Resources/idea.icns and b/build/conf/mac/Contents/Resources/idea.icns differ
index 7ca53838fb6aeb6ba07cd57f62ac3b7d45533c61..aaa45cc5cd05d60208bbfac9ed1ce2772a080f89 100644 (file)
@@ -239,7 +239,7 @@ libraryLicense(name: "XML-RPC", libraryName: "XmlRPC", version: "2.0", license:
 libraryLicense(name: "XStream", version: "1.4.3", license: "BSD", url: "http://xstream.codehaus.org/", licenseUrl: "http://xstream.codehaus.org/license.html")
 libraryLicense(name: "YourKit Java Profiler", libraryName: "yjp-controller-api-redist.jar", version: "8.0.x", license: "link (commercial license)", url: "http://yourkit.com/", licenseUrl: "http://www.yourkit.com/purchase/license.html")
 libraryLicense(name: "protobuf", version: "2.3.0", license: "New BSD", url: "http://code.google.com/p/protobuf/", licenseUrl: "http://code.google.com/p/protobuf/source/browse/trunk/COPYING.txt?r=367")
-libraryLicense(name: "Netty", libraryName: "Netty", version: "3.5.10", license: "Apache 2.0", url: "http://netty.io", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0")
+libraryLicense(name: "Netty", libraryName: "Netty", version: "3.6.2", license: "Apache 2.0", url: "http://netty.io", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0")
 libraryLicense(name: "Kryo", libraryName: "Kryo", version: "1.04", license: "New BSD License", url: "http://code.google.com/p/kryo/", licenseUrl: "http://www.opensource.org/licenses/bsd-license.php")
 libraryLicense(name: "Snappy-Java", libraryName: "Snappy-Java", version: "1.0.5-M2", license: "Apache 2.0", url: "http://code.google.com/p/snappy-java/", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0")
 libraryLicense(name: "Cucumber-Java", libraryName: "cucumber-java", version: "1.0.14", license: "MIT License", url: "https://github.com/cucumber/cucumber-jvm/", licenseUrl: "http://www.opensource.org/licenses/mit-license.html")
@@ -248,6 +248,7 @@ libraryLicense(name: "Cucumber-Groovy", libraryName: "cucumber-groovy", version:
 libraryLicense(name: "proxy-vole", libraryName: "proxy-vole", version: "20120920", license: "New BSD License", url: "http://code.google.com/p/proxy-vole/", licenseUrl: "http://opensource.org/licenses/BSD-3-Clause")
 libraryLicense(name: "Rhino JavaScript Engine", libraryName: "rhino-js-1_7R4", version: "1.7R4", license: "MPL 1.1", url: "http://www.mozilla.org/rhino/", licenseUrl: "http://www.mozilla.org/MPL/MPL-1.1.html")
 libraryLicense(name: "asm-4.0-all", libraryName: "asm-4.0-all", version: "4.0", attachedTo: "ByteCodeViewer", license: "BSD", url: "http://asm.objectweb.org/", licenseUrl: "http://asm.objectweb.org/license.html")
+libraryLicense(name: "jsr305", libraryName: "jsr305", version: "snapshot", license: "BSD", url: "http://code.google.com/p/jsr-305/", licenseUrl: "http://code.google.com/p/jsr-305/source/browse/trunk/ri/LICENSE")
 jetbrainsLibrary("JPS")
 jetbrainsLibrary("Maven Embedder")
 jetbrainsLibrary("tcServiceMessages")
index f0f2c91507543695d05c327a59fbf9def743ecf1..156fcda216926e03a69bc9f033aaf2d0e2817d8a 100644 (file)
         <option name="FOREGROUND" value="a5c25c" />
       </value>
     </option>
-    <option name="DEFAULT_TEMPLATE_LANGUAGE_COLOR">
-      <value>
-        <option name="BACKGROUND" value="141414" />
-      </value>
-    </option>
     <option name="DEFAULT_VALID_STRING_ESCAPE">
       <value>
         <option name="FOREGROUND" value="cc7832" />
     <option name="IDENTIFIER_UNDER_CARET_ATTRIBUTES">
       <value>
         <option name="BACKGROUND" value="424445" />
-        <option name="ERROR_STRIPE_COLOR" value="ccccff" />
+        <option name="ERROR_STRIPE_COLOR" value="258500" />
       </value>
     </option>
     <option name="IMPLICIT_ANONYMOUS_CLASS_PARAMETER_ATTRIBUTES">
         <option name="EFFECT_TYPE" value="-1" />
       </value>
     </option>
-    <option name="PHP_EXEC_COMMAND_ID">
+    <option name="PHP_CONSTANT">
       <value>
-        <option name="FOREGROUND" value="a5c25c" />
-        <option name="BACKGROUND" value="5e6465" />
+        <option name="FOREGROUND" value="9876aa" />
+        <option name="FONT_TYPE" value="2" />
       </value>
     </option>
-    <option name="PHP_SCRIPTING_BACKGROUND">
+    <option name="PHP_EXEC_COMMAND_ID">
       <value>
-        <option name="BACKGROUND" value="444444" />
+        <option name="FOREGROUND" value="a5c25c" />
+        <option name="BACKGROUND" value="5e6465" />
       </value>
     </option>
     <option name="PHP_VAR">
       <value>
-        <option name="FOREGROUND" value="bf5553" />
+        <option name="FOREGROUND" value="9876aa" />
       </value>
     </option>
     <option name="PROPERTIES.INVALID_STRING_ESCAPE">
     </option>
     <option name="SEARCH_RESULT_ATTRIBUTES">
       <value>
-        <option name="BACKGROUND" value="8b6700" />
+        <option name="BACKGROUND" value="155221" />
+        <option name="ERROR_STRIPE_COLOR" value="246e00" />
       </value>
     </option>
     <option name="SLIM_BAD_CHARACTER">
     </option>
     <option name="WARNING_ATTRIBUTES">
       <value>
-        <option name="BACKGROUND" value="525041" />
+        <option name="BACKGROUND" value="52503a" />
         <option name="EFFECT_TYPE" value="2" />
         <option name="ERROR_STRIPE_COLOR" value="8c8c00" />
       </value>
     </option>
     <option name="WRITE_IDENTIFIER_UNDER_CARET_ATTRIBUTES">
       <value>
-        <option name="BACKGROUND" value="480c48" />
-        <option name="ERROR_STRIPE_COLOR" value="ffcdff" />
+        <option name="BACKGROUND" value="532b2e" />
+        <option name="ERROR_STRIPE_COLOR" value="7e6761" />
       </value>
     </option>
     <option name="WRITE_SEARCH_RESULT_ATTRIBUTES">
       <value>
-        <option name="BACKGROUND" value="5a647e" />
+        <option name="BACKGROUND" value="532b2e" />
+        <option name="ERROR_STRIPE_COLOR" value="c55450" />
       </value>
     </option>
     <option name="WRONG_REFERENCES_ATTRIBUTES">
index db467395b0fcb6bfa5f6491483e1f6a2e9518db1..b10e087811f315e8a09dd7d16655fd35f15eced7 100644 (file)
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <scheme name="RailsCasts" parent_scheme="Default" version="1">
   <option name="LINE_SPACING" value="1.0" />
   <option name="EDITOR_FONT_SIZE" value="12" />
     <option name="GUTTER_BACKGROUND" value="2B2B2B" />
   </colors>
   <attributes>
-    <option name="APACHE_CONFIG.ARG_LEXEM">
-      <value>
-        <option name="FOREGROUND" value="A5C261" />
-      </value>
-    </option>
-    <option name="APACHE_CONFIG.COMMENT">
-      <value>
-        <option name="FOREGROUND" value="BC9458" />
-        <option name="FONT_TYPE" value="2" />
-      </value>
-    </option>
-    <option name="APACHE_CONFIG.IDENTIFIER">
-      <value>
-        <option name="FOREGROUND" value="CC7833" />
-      </value>
-    </option>
     <option name="BAD_CHARACTER">
       <value>
-        <option name="FOREGROUND" value="FFFFFF" />
+        <option name="FOREGROUND" value="ffffff" />
         <option name="BACKGROUND" value="990000" />
       </value>
     </option>
     </option>
     <option name="BUILDOUT.KEY">
       <value>
-        <option name="FOREGROUND" value="CC7833" />
+        <option name="FOREGROUND" value="cc7833" />
       </value>
     </option>
     <option name="BUILDOUT.KEY_VALUE_SEPARATOR">
       <value>
-        <option name="FOREGROUND" value="CC7833" />
+        <option name="FOREGROUND" value="cc7833" />
       </value>
     </option>
     <option name="BUILDOUT.LINE_COMMENT">
       <value>
-        <option name="FOREGROUND" value="BC9458" />
+        <option name="FOREGROUND" value="bc9458" />
         <option name="FONT_TYPE" value="2" />
       </value>
     </option>
     <option name="BUILDOUT.SECTION_NAME">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
       </value>
     </option>
     <option name="BUILDOUT.VALUE">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
       </value>
     </option>
     <option name="CLASS_NAME_ATTRIBUTES">
     </option>
     <option name="CLASS_REFERENCE">
       <value>
-        <option name="FOREGROUND" value="FFFFFF" />
-      </value>
-    </option>
-    <option name="COFFEESCRIPT.BAD_CHARACTER">
-      <value>
-        <option name="FOREGROUND" value="FFFFFF" />
-        <option name="BACKGROUND" value="990000" />
-      </value>
-    </option>
-    <option name="COFFEESCRIPT.BLOCK_COMMENT">
-      <value>
-        <option name="FOREGROUND" value="BC9458" />
-        <option name="FONT_TYPE" value="2" />
+        <option name="FOREGROUND" value="ffffff" />
       </value>
     </option>
     <option name="COFFEESCRIPT.BOOLEAN">
       <value>
-        <option name="FOREGROUND" value="6E9CBE" />
+        <option name="FOREGROUND" value="6e9cbe" />
       </value>
     </option>
     <option name="COFFEESCRIPT.BRACE">
     </option>
     <option name="COFFEESCRIPT.CLASS_NAME">
       <value>
-        <option name="FOREGROUND" value="FFC66D" />
-      </value>
-    </option>
-    <option name="COFFEESCRIPT.COLON">
-      <value>
-        <option name="FOREGROUND" value="CC7833" />
+        <option name="FOREGROUND" value="ffc66d" />
       </value>
     </option>
     <option name="COFFEESCRIPT.COMMA">
     </option>
     <option name="COFFEESCRIPT.ESCAPE_SEQUENCE">
       <value>
-        <option name="FOREGROUND" value="519F50" />
+        <option name="FOREGROUND" value="519f50" />
       </value>
     </option>
     <option name="COFFEESCRIPT.EXISTENTIAL">
       <value>
-        <option name="FOREGROUND" value="CC7833" />
+        <option name="FOREGROUND" value="cc7833" />
       </value>
     </option>
     <option name="COFFEESCRIPT.EXPRESSIONS_SUBSTITUTION_MARK">
     </option>
     <option name="COFFEESCRIPT.FUNCTION">
       <value>
-        <option name="FOREGROUND" value="CC7833" />
+        <option name="FOREGROUND" value="cc7833" />
       </value>
     </option>
     <option name="COFFEESCRIPT.FUNCTION_BINDING">
       <value>
-        <option name="FOREGROUND" value="CC7833" />
+        <option name="FOREGROUND" value="cc7833" />
       </value>
     </option>
     <option name="COFFEESCRIPT.FUNCTION_NAME">
       <value>
-        <option name="FOREGROUND" value="FFC66D" />
+        <option name="FOREGROUND" value="ffc66d" />
       </value>
     </option>
     <option name="COFFEESCRIPT.GLOBAL_VARIABLE">
       <value>
-        <option name="FOREGROUND" value="D0D0FF" />
+        <option name="FOREGROUND" value="d0d0ff" />
       </value>
     </option>
     <option name="COFFEESCRIPT.HEREDOC_CONTENT">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
       </value>
     </option>
     <option name="COFFEESCRIPT.HEREDOC_ID">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
-      </value>
-    </option>
-    <option name="COFFEESCRIPT.HEREGEX_CONTENT">
-      <value>
-        <option name="FOREGROUND" value="A5C261" />
-      </value>
-    </option>
-    <option name="COFFEESCRIPT.HEREGEX_ID">
-      <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
       </value>
     </option>
     <option name="COFFEESCRIPT.IDENTIFIER">
     <option name="COFFEESCRIPT.JAVASCRIPT_CONTENT">
       <value />
     </option>
-    <option name="COFFEESCRIPT.JAVASCRIPT_ID">
-      <value>
-        <option name="FOREGROUND" value="A5C261" />
-      </value>
-    </option>
     <option name="COFFEESCRIPT.KEYWORD">
       <value>
-        <option name="FOREGROUND" value="CC7833" />
-      </value>
-    </option>
-    <option name="COFFEESCRIPT.LINE_COMMENT">
-      <value>
-        <option name="FOREGROUND" value="BC9458" />
-        <option name="FONT_TYPE" value="2" />
+        <option name="FOREGROUND" value="cc7833" />
       </value>
     </option>
     <option name="COFFEESCRIPT.LOCAL_VARIABLE">
       <value />
     </option>
-    <option name="COFFEESCRIPT.NUMBER">
-      <value>
-        <option name="FOREGROUND" value="A5C261" />
-      </value>
-    </option>
     <option name="COFFEESCRIPT.OBJECT_KEY">
       <value />
     </option>
     <option name="COFFEESCRIPT.OPERATIONS">
       <value>
-        <option name="FOREGROUND" value="CC7833" />
+        <option name="FOREGROUND" value="cc7833" />
       </value>
     </option>
     <option name="COFFEESCRIPT.PARENTHESIS">
     </option>
     <option name="COFFEESCRIPT.PROTOTYPE">
       <value>
-        <option name="FOREGROUND" value="FFC66D" />
+        <option name="FOREGROUND" value="ffc66d" />
       </value>
     </option>
     <option name="COFFEESCRIPT.RANGE">
       <value />
     </option>
-    <option name="COFFEESCRIPT.REGULAR_EXPRESSION_CONTENT">
-      <value>
-        <option name="FOREGROUND" value="A5C261" />
-      </value>
-    </option>
     <option name="COFFEESCRIPT.REGULAR_EXPRESSION_FLAG">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
-      </value>
-    </option>
-    <option name="COFFEESCRIPT.REGULAR_EXPRESSION_ID">
-      <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
       </value>
     </option>
     <option name="COFFEESCRIPT.SEMICOLON">
     <option name="COFFEESCRIPT.SPLAT">
       <value />
     </option>
-    <option name="COFFEESCRIPT.STRING">
-      <value>
-        <option name="FOREGROUND" value="A5C261" />
-      </value>
-    </option>
-    <option name="COFFEESCRIPT.STRING_LITERAL">
-      <value>
-        <option name="FOREGROUND" value="A5C261" />
-      </value>
-    </option>
     <option name="COFFEESCRIPT.THIS">
       <value>
-        <option name="FOREGROUND" value="D0D0FF" />
+        <option name="FOREGROUND" value="d0d0ff" />
       </value>
     </option>
     <option name="CONDITIONALLY_NOT_COMPILED">
       <value>
-        <option name="FOREGROUND" value="BC9458" />
+        <option name="FOREGROUND" value="bc9458" />
         <option name="FONT_TYPE" value="2" />
       </value>
     </option>
     </option>
     <option name="CONSOLE_CYAN_OUTPUT">
       <value>
-        <option name="FOREGROUND" value="06b8b8" />
+        <option name="FOREGROUND" value="6b8b8" />
       </value>
     </option>
     <option name="CONSOLE_ERROR_OUTPUT">
         <option name="FOREGROUND" value="754200" />
       </value>
     </option>
-    <option name="CSS.COMMENT">
-      <value>
-        <option name="FOREGROUND" value="BC9458" />
-        <option name="FONT_TYPE" value="2" />
-      </value>
-    </option>
     <option name="CSS.FUNCTION">
       <value>
-        <option name="FOREGROUND" value="DA4939" />
+        <option name="FOREGROUND" value="da4939" />
       </value>
     </option>
     <option name="CSS.IDENT">
       <value>
-        <option name="FOREGROUND" value="E8BF6A" />
+        <option name="FOREGROUND" value="e8bf6a" />
       </value>
     </option>
     <option name="CSS.KEYWORD">
       <value>
-        <option name="FOREGROUND" value="CC7833" />
+        <option name="FOREGROUND" value="cc7833" />
         <option name="FONT_TYPE" value="1" />
+        <option name="EFFECT_COLOR" value="cc7833" />
         <option name="EFFECT_TYPE" value="1" />
-        <option name="EFFECT_COLOR" value="CC7833" />
       </value>
     </option>
     <option name="CSS.NUMBER">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
       </value>
     </option>
     <option name="CSS.PROPERTY_NAME">
       <value>
-        <option name="FOREGROUND" value="6E9CBE" />
+        <option name="FOREGROUND" value="6e9cbe" />
       </value>
     </option>
     <option name="CSS.PROPERTY_VALUE">
     </option>
     <option name="CSS.STRING">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
         <option name="FONT_TYPE" value="1" />
       </value>
     </option>
     <option name="CSS.TAG_NAME">
       <value>
-        <option name="FOREGROUND" value="E8BF6A" />
+        <option name="FOREGROUND" value="e8bf6a" />
       </value>
     </option>
     <option name="CSS.URL">
     </option>
     <option name="CUSTOM_INVALID_STRING_ESCAPE_ATTRIBUTES">
       <value>
-        <option name="FOREGROUND" value="FFFFFF" />
+        <option name="FOREGROUND" value="ffffff" />
         <option name="BACKGROUND" value="990000" />
       </value>
     </option>
     </option>
     <option name="CUSTOM_LINE_COMMENT_ATTRIBUTES">
       <value>
-        <option name="FOREGROUND" value="BC9458" />
+        <option name="FOREGROUND" value="bc9458" />
         <option name="FONT_TYPE" value="2" />
       </value>
     </option>
     <option name="CUSTOM_MULTI_LINE_COMMENT_ATTRIBUTES">
       <value>
-        <option name="FOREGROUND" value="BC9458" />
+        <option name="FOREGROUND" value="bc9458" />
         <option name="FONT_TYPE" value="2" />
       </value>
     </option>
     <option name="CUSTOM_NUMBER_ATTRIBUTES">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
       </value>
     </option>
     <option name="CUSTOM_STRING_ATTRIBUTES">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
         <option name="FONT_TYPE" value="1" />
       </value>
     </option>
     <option name="CUSTOM_VALID_STRING_ESCAPE_ATTRIBUTES">
       <value>
-        <option name="FOREGROUND" value="519F50" />
+        <option name="FOREGROUND" value="519f50" />
         <option name="FONT_TYPE" value="1" />
       </value>
     </option>
     <option name="Clojure Atom">
       <value>
-        <option name="FOREGROUND" value="CC7833" />
+        <option name="FOREGROUND" value="cc7833" />
       </value>
     </option>
     <option name="Clojure Character">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
       </value>
     </option>
     <option name="Clojure Keyword">
     </option>
     <option name="Clojure Line comment">
       <value>
-        <option name="FOREGROUND" value="BC9458" />
+        <option name="FOREGROUND" value="bc9458" />
         <option name="FONT_TYPE" value="2" />
       </value>
     </option>
     </option>
     <option name="Clojure Numbers">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
       </value>
     </option>
     <option name="Clojure Strings">
       <value>
-        <option name="FOREGROUND" value="A5C261" />
+        <option name="FOREGROUND" value="a5c261" />
+      </value>
+    </option>
+    <option name="DEFAULT_ATTRIBUTE">
+      <value>
+        <option name="FOREGROUND" value="e8bf6a" />
+      </value>
+    </option>
+    <option name="DEFAULT_BLOCK_COMMENT">
+      <value>
+        <option name="FOREGROUND" value="bc9458" />
+        <option name="FONT_TYPE" value="2" />
+      </value>
+    </option>
+    <option name="DEFAULT_BRACES">
+      <value />
+    </option>
+    <option name="DEFAULT_BRACKETS">
+      <value />
+    <