diff --git a/README.md b/README.md index 547c5da..0b24f13 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,43 @@ -# SCXcodeMiniMap +# SCXcodeMinimap v2.3 +SCXcodeMiniMap is a Xcode plugin that adds a source editor Minimap to Xcode. -SCXcodeMiniMap is a plugin that adds a source editor MiniMap to Xcode. +#### Features -![SCXcodeMiniMap](https://dl.dropboxusercontent.com/u/12748201/SCXcodeMiniMap.png) +- Custom size +- Custom themes +- Highlighting: + - search results + - comments and preprocessor directives + - breakpoints + - build errors and warnings + - Xcode's "instances of selected symbol" (Preferences/Text Editing) +- Can autohide for small files +- Can hide the main editor scroller +- Shows code foldings -## Features -- It works with an unlimited number of opened editors, including the assistant and version editors -- The minimap and its selection view scroll seamlessly with the editor and provide a nice way of figuring out the current position in the document -- Full syntax highlighting -- It blends with the currently selected theme -- View menu item for showing/hiding it (Ctrl+Shift+M) -- Size configurable via the kDefaultZoomLevel parameter (defaults to 10% out of the editor's size) +All options are configurable through the View/Minimap menu item -- Tested on OS X 10.7.5 Xcode 4.6(4H127) and OS X 1.8.3 Xcode 4.6.2(4H1003) +#### Screenshots +Without editor highlighting | With editor highlighting +:--------------------------:|:--------------------------: +![](https://drive.google.com/u/0/uc?id=17cfIoUGJZc2I_21Zv4s0kqlb5uxkwplL&export=download) | ![](https://drive.google.com/u/0/uc?id=1sKzcMnu94IQAYwRyJnNAKiiBBOJkX9YC&export=download) | +![](https://drive.google.com/u/0/uc?id=1NSk0QTXnfX1A4CEja7_aRDb8d19YCiW3&export=download) | ![](https://drive.google.com/u/0/uc?id=1a-7Luigmw0RLZlaZy86URNd8l8aPx6dO&export=download) | -## Installation -- Build the project and restart Xcode +![](https://drive.google.com/u/0/uc?id=14vYpfnPLlENWjYPtTtJQm1pmnivPp0rC&export=download) -- If you encounter any issues you can uninstall it by removing the ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/SCXcodeMinimap.xcplugin folder +![](https://drive.google.com/u/0/uc?id=1csskmT7_ToRYCUwT6eEep3ld5eOT63pj&export=download) + +#### Installation +- Through [Alcatraz](https://github.com/alcatraz/Alcatraz) + +- or download the sources, build the project and restart Xcode -##Known issues -- Line breaks don't match between the normal editor and the minimap +- or download SCXcodeMinimap.xcplugin.zip from the releases tab, unzip and move it to the Xcode plugins folder ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/SCXcodeMinimap.xcplugin + +- If you encounter any issues you can uninstall it by removing the ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/SCXcodeMinimap.xcplugin folder -## License +#### License SCXcodeMiniMap is released under the GNU GENERAL PUBLIC LICENSE (see the LICENSE file) -## Contact -Any suggestions or improvements are more than welcome. Feel free to contact me at [stefan.ceriu@yahoo.com](mailto:stefan.ceriu@yahoo.com) or [@stefanceriu](https://twitter.com/stefanceriu). \ No newline at end of file +#### Contact +Any suggestions or improvements are more than welcome. Feel free to contact me at [stefan.ceriu@gmail.com](mailto:stefan.ceriu@gmail.com) or [@stefanceriu](https://twitter.com/stefanceriu). diff --git a/SCXcodeMinimap.xcodeproj/project.pbxproj b/SCXcodeMinimap.xcodeproj/project.pbxproj index f39fe72..d148abb 100644 --- a/SCXcodeMinimap.xcodeproj/project.pbxproj +++ b/SCXcodeMinimap.xcodeproj/project.pbxproj @@ -7,16 +7,102 @@ objects = { /* Begin PBXBuildFile section */ - 18D2B13117244C0A0026D09F /* SCSelectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 18D2B13017244C0A0026D09F /* SCSelectionView.m */; }; + 1809FF8F1AED1A730058D946 /* NSScroller+SCXcodeMinimap.m in Sources */ = {isa = PBXBuildFile; fileRef = 1809FF8E1AED1A730058D946 /* NSScroller+SCXcodeMinimap.m */; }; + 1819E4291AA1FB5900C344F2 /* SCXcodeMinimapScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1819E4281AA1FB5900C344F2 /* SCXcodeMinimapScrollView.m */; }; + 184C11861A740F97002A7C65 /* SCXcodeMinimapSelectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 184C11821A740F97002A7C65 /* SCXcodeMinimapSelectionView.m */; }; + 184C11871A740F97002A7C65 /* SCXcodeMinimapView.m in Sources */ = {isa = PBXBuildFile; fileRef = 184C11841A740F97002A7C65 /* SCXcodeMinimapView.m */; }; + 1889464D1B11DDEE0036175B /* SCXcodeMinimapTheme.m in Sources */ = {isa = PBXBuildFile; fileRef = 1889464C1B11DDEE0036175B /* SCXcodeMinimapTheme.m */; }; + 188FCC8A1A98B57A0026F529 /* DBGBreakpointAnnotationProvider+SCXcodeMinimap.m in Sources */ = {isa = PBXBuildFile; fileRef = 188FCC891A98B57A0026F529 /* DBGBreakpointAnnotationProvider+SCXcodeMinimap.m */; }; + 18C2EA5C1A9C7F8A002CEB20 /* DBGBreakpointAnnotation+SCXcodeMinimap.m in Sources */ = {isa = PBXBuildFile; fileRef = 18C2EA5B1A9C7F8A002CEB20 /* DBGBreakpointAnnotation+SCXcodeMinimap.m */; }; + 18DE25ED1B202ACA00F3D380 /* IDESourceCodeEditor+SCXcodeMinimap.m in Sources */ = {isa = PBXBuildFile; fileRef = 18DE25EC1B202ACA00F3D380 /* IDESourceCodeEditor+SCXcodeMinimap.m */; }; + 18E577FC1B119F6600421483 /* IDEIssueAnnotationProvider+SCXcodeMinimap.m in Sources */ = {isa = PBXBuildFile; fileRef = 18E577FB1B119F6600421483 /* IDEIssueAnnotationProvider+SCXcodeMinimap.m */; }; + 18E75A261B80B3190082AA24 /* IDEEditorArea+SCXcodeMinimap.m in Sources */ = {isa = PBXBuildFile; fileRef = 18E75A251B80B3190082AA24 /* IDEEditorArea+SCXcodeMinimap.m */; }; + 18ECB80E1B13226500EE4D82 /* DVTLayoutManager+SCXcodeMinimap.m in Sources */ = {isa = PBXBuildFile; fileRef = 18ECB80D1B13226500EE4D82 /* DVTLayoutManager+SCXcodeMinimap.m */; }; + 18ECB8111B1322A300EE4D82 /* SCXcodeMinimapCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 18ECB8101B1322A300EE4D82 /* SCXcodeMinimapCommon.m */; }; 18FE09B61707639E00118FEB /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18FE09B51707639E00118FEB /* Cocoa.framework */; }; 18FE09C9170764E400118FEB /* SCXcodeMinimap.m in Sources */ = {isa = PBXBuildFile; fileRef = 18FE09C8170764E400118FEB /* SCXcodeMinimap.m */; }; + 2BDF45EF1B6EA50300EAC683 /* DVTFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BDF45EE1B6EA50300EAC683 /* DVTFoundation.framework */; }; + 2BDF45F11B6EA51000EAC683 /* DVTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BDF45F01B6EA51000EAC683 /* DVTKit.framework */; }; + 2BDF45F31B6EA54600EAC683 /* IDEFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BDF45F21B6EA54600EAC683 /* IDEFoundation.framework */; }; + 2BDF45F51B6EA54E00EAC683 /* IDEKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BDF45F41B6EA54E00EAC683 /* IDEKit.framework */; }; + 2BDF45FB1B6EAB5600EAC683 /* IDESourceEditor in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BDF45FA1B6EAB5600EAC683 /* IDESourceEditor */; }; + 2BDF45FD1B6EAB8400EAC683 /* DebuggerUI in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BDF45FC1B6EAB8400EAC683 /* DebuggerUI */; }; 8742532317307161001C947C /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8742532217307161001C947C /* QuartzCore.framework */; }; - B25F211C172FE208001A9E6E /* SCMiniMapView.m in Sources */ = {isa = PBXBuildFile; fileRef = B25F211B172FE208001A9E6E /* SCMiniMapView.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 18D2B12F17244C0A0026D09F /* SCSelectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSelectionView.h; sourceTree = ""; }; - 18D2B13017244C0A0026D09F /* SCSelectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SCSelectionView.m; sourceTree = ""; }; + 180790681B263C200026A519 /* DVTFoldingManagerDelegate-Protocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DVTFoldingManagerDelegate-Protocol.h"; sourceTree = ""; }; + 180790691B263CF60026A519 /* DVTTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTTextView.h; sourceTree = ""; }; + 1809FF8D1AED1A730058D946 /* NSScroller+SCXcodeMinimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSScroller+SCXcodeMinimap.h"; sourceTree = ""; }; + 1809FF8E1AED1A730058D946 /* NSScroller+SCXcodeMinimap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSScroller+SCXcodeMinimap.m"; sourceTree = ""; }; + 180F0C651A98AE1500E97254 /* DVTAnnotationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DVTAnnotationManager.h; sourceTree = ""; }; + 180F24D61B119866009ACE49 /* IDEIssueAnnotationProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IDEIssueAnnotationProvider.h; sourceTree = ""; }; + 1812C3911A77A7CF00E2CFB3 /* IDESourceCodeDocument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = IDESourceCodeDocument.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 1819E4271AA1FB5900C344F2 /* SCXcodeMinimapScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCXcodeMinimapScrollView.h; sourceTree = ""; }; + 1819E4281AA1FB5900C344F2 /* SCXcodeMinimapScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SCXcodeMinimapScrollView.m; sourceTree = ""; }; + 18269AD51A8F2F4300953B3D /* DVTFoldingManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DVTFoldingManager.h; sourceTree = ""; }; + 184407641A8F7B1900C530CF /* DVTTextDocumentLocation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DVTTextDocumentLocation.h; sourceTree = ""; }; + 184407651A8F7B3E00C530CF /* DVTDocumentLocation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DVTDocumentLocation.h; sourceTree = ""; }; + 184C11711A740F8A002A7C65 /* DVTCompletingTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = DVTCompletingTextView.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 184C11721A740F8A002A7C65 /* DVTFontAndColorTheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTFontAndColorTheme.h; sourceTree = ""; }; + 184C11731A740F8A002A7C65 /* DVTInvalidation-Protocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DVTInvalidation-Protocol.h"; sourceTree = ""; }; + 184C11741A740F8A002A7C65 /* DVTPointerArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTPointerArray.h; sourceTree = ""; }; + 184C11751A740F8A002A7C65 /* DVTPreferenceSet-Protocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DVTPreferenceSet-Protocol.h"; sourceTree = ""; }; + 184C11761A740F8A002A7C65 /* DVTSourceLanguageSourceModelService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTSourceLanguageSourceModelService.h; sourceTree = ""; }; + 184C11771A740F8A002A7C65 /* DVTSourceModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTSourceModel.h; sourceTree = ""; }; + 184C11781A740F8A002A7C65 /* DVTSourceModelItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTSourceModelItem.h; sourceTree = ""; }; + 184C11791A740F8A002A7C65 /* DVTSourceNodeTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTSourceNodeTypes.h; sourceTree = ""; }; + 184C117A1A740F8A002A7C65 /* DVTSourceTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = DVTSourceTextView.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 184C117B1A740F8A002A7C65 /* DVTTextStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = DVTTextStorage.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 184C117C1A740F8A002A7C65 /* DVTViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTViewController.h; sourceTree = ""; }; + 184C117D1A740F8A002A7C65 /* IDEEditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDEEditor.h; sourceTree = ""; }; + 184C117E1A740F8A002A7C65 /* IDESourceCodeEditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = IDESourceCodeEditor.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 184C117F1A740F8A002A7C65 /* IDESourceCodeEditorContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = IDESourceCodeEditorContainerView.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 184C11801A740F8A002A7C65 /* IDEViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = IDEViewController.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 184C11811A740F97002A7C65 /* SCXcodeMinimapSelectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCXcodeMinimapSelectionView.h; sourceTree = ""; }; + 184C11821A740F97002A7C65 /* SCXcodeMinimapSelectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SCXcodeMinimapSelectionView.m; sourceTree = ""; }; + 184C11831A740F97002A7C65 /* SCXcodeMinimapView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCXcodeMinimapView.h; sourceTree = ""; }; + 184C11841A740F97002A7C65 /* SCXcodeMinimapView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = SCXcodeMinimapView.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; + 1876135D1A77A69F00974BE1 /* IDEEditorDocument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = IDEEditorDocument.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; + 187EEF6A1A8F78C400E4EF39 /* IDEFileBreakpoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IDEFileBreakpoint.h; sourceTree = ""; }; + 1889464B1B11DDEE0036175B /* SCXcodeMinimapTheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCXcodeMinimapTheme.h; sourceTree = ""; }; + 1889464C1B11DDEE0036175B /* SCXcodeMinimapTheme.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SCXcodeMinimapTheme.m; sourceTree = ""; }; + 188D38761A98B26E005C7F85 /* DBGBreakpointAnnotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DBGBreakpointAnnotation.h; sourceTree = ""; }; + 188D38771A98B3AC005C7F85 /* DVTTextAnnotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DVTTextAnnotation.h; sourceTree = ""; }; + 188D38781A98B3D8005C7F85 /* DVTAnnotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DVTAnnotation.h; sourceTree = ""; }; + 188FCC881A98B57A0026F529 /* DBGBreakpointAnnotationProvider+SCXcodeMinimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DBGBreakpointAnnotationProvider+SCXcodeMinimap.h"; sourceTree = ""; }; + 188FCC891A98B57A0026F529 /* DBGBreakpointAnnotationProvider+SCXcodeMinimap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "DBGBreakpointAnnotationProvider+SCXcodeMinimap.m"; sourceTree = ""; }; + 18AFA6CE1B807E5F005D23E1 /* IDEWorkspaceWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDEWorkspaceWindowController.h; sourceTree = ""; }; + 18AFA6CF1B8083BB005D23E1 /* IDEWorkspaceTabController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDEWorkspaceTabController.h; sourceTree = ""; }; + 18AFA6D01B80852A005D23E1 /* IDEEditorArea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDEEditorArea.h; sourceTree = ""; }; + 18B3CEE51A8AA52A00A0873D /* DVTPreferenceSetManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DVTPreferenceSetManager.h; sourceTree = ""; }; + 18B53B481B88C1A200120739 /* DVTFilePath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTFilePath.h; sourceTree = ""; }; + 18C2EA5A1A9C7F8A002CEB20 /* DBGBreakpointAnnotation+SCXcodeMinimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DBGBreakpointAnnotation+SCXcodeMinimap.h"; sourceTree = ""; }; + 18C2EA5B1A9C7F8A002CEB20 /* DBGBreakpointAnnotation+SCXcodeMinimap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "DBGBreakpointAnnotation+SCXcodeMinimap.m"; sourceTree = ""; }; + 18C8F0331A7ECB1300C7A76F /* DVTFoldingLayoutManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTFoldingLayoutManager.h; sourceTree = ""; }; + 18C8F0341A7ECB1300C7A76F /* DVTLayoutManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTLayoutManager.h; sourceTree = ""; }; + 18C999FC1A98AF370008AF54 /* DBGBreakpointAnnotationProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DBGBreakpointAnnotationProvider.h; sourceTree = ""; }; + 18C999FD1A98AF580008AF54 /* DVTAnnotationProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DVTAnnotationProvider.h; sourceTree = ""; }; + 18CA02B61A9D0DF1001C5CE1 /* IDEBreakpoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IDEBreakpoint.h; sourceTree = ""; }; + 18D87F9C1B8899E800D27B29 /* IDESourceCodeComparisonEditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDESourceCodeComparisonEditor.h; sourceTree = ""; }; + 18D87F9D1B889A3000D27B29 /* IDEComparisonEditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDEComparisonEditor.h; sourceTree = ""; }; + 18D87F9E1B88A57900D27B29 /* IDEEditorModeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDEEditorModeViewController.h; sourceTree = ""; }; + 18DCC5BA1B80B11700596B6F /* IDEEditorContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDEEditorContext.h; sourceTree = ""; }; + 18DE25EB1B202ACA00F3D380 /* IDESourceCodeEditor+SCXcodeMinimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IDESourceCodeEditor+SCXcodeMinimap.h"; sourceTree = ""; }; + 18DE25EC1B202ACA00F3D380 /* IDESourceCodeEditor+SCXcodeMinimap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "IDESourceCodeEditor+SCXcodeMinimap.m"; sourceTree = ""; }; + 18DE6AFB1B203D070042615D /* DVTFindResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVTFindResult.h; sourceTree = ""; }; + 18E577F61B119BF200421483 /* IDEBuildIssueAnnotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDEBuildIssueAnnotation.h; sourceTree = ""; }; + 18E577F71B119C1000421483 /* IDEBuildIssueWarningAnnotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IDEBuildIssueWarningAnnotation.h; sourceTree = ""; }; + 18E577F81B119C3F00421483 /* IDEBuildIssueErrorAnnotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IDEBuildIssueErrorAnnotation.h; sourceTree = ""; }; + 18E577F91B119C7200421483 /* DVTMessageBubbleAnnotation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DVTMessageBubbleAnnotation.h; sourceTree = ""; }; + 18E577FA1B119F6600421483 /* IDEIssueAnnotationProvider+SCXcodeMinimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IDEIssueAnnotationProvider+SCXcodeMinimap.h"; sourceTree = ""; }; + 18E577FB1B119F6600421483 /* IDEIssueAnnotationProvider+SCXcodeMinimap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "IDEIssueAnnotationProvider+SCXcodeMinimap.m"; sourceTree = ""; }; + 18E75A241B80B3190082AA24 /* IDEEditorArea+SCXcodeMinimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IDEEditorArea+SCXcodeMinimap.h"; sourceTree = ""; }; + 18E75A251B80B3190082AA24 /* IDEEditorArea+SCXcodeMinimap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "IDEEditorArea+SCXcodeMinimap.m"; sourceTree = ""; }; + 18ECB80C1B13226500EE4D82 /* DVTLayoutManager+SCXcodeMinimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DVTLayoutManager+SCXcodeMinimap.h"; sourceTree = ""; }; + 18ECB80D1B13226500EE4D82 /* DVTLayoutManager+SCXcodeMinimap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "DVTLayoutManager+SCXcodeMinimap.m"; sourceTree = ""; }; + 18ECB80F1B1322A300EE4D82 /* SCXcodeMinimapCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCXcodeMinimapCommon.h; sourceTree = ""; }; + 18ECB8101B1322A300EE4D82 /* SCXcodeMinimapCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SCXcodeMinimapCommon.m; sourceTree = ""; }; 18FE09B21707639E00118FEB /* SCXcodeMinimap.xcplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SCXcodeMinimap.xcplugin; sourceTree = BUILT_PRODUCTS_DIR; }; 18FE09B51707639E00118FEB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 18FE09B81707639E00118FEB /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; @@ -26,10 +112,14 @@ 18FE09C11707639E00118FEB /* SCXcodeMinimap-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SCXcodeMinimap-Prefix.pch"; sourceTree = ""; }; 18FE09C7170764E400118FEB /* SCXcodeMinimap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCXcodeMinimap.h; sourceTree = ""; }; 18FE09C8170764E400118FEB /* SCXcodeMinimap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SCXcodeMinimap.m; sourceTree = ""; }; + 18FEFA8C1A782D8600DC98C5 /* IDEFileTextSettings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IDEFileTextSettings.h; sourceTree = ""; }; + 2BDF45EE1B6EA50300EAC683 /* DVTFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DVTFoundation.framework; path = ../SharedFrameworks/DVTFoundation.framework; sourceTree = DEVELOPER_DIR; }; + 2BDF45F01B6EA51000EAC683 /* DVTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DVTKit.framework; path = ../SharedFrameworks/DVTKit.framework; sourceTree = DEVELOPER_DIR; }; + 2BDF45F21B6EA54600EAC683 /* IDEFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IDEFoundation.framework; path = ../Frameworks/IDEFoundation.framework; sourceTree = DEVELOPER_DIR; }; + 2BDF45F41B6EA54E00EAC683 /* IDEKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IDEKit.framework; path = ../Frameworks/IDEKit.framework; sourceTree = DEVELOPER_DIR; }; + 2BDF45FA1B6EAB5600EAC683 /* IDESourceEditor */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = IDESourceEditor; path = ../PlugIns/IDESourceEditor.ideplugin/Contents/MacOS/IDESourceEditor; sourceTree = DEVELOPER_DIR; }; + 2BDF45FC1B6EAB8400EAC683 /* DebuggerUI */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = DebuggerUI; path = ../PlugIns/DebuggerUI.ideplugin/Contents/MacOS/DebuggerUI; sourceTree = DEVELOPER_DIR; }; 8742532217307161001C947C /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - B25F211A172FE208001A9E6E /* SCMiniMapView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCMiniMapView.h; sourceTree = ""; }; - B25F211B172FE208001A9E6E /* SCMiniMapView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SCMiniMapView.m; sourceTree = ""; }; - B25F211D172FE3B3001A9E6E /* Conf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Conf.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -37,7 +127,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 2BDF45F51B6EA54E00EAC683 /* IDEKit.framework in Frameworks */, + 2BDF45F11B6EA51000EAC683 /* DVTKit.framework in Frameworks */, + 2BDF45EF1B6EA50300EAC683 /* DVTFoundation.framework in Frameworks */, 8742532317307161001C947C /* QuartzCore.framework in Frameworks */, + 2BDF45F31B6EA54600EAC683 /* IDEFoundation.framework in Frameworks */, + 2BDF45FD1B6EAB8400EAC683 /* DebuggerUI in Frameworks */, + 2BDF45FB1B6EAB5600EAC683 /* IDESourceEditor in Frameworks */, 18FE09B61707639E00118FEB /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -45,6 +141,62 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 184C11701A740F8A002A7C65 /* Xcode Headers */ = { + isa = PBXGroup; + children = ( + 18B53B481B88C1A200120739 /* DVTFilePath.h */, + 18D87F9E1B88A57900D27B29 /* IDEEditorModeViewController.h */, + 188D38761A98B26E005C7F85 /* DBGBreakpointAnnotation.h */, + 18C999FC1A98AF370008AF54 /* DBGBreakpointAnnotationProvider.h */, + 188D38781A98B3D8005C7F85 /* DVTAnnotation.h */, + 180F0C651A98AE1500E97254 /* DVTAnnotationManager.h */, + 18C999FD1A98AF580008AF54 /* DVTAnnotationProvider.h */, + 184C11711A740F8A002A7C65 /* DVTCompletingTextView.h */, + 184407651A8F7B3E00C530CF /* DVTDocumentLocation.h */, + 18DE6AFB1B203D070042615D /* DVTFindResult.h */, + 18C8F0331A7ECB1300C7A76F /* DVTFoldingLayoutManager.h */, + 18269AD51A8F2F4300953B3D /* DVTFoldingManager.h */, + 180790681B263C200026A519 /* DVTFoldingManagerDelegate-Protocol.h */, + 184C11721A740F8A002A7C65 /* DVTFontAndColorTheme.h */, + 184C11731A740F8A002A7C65 /* DVTInvalidation-Protocol.h */, + 18C8F0341A7ECB1300C7A76F /* DVTLayoutManager.h */, + 18E577F91B119C7200421483 /* DVTMessageBubbleAnnotation.h */, + 184C11741A740F8A002A7C65 /* DVTPointerArray.h */, + 184C11751A740F8A002A7C65 /* DVTPreferenceSet-Protocol.h */, + 18B3CEE51A8AA52A00A0873D /* DVTPreferenceSetManager.h */, + 184C11761A740F8A002A7C65 /* DVTSourceLanguageSourceModelService.h */, + 184C11771A740F8A002A7C65 /* DVTSourceModel.h */, + 184C11781A740F8A002A7C65 /* DVTSourceModelItem.h */, + 184C11791A740F8A002A7C65 /* DVTSourceNodeTypes.h */, + 184C117A1A740F8A002A7C65 /* DVTSourceTextView.h */, + 188D38771A98B3AC005C7F85 /* DVTTextAnnotation.h */, + 184407641A8F7B1900C530CF /* DVTTextDocumentLocation.h */, + 184C117B1A740F8A002A7C65 /* DVTTextStorage.h */, + 180790691B263CF60026A519 /* DVTTextView.h */, + 184C117C1A740F8A002A7C65 /* DVTViewController.h */, + 18CA02B61A9D0DF1001C5CE1 /* IDEBreakpoint.h */, + 18E577F61B119BF200421483 /* IDEBuildIssueAnnotation.h */, + 18E577F81B119C3F00421483 /* IDEBuildIssueErrorAnnotation.h */, + 18E577F71B119C1000421483 /* IDEBuildIssueWarningAnnotation.h */, + 18D87F9D1B889A3000D27B29 /* IDEComparisonEditor.h */, + 184C117D1A740F8A002A7C65 /* IDEEditor.h */, + 18AFA6D01B80852A005D23E1 /* IDEEditorArea.h */, + 18DCC5BA1B80B11700596B6F /* IDEEditorContext.h */, + 1876135D1A77A69F00974BE1 /* IDEEditorDocument.h */, + 187EEF6A1A8F78C400E4EF39 /* IDEFileBreakpoint.h */, + 18FEFA8C1A782D8600DC98C5 /* IDEFileTextSettings.h */, + 180F24D61B119866009ACE49 /* IDEIssueAnnotationProvider.h */, + 18D87F9C1B8899E800D27B29 /* IDESourceCodeComparisonEditor.h */, + 1812C3911A77A7CF00E2CFB3 /* IDESourceCodeDocument.h */, + 184C117E1A740F8A002A7C65 /* IDESourceCodeEditor.h */, + 184C117F1A740F8A002A7C65 /* IDESourceCodeEditorContainerView.h */, + 184C11801A740F8A002A7C65 /* IDEViewController.h */, + 18AFA6CF1B8083BB005D23E1 /* IDEWorkspaceTabController.h */, + 18AFA6CE1B807E5F005D23E1 /* IDEWorkspaceWindowController.h */, + ); + path = "Xcode Headers"; + sourceTree = ""; + }; 18FE09A91707639E00118FEB = { isa = PBXGroup; children = ( @@ -65,34 +217,52 @@ 18FE09B41707639E00118FEB /* Frameworks */ = { isa = PBXGroup; children = ( - 18FE09B51707639E00118FEB /* Cocoa.framework */, - 18FE09B71707639E00118FEB /* Other Frameworks */, - ); - name = Frameworks; - sourceTree = ""; - }; - 18FE09B71707639E00118FEB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 8742532217307161001C947C /* QuartzCore.framework */, 18FE09B81707639E00118FEB /* AppKit.framework */, + 18FE09B51707639E00118FEB /* Cocoa.framework */, 18FE09B91707639E00118FEB /* CoreData.framework */, + 2BDF45EE1B6EA50300EAC683 /* DVTFoundation.framework */, + 2BDF45F01B6EA51000EAC683 /* DVTKit.framework */, 18FE09BA1707639E00118FEB /* Foundation.framework */, + 2BDF45FC1B6EAB8400EAC683 /* DebuggerUI */, + 2BDF45F21B6EA54600EAC683 /* IDEFoundation.framework */, + 2BDF45F41B6EA54E00EAC683 /* IDEKit.framework */, + 2BDF45FA1B6EAB5600EAC683 /* IDESourceEditor */, + 8742532217307161001C947C /* QuartzCore.framework */, ); - name = "Other Frameworks"; + name = Frameworks; sourceTree = ""; }; 18FE09BB1707639E00118FEB /* SCXcodeMinimap */ = { isa = PBXGroup; children = ( - B25F211D172FE3B3001A9E6E /* Conf.h */, 18FE09C7170764E400118FEB /* SCXcodeMinimap.h */, 18FE09C8170764E400118FEB /* SCXcodeMinimap.m */, - B25F211A172FE208001A9E6E /* SCMiniMapView.h */, - B25F211B172FE208001A9E6E /* SCMiniMapView.m */, - 18D2B12F17244C0A0026D09F /* SCSelectionView.h */, - 18D2B13017244C0A0026D09F /* SCSelectionView.m */, + 184C11831A740F97002A7C65 /* SCXcodeMinimapView.h */, + 184C11841A740F97002A7C65 /* SCXcodeMinimapView.m */, + 1819E4271AA1FB5900C344F2 /* SCXcodeMinimapScrollView.h */, + 1819E4281AA1FB5900C344F2 /* SCXcodeMinimapScrollView.m */, + 184C11811A740F97002A7C65 /* SCXcodeMinimapSelectionView.h */, + 184C11821A740F97002A7C65 /* SCXcodeMinimapSelectionView.m */, + 1889464B1B11DDEE0036175B /* SCXcodeMinimapTheme.h */, + 1889464C1B11DDEE0036175B /* SCXcodeMinimapTheme.m */, + 18ECB80F1B1322A300EE4D82 /* SCXcodeMinimapCommon.h */, + 18ECB8101B1322A300EE4D82 /* SCXcodeMinimapCommon.m */, + 18C2EA5A1A9C7F8A002CEB20 /* DBGBreakpointAnnotation+SCXcodeMinimap.h */, + 18C2EA5B1A9C7F8A002CEB20 /* DBGBreakpointAnnotation+SCXcodeMinimap.m */, + 188FCC881A98B57A0026F529 /* DBGBreakpointAnnotationProvider+SCXcodeMinimap.h */, + 188FCC891A98B57A0026F529 /* DBGBreakpointAnnotationProvider+SCXcodeMinimap.m */, + 18ECB80C1B13226500EE4D82 /* DVTLayoutManager+SCXcodeMinimap.h */, + 18ECB80D1B13226500EE4D82 /* DVTLayoutManager+SCXcodeMinimap.m */, + 18E577FA1B119F6600421483 /* IDEIssueAnnotationProvider+SCXcodeMinimap.h */, + 18E577FB1B119F6600421483 /* IDEIssueAnnotationProvider+SCXcodeMinimap.m */, + 18DE25EB1B202ACA00F3D380 /* IDESourceCodeEditor+SCXcodeMinimap.h */, + 18DE25EC1B202ACA00F3D380 /* IDESourceCodeEditor+SCXcodeMinimap.m */, + 1809FF8D1AED1A730058D946 /* NSScroller+SCXcodeMinimap.h */, + 1809FF8E1AED1A730058D946 /* NSScroller+SCXcodeMinimap.m */, + 18E75A241B80B3190082AA24 /* IDEEditorArea+SCXcodeMinimap.h */, + 18E75A251B80B3190082AA24 /* IDEEditorArea+SCXcodeMinimap.m */, 18FE09BC1707639E00118FEB /* Supporting Files */, + 184C11701A740F8A002A7C65 /* Xcode Headers */, ); path = SCXcodeMinimap; sourceTree = ""; @@ -132,7 +302,7 @@ 18FE09AA1707639E00118FEB /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0460; + LastUpgradeCheck = 0700; ORGANIZATIONNAME = "Stefan Ceriu"; }; buildConfigurationList = 18FE09AD1707639E00118FEB /* Build configuration list for PBXProject "SCXcodeMinimap" */; @@ -167,9 +337,19 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 188FCC8A1A98B57A0026F529 /* DBGBreakpointAnnotationProvider+SCXcodeMinimap.m in Sources */, 18FE09C9170764E400118FEB /* SCXcodeMinimap.m in Sources */, - 18D2B13117244C0A0026D09F /* SCSelectionView.m in Sources */, - B25F211C172FE208001A9E6E /* SCMiniMapView.m in Sources */, + 18ECB8111B1322A300EE4D82 /* SCXcodeMinimapCommon.m in Sources */, + 184C11861A740F97002A7C65 /* SCXcodeMinimapSelectionView.m in Sources */, + 184C11871A740F97002A7C65 /* SCXcodeMinimapView.m in Sources */, + 18C2EA5C1A9C7F8A002CEB20 /* DBGBreakpointAnnotation+SCXcodeMinimap.m in Sources */, + 18DE25ED1B202ACA00F3D380 /* IDESourceCodeEditor+SCXcodeMinimap.m in Sources */, + 1889464D1B11DDEE0036175B /* SCXcodeMinimapTheme.m in Sources */, + 18ECB80E1B13226500EE4D82 /* DVTLayoutManager+SCXcodeMinimap.m in Sources */, + 1819E4291AA1FB5900C344F2 /* SCXcodeMinimapScrollView.m in Sources */, + 18E577FC1B119F6600421483 /* IDEIssueAnnotationProvider+SCXcodeMinimap.m in Sources */, + 18E75A261B80B3190082AA24 /* IDEEditorArea+SCXcodeMinimap.m in Sources */, + 1809FF8F1AED1A730058D946 /* NSScroller+SCXcodeMinimap.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -180,7 +360,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_WARN_CONSTANT_CONVERSION = YES; @@ -189,6 +368,7 @@ CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; @@ -212,7 +392,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_WARN_CONSTANT_CONVERSION = YES; @@ -236,14 +415,27 @@ 18FE09C51707639E00118FEB /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; COMBINE_HIDPI_IMAGES = YES; DEPLOYMENT_LOCATION = YES; DSTROOT = "$(HOME)"; - GCC_ENABLE_OBJC_GC = supported; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + "$(SYSTEM_DEVELOPER_DIR)/../SharedFrameworks", + "$(SYSTEM_DEVELOPER_DIR)/../Frameworks", + "$(SYSTEM_DEVELOPER_DIR)/../OtherFrameworks", + ); + GCC_ENABLE_OBJC_GC = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "SCXcodeMinimap/SCXcodeMinimap-Prefix.pch"; INFOPLIST_FILE = "SCXcodeMinimap/SCXcodeMinimap-Info.plist"; INSTALL_PATH = "/Library/Application Support/Developer/Shared/Xcode/Plug-ins"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_DEVELOPER_DIR)/../Plugins/**", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.stefanceriu.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = xcplugin; }; @@ -252,14 +444,27 @@ 18FE09C61707639E00118FEB /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; COMBINE_HIDPI_IMAGES = YES; DEPLOYMENT_LOCATION = YES; DSTROOT = "$(HOME)"; - GCC_ENABLE_OBJC_GC = supported; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + "$(SYSTEM_DEVELOPER_DIR)/../SharedFrameworks", + "$(SYSTEM_DEVELOPER_DIR)/../Frameworks", + "$(SYSTEM_DEVELOPER_DIR)/../OtherFrameworks", + ); + GCC_ENABLE_OBJC_GC = ""; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "SCXcodeMinimap/SCXcodeMinimap-Prefix.pch"; INFOPLIST_FILE = "SCXcodeMinimap/SCXcodeMinimap-Info.plist"; INSTALL_PATH = "/Library/Application Support/Developer/Shared/Xcode/Plug-ins"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_DEVELOPER_DIR)/../Plugins/**", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.stefanceriu.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = xcplugin; }; diff --git a/SCXcodeMinimap.xcodeproj/xcshareddata/xcschemes/SCXcodeMinimap.xcscheme b/SCXcodeMinimap.xcodeproj/xcshareddata/xcschemes/SCXcodeMinimap.xcscheme new file mode 100644 index 0000000..2a3238a --- /dev/null +++ b/SCXcodeMinimap.xcodeproj/xcshareddata/xcschemes/SCXcodeMinimap.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SCXcodeMinimap/Conf.h b/SCXcodeMinimap/Conf.h deleted file mode 100644 index 173d46b..0000000 --- a/SCXcodeMinimap/Conf.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// Conf.h -// SCXcodeMinimap -// -// Created by Jérôme ALVES on 30/04/13. -// Copyright (c) 2013 Stefan Ceriu. All rights reserved. -// - -#ifndef SCXcodeMinimap_Conf_h -#define SCXcodeMinimap_Conf_h - - -#define kDefaultZoomLevel 0.1f -#define kRightSidePadding 10.0f -#define kDefaultShadowLevel 0.1f - - -#endif diff --git a/SCXcodeMinimap/DBGBreakpointAnnotation+SCXcodeMinimap.h b/SCXcodeMinimap/DBGBreakpointAnnotation+SCXcodeMinimap.h new file mode 100644 index 0000000..d2bbf78 --- /dev/null +++ b/SCXcodeMinimap/DBGBreakpointAnnotation+SCXcodeMinimap.h @@ -0,0 +1,24 @@ +// +// DBGBreakpointAnnotation+SCXcodeMinimap.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 24/02/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "DBGBreakpointAnnotation.h" + +@protocol DBGBreakpointAnnotationDelegate; + +@interface DBGBreakpointAnnotation (SCXcodeMinimap) + +@property (nonatomic, readonly) BOOL enabled; +@property (nonatomic, weak) id minimapDelegate; + +@end + +@protocol DBGBreakpointAnnotationDelegate + +- (void)breakpointAnnotationDidChangeState:(DBGBreakpointAnnotation *)annotation; + +@end diff --git a/SCXcodeMinimap/DBGBreakpointAnnotation+SCXcodeMinimap.m b/SCXcodeMinimap/DBGBreakpointAnnotation+SCXcodeMinimap.m new file mode 100644 index 0000000..59c9ca6 --- /dev/null +++ b/SCXcodeMinimap/DBGBreakpointAnnotation+SCXcodeMinimap.m @@ -0,0 +1,64 @@ +// +// DBGBreakpointAnnotation+SCXcodeMinimap.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 24/02/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "DBGBreakpointAnnotation+SCXcodeMinimap.h" +#import "SCXcodeMinimapCommon.h" +#import "IDEFileBreakpoint.h" + +@implementation DBGBreakpointAnnotation (SCXcodeMinimap) +@dynamic minimapDelegate; + ++ (void)load +{ + sc_swizzleInstanceMethod(self, @selector(_redisplay), @selector(sc_redisplay)); + sc_swizzleInstanceMethod(self, @selector(adjustParagraphIndexBy:lengthBy:), @selector(sc_adjustParagraphIndexBy:lengthBy:)); +} + +- (id)minimapDelegate +{ + return objc_getAssociatedObject(self, @selector(minimapDelegate)); +} + +- (void)setMinimapDelegate:(id)minimapDelegate +{ + objc_setAssociatedObject(self, @selector(minimapDelegate), minimapDelegate, OBJC_ASSOCIATION_ASSIGN); +} + +- (BOOL)enabled +{ + if([self.representedObject isKindOfClass:[IDEFileBreakpoint class]]) { + IDEFileBreakpoint *fileBreakpoint = (IDEFileBreakpoint *)self.representedObject; + return fileBreakpoint.shouldBeEnabled; + } + + return NO; +} + +- (void)sc_redisplay +{ + [self sc_redisplay]; + + if([self.representedObject isKindOfClass:[IDEFileBreakpoint class]]) { + if([self.minimapDelegate respondsToSelector:@selector(breakpointAnnotationDidChangeState:)]) { + [self.minimapDelegate breakpointAnnotationDidChangeState:self]; + } + } +} + +- (void)sc_adjustParagraphIndexBy:(long long)arg1 lengthBy:(long long)arg2 +{ + [self sc_adjustParagraphIndexBy:arg1 lengthBy:arg2]; + + if([self.representedObject isKindOfClass:[IDEFileBreakpoint class]]) { + if([self.minimapDelegate respondsToSelector:@selector(breakpointAnnotationDidChangeState:)]) { + [self.minimapDelegate breakpointAnnotationDidChangeState:self]; + } + } +} + +@end diff --git a/SCXcodeMinimap/DBGBreakpointAnnotationProvider+SCXcodeMinimap.h b/SCXcodeMinimap/DBGBreakpointAnnotationProvider+SCXcodeMinimap.h new file mode 100644 index 0000000..1707764 --- /dev/null +++ b/SCXcodeMinimap/DBGBreakpointAnnotationProvider+SCXcodeMinimap.h @@ -0,0 +1,23 @@ +// +// DBGBreakpointAnnotationProvider+SCXcodeMinimap.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 21/02/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "DBGBreakpointAnnotationProvider.h" + +@protocol DBGBreakpointAnnotationProviderDelegate; + +@interface DBGBreakpointAnnotationProvider (SCXcodeMinimap) + +@property (nonatomic, weak) id minimapDelegate; + +@end + +@protocol DBGBreakpointAnnotationProviderDelegate + +- (void)breakpointAnnotationProviderDidChangeBreakpoints:(DBGBreakpointAnnotationProvider *)annotationProvider; + +@end \ No newline at end of file diff --git a/SCXcodeMinimap/DBGBreakpointAnnotationProvider+SCXcodeMinimap.m b/SCXcodeMinimap/DBGBreakpointAnnotationProvider+SCXcodeMinimap.m new file mode 100644 index 0000000..9d8ea4f --- /dev/null +++ b/SCXcodeMinimap/DBGBreakpointAnnotationProvider+SCXcodeMinimap.m @@ -0,0 +1,80 @@ +// +// DBGBreakpointAnnotationProvider+SCXcodeMinimap.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 21/02/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "DBGBreakpointAnnotationProvider+SCXcodeMinimap.h" +#import "DBGBreakpointAnnotation+SCXcodeMinimap.h" +#import "SCXcodeMinimapCommon.h" + +@implementation DBGBreakpointAnnotationProvider (SCXcodeMinimap) +@dynamic minimapDelegate; + ++ (void)load +{ + sc_swizzleInstanceMethod(self, @selector(_addAnnotationForFileBreakpoint:), @selector(sc_addAnnotationForFileBreakpoint:)); + sc_swizzleInstanceMethod(self, @selector(_removeAnnotation:), @selector(sc_removeAnnotation:)); + sc_swizzleInstanceMethod(self, @selector(didMoveAnnotation:), @selector(sc_didMoveAnnotation:)); +} + +- (id)minimapDelegate +{ + return objc_getAssociatedObject(self, @selector(minimapDelegate)); +} + +- (void)setMinimapDelegate:(id)minimapDelegate +{ + for(DBGBreakpointAnnotation *annotation in self.annotations) { + [annotation setMinimapDelegate:(id)self]; + } + + objc_setAssociatedObject(self, @selector(minimapDelegate), minimapDelegate, OBJC_ASSOCIATION_ASSIGN); +} + +- (void)sc_addAnnotationForFileBreakpoint:(id)arg1 +{ + [self sc_addAnnotationForFileBreakpoint:arg1]; + + for(DBGBreakpointAnnotation *annotation in self.annotations) { + if([annotation.representedObject isEqual:arg1]) { + [annotation setMinimapDelegate:(id)self]; + } + } + + if([self.minimapDelegate respondsToSelector:@selector(breakpointAnnotationProviderDidChangeBreakpoints:)]) { + [self.minimapDelegate breakpointAnnotationProviderDidChangeBreakpoints:self]; + } +} + +- (void)sc_removeAnnotation:(DBGBreakpointAnnotation *)annotation +{ + [annotation setMinimapDelegate:nil]; + [self sc_removeAnnotation:annotation]; + + if([self.minimapDelegate respondsToSelector:@selector(breakpointAnnotationProviderDidChangeBreakpoints:)]) { + [self.minimapDelegate breakpointAnnotationProviderDidChangeBreakpoints:self]; + } +} + +- (void)sc_didMoveAnnotation:(DBGBreakpointAnnotation *)annotation +{ + [self sc_didMoveAnnotation:annotation]; + + if([self.minimapDelegate respondsToSelector:@selector(breakpointAnnotationProviderDidChangeBreakpoints:)]) { + [self.minimapDelegate breakpointAnnotationProviderDidChangeBreakpoints:self]; + } +} + +#pragma mark - DBGBreakpointAnnotationDelegate + +- (void)breakpointAnnotationDidChangeState:(DBGBreakpointAnnotation *)annotation +{ + if([self.minimapDelegate respondsToSelector:@selector(breakpointAnnotationProviderDidChangeBreakpoints:)]) { + [self.minimapDelegate breakpointAnnotationProviderDidChangeBreakpoints:self]; + } +} + +@end diff --git a/SCXcodeMinimap/DVTLayoutManager+SCXcodeMinimap.h b/SCXcodeMinimap/DVTLayoutManager+SCXcodeMinimap.h new file mode 100644 index 0000000..8955730 --- /dev/null +++ b/SCXcodeMinimap/DVTLayoutManager+SCXcodeMinimap.h @@ -0,0 +1,23 @@ +// +// DVTLayoutManager+SCXcodeMinimap.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 5/25/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "DVTLayoutManager.h" + +@protocol DVTLayoutManagerMinimapDelegate; + +@interface DVTLayoutManager (SCXcodeMinimap) + +@property (nonatomic, weak) id minimapDelegate; + +@end + +@protocol DVTLayoutManagerMinimapDelegate + +- (void)layoutManagerDidRequestSelectedSymbolInstancesHighlight:(DVTLayoutManager *)layoutManager; + +@end \ No newline at end of file diff --git a/SCXcodeMinimap/DVTLayoutManager+SCXcodeMinimap.m b/SCXcodeMinimap/DVTLayoutManager+SCXcodeMinimap.m new file mode 100644 index 0000000..8ead5c5 --- /dev/null +++ b/SCXcodeMinimap/DVTLayoutManager+SCXcodeMinimap.m @@ -0,0 +1,39 @@ +// +// DVTLayoutManager+SCXcodeMinimap.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 5/25/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "DVTLayoutManager+SCXcodeMinimap.h" +#import "SCXcodeMinimapCommon.h" + +@implementation DVTLayoutManager (SCXcodeMinimap) +@dynamic minimapDelegate; + ++ (void)load +{ + sc_swizzleInstanceMethod(self, @selector(_displayAutoHighlightTokens), @selector(sc_displayAutoHighlightTokens)); +} + +- (id)minimapDelegate +{ + return objc_getAssociatedObject(self, @selector(minimapDelegate)); +} + +- (void)setMinimapDelegate:(id)minimapDelegate +{ + objc_setAssociatedObject(self, @selector(minimapDelegate), minimapDelegate, OBJC_ASSOCIATION_ASSIGN); +} + +- (void)sc_displayAutoHighlightTokens +{ + [self sc_displayAutoHighlightTokens]; + + if([self.minimapDelegate respondsToSelector:@selector(layoutManagerDidRequestSelectedSymbolInstancesHighlight:)]) { + [self.minimapDelegate layoutManagerDidRequestSelectedSymbolInstancesHighlight:self]; + } +} + +@end diff --git a/SCXcodeMinimap/IDEEditorArea+SCXcodeMinimap.h b/SCXcodeMinimap/IDEEditorArea+SCXcodeMinimap.h new file mode 100644 index 0000000..67fb1f2 --- /dev/null +++ b/SCXcodeMinimap/IDEEditorArea+SCXcodeMinimap.h @@ -0,0 +1,23 @@ +// +// IDEEditorArea+SCXcodeMinimap.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 8/16/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "IDEEditorArea.h" + +@protocol IDEEditorAreaMinimapDelegate; + +@interface IDEEditorArea (SCXcodeMinimap) + +@property (nonatomic, weak) id minimapDelegate; + +@end + +@protocol IDEEditorAreaMinimapDelegate + +- (void)editorAreaDidChangeEditorMode:(IDEEditorArea *)editorArea; + +@end diff --git a/SCXcodeMinimap/IDEEditorArea+SCXcodeMinimap.m b/SCXcodeMinimap/IDEEditorArea+SCXcodeMinimap.m new file mode 100644 index 0000000..01a2c30 --- /dev/null +++ b/SCXcodeMinimap/IDEEditorArea+SCXcodeMinimap.m @@ -0,0 +1,77 @@ +// +// IDEEditorArea+SCXcodeMinimap.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 8/16/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "IDEEditorArea+SCXcodeMinimap.h" +#import "SCXcodeMinimapCommon.h" + +static void *IDEEditorAreaEditorModeObservingContext = &IDEEditorAreaEditorModeObservingContext; + +@interface IDEEditorArea (SCXcodeMinimap_Private) + +@property (nonatomic, assign) BOOL observersInstalled; + +@end + +@implementation IDEEditorArea (SCXcodeMinimap) + ++ (void)load +{ + sc_swizzleInstanceMethod([self class], @selector(viewDidInstall), @selector(sc_viewDidInstall)); + sc_swizzleInstanceMethod([self class], @selector(viewWillUninstall), @selector(sc_viewWillUninstall)); +} + +- (void)sc_viewDidInstall +{ + if(!self.observersInstalled) { + [self addObserver:self forKeyPath:@"editorMode" options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew context:IDEEditorAreaEditorModeObservingContext]; + [self setObserversInstalled:YES]; + } + + [self sc_viewDidInstall]; +} + +- (void)sc_viewWillUninstall +{ + if(self.observersInstalled) { + [self removeObserver:self forKeyPath:@"editorMode"]; + [self setObserversInstalled:NO]; + } + + [self sc_viewWillUninstall]; +} + +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context +{ + if(context == IDEEditorAreaEditorModeObservingContext) { + if([self.minimapDelegate respondsToSelector:@selector(editorAreaDidChangeEditorMode:)]) { + [self.minimapDelegate editorAreaDidChangeEditorMode:self]; + } + } +} + +- (BOOL)observersInstalled +{ + return [objc_getAssociatedObject(self, @selector(observersInstalled)) boolValue]; +} + +- (void)setObserversInstalled:(BOOL)observersInstalled +{ + objc_setAssociatedObject(self, @selector(observersInstalled), @(observersInstalled), OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (id)minimapDelegate +{ + return objc_getAssociatedObject(self, @selector(minimapDelegate)); +} + +- (void)setMinimapDelegate:(id)minimapDelegate +{ + objc_setAssociatedObject(self, @selector(minimapDelegate), minimapDelegate, OBJC_ASSOCIATION_ASSIGN); +} + +@end diff --git a/SCXcodeMinimap/IDEIssueAnnotationProvider+SCXcodeMinimap.h b/SCXcodeMinimap/IDEIssueAnnotationProvider+SCXcodeMinimap.h new file mode 100644 index 0000000..04d90bb --- /dev/null +++ b/SCXcodeMinimap/IDEIssueAnnotationProvider+SCXcodeMinimap.h @@ -0,0 +1,23 @@ +// +// IDEIssueAnnotationProvider+SCXcodeMinimap.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 5/24/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "IDEIssueAnnotationProvider.h" + +@protocol IDEIssueAnnotationProviderDelegate; + +@interface IDEIssueAnnotationProvider (SCXcodeMinimap) + +@property (nonatomic, weak) id minimapDelegate; + +@end + +@protocol IDEIssueAnnotationProviderDelegate + +- (void)issueAnnotationProviderDidChangeIssues:(IDEIssueAnnotationProvider *)annotationProvider; + +@end diff --git a/SCXcodeMinimap/IDEIssueAnnotationProvider+SCXcodeMinimap.m b/SCXcodeMinimap/IDEIssueAnnotationProvider+SCXcodeMinimap.m new file mode 100644 index 0000000..c7d7443 --- /dev/null +++ b/SCXcodeMinimap/IDEIssueAnnotationProvider+SCXcodeMinimap.m @@ -0,0 +1,82 @@ +// +// IDEIssueAnnotationProvider+SCXcodeMinimap.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 5/24/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "IDEIssueAnnotationProvider+SCXcodeMinimap.h" +#import "SCXcodeMinimapCommon.h" + +static void *IDEIssueAnnotationProviderIssuesObservingContext = &IDEIssueAnnotationProviderIssuesObservingContext; + +@interface IDEIssueAnnotationProvider (SCXcodeMinimap_Private) + +@property (nonatomic, assign) BOOL observersInstalled; + +@end + +@implementation IDEIssueAnnotationProvider (SCXcodeMinimap) +@dynamic minimapDelegate; + ++ (void)load +{ + sc_swizzleInstanceMethod(self, @selector(providerWillUninstall), @selector(sc_providerWillUninstall)); + sc_swizzleInstanceMethod(self, @selector(didDeleteOrReplaceParagraphForAnnotation:), @selector(sc_didDeleteOrReplaceParagraphForAnnotation:)); +} + +- (void)sc_providerWillUninstall +{ + [self sc_providerWillUninstall]; + + if(self.observersInstalled) { + [self removeObserver:self forKeyPath:@"annotations"]; + [self setObserversInstalled:NO]; + } +} + +- (void)_didDeleteOrReplaceParagraphForAnnotation:(id)annotation +{ + [self _didDeleteOrReplaceParagraphForAnnotation:annotation]; + + if([self.minimapDelegate respondsToSelector:@selector(issueAnnotationProviderDidChangeIssues:)]) { + [self.minimapDelegate issueAnnotationProviderDidChangeIssues:self]; + } +} + +- (id)minimapDelegate +{ + return objc_getAssociatedObject(self, @selector(minimapDelegate)); +} + +- (void)setMinimapDelegate:(id)minimapDelegate +{ + objc_setAssociatedObject(self, @selector(minimapDelegate), minimapDelegate, OBJC_ASSOCIATION_ASSIGN); + + if(minimapDelegate) { + [self addObserver:self forKeyPath:@"annotations" options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew context:IDEIssueAnnotationProviderIssuesObservingContext]; + [self setObserversInstalled:YES]; + } +} + +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context +{ + if(context == IDEIssueAnnotationProviderIssuesObservingContext) { + if([self.minimapDelegate respondsToSelector:@selector(issueAnnotationProviderDidChangeIssues:)]) { + [self.minimapDelegate issueAnnotationProviderDidChangeIssues:self]; + } + } +} + +- (BOOL)observersInstalled +{ + return [objc_getAssociatedObject(self, @selector(observersInstalled)) boolValue]; +} + +- (void)setObserversInstalled:(BOOL)observersInstalled +{ + objc_setAssociatedObject(self, @selector(observersInstalled), @(observersInstalled), OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +@end diff --git a/SCXcodeMinimap/IDESourceCodeEditor+SCXcodeMinimap.h b/SCXcodeMinimap/IDESourceCodeEditor+SCXcodeMinimap.h new file mode 100644 index 0000000..a84fa94 --- /dev/null +++ b/SCXcodeMinimap/IDESourceCodeEditor+SCXcodeMinimap.h @@ -0,0 +1,25 @@ +// +// IDESourceCodeEditor+SCXcodeMinimap.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 6/4/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "IDESourceCodeEditor.h" + +@protocol IDESourceCodeEditorSearchResultsDelegate; + +@interface IDESourceCodeEditor (SCXcodeMinimap) + +@property (nonatomic, weak) id searchResultsDelegate; + +@property (nonatomic, strong) NSArray *searchResults; + +@end + +@protocol IDESourceCodeEditorSearchResultsDelegate + +- (void)sourceCodeEditorDidUpdateSearchResults:(IDESourceCodeEditor *)editor; + +@end diff --git a/SCXcodeMinimap/IDESourceCodeEditor+SCXcodeMinimap.m b/SCXcodeMinimap/IDESourceCodeEditor+SCXcodeMinimap.m new file mode 100644 index 0000000..9b1aa38 --- /dev/null +++ b/SCXcodeMinimap/IDESourceCodeEditor+SCXcodeMinimap.m @@ -0,0 +1,53 @@ +// +// IDESourceCodeEditor+SCXcodeMinimap.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 6/4/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "IDESourceCodeEditor+SCXcodeMinimap.h" +#import "SCXcodeMinimapCommon.h" + +@implementation IDESourceCodeEditor (SCXcodeMinimap) + ++ (void)load +{ + sc_swizzleInstanceMethod([self class], @selector(dvtFindBar:didUpdateResults:), @selector(sc_dvtFindBar:didUpdateResults:)); +} + +- (void)sc_dvtFindBar:(id)findBar didUpdateResults:(NSArray *)searchResults +{ + [self sc_dvtFindBar:findBar didUpdateResults:searchResults]; + [self setSearchResults:searchResults]; +} + +- (NSArray *)searchResults +{ + return objc_getAssociatedObject(self, @selector(searchResults)); +} + +- (void)setSearchResults:(NSArray *)searchResults +{ + if([self.searchResults isEqual:searchResults]) { + return; + } + + objc_setAssociatedObject(self, @selector(searchResults), searchResults, OBJC_ASSOCIATION_RETAIN); + + if([self.searchResultsDelegate respondsToSelector:@selector(sourceCodeEditorDidUpdateSearchResults:)]) { + [self.searchResultsDelegate sourceCodeEditorDidUpdateSearchResults:self]; + } +} + +- (id)searchResultsDelegate +{ + return objc_getAssociatedObject(self, @selector(searchResultsDelegate)); +} + +- (void)setSearchResultsDelegate:(id)searchResultsDelegate +{ + objc_setAssociatedObject(self, @selector(searchResultsDelegate), searchResultsDelegate, OBJC_ASSOCIATION_ASSIGN); +} + +@end diff --git a/SCXcodeMinimap/NSScroller+SCXcodeMinimap.h b/SCXcodeMinimap/NSScroller+SCXcodeMinimap.h new file mode 100644 index 0000000..eb784bf --- /dev/null +++ b/SCXcodeMinimap/NSScroller+SCXcodeMinimap.h @@ -0,0 +1,15 @@ +// +// NSScroller+SCXcodeMinimap.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 4/26/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import + +@interface NSScroller (SCXcodeMinimap) + +@property (nonatomic, assign) BOOL forcedHidden; + +@end diff --git a/SCXcodeMinimap/NSScroller+SCXcodeMinimap.m b/SCXcodeMinimap/NSScroller+SCXcodeMinimap.m new file mode 100644 index 0000000..34794e7 --- /dev/null +++ b/SCXcodeMinimap/NSScroller+SCXcodeMinimap.m @@ -0,0 +1,37 @@ +// +// NSScroller+SCXcodeMinimap.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 4/26/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "NSScroller+SCXcodeMinimap.h" +#import + +@implementation NSScroller (SCXcodeMinimap) +@dynamic forcedHidden; + +- (BOOL)forcedHidden +{ + return [objc_getAssociatedObject(self, @selector(forcedHidden)) boolValue]; +} + +- (void)setForcedHidden:(BOOL)forcedHidden +{ + objc_setAssociatedObject(self, @selector(forcedHidden), @(forcedHidden), OBJC_ASSOCIATION_ASSIGN); + + [self setHidden:forcedHidden]; +} + +- (void)setHidden:(BOOL)hidden +{ + if(self.forcedHidden) { + super.hidden = YES; + return; + } + + super.hidden = hidden; +} + +@end diff --git a/SCXcodeMinimap/SCMiniMapView.h b/SCXcodeMinimap/SCMiniMapView.h deleted file mode 100644 index bc0d0d2..0000000 --- a/SCXcodeMinimap/SCMiniMapView.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// SCMiniMapView.h -// SCXcodeMinimap -// -// Created by Jérôme ALVES on 30/04/13. -// Copyright (c) 2013 Stefan Ceriu. All rights reserved. -// - -#import -#import "SCSelectionView.h" - -@interface SCMiniMapView : NSScrollView - -@property (nonatomic, retain) NSTextView *textView; -@property (nonatomic, retain) SCSelectionView *selectionView; - -@property (nonatomic, assign) NSScrollView *editorScrollView; -@property (nonatomic, assign) NSTextView *editorTextView; - -- (void)updateTextView; -- (void)updateSelectionView; - -- (void) show; -- (void) hide; - -@end diff --git a/SCXcodeMinimap/SCMiniMapView.m b/SCXcodeMinimap/SCMiniMapView.m deleted file mode 100644 index cfc0dea..0000000 --- a/SCXcodeMinimap/SCMiniMapView.m +++ /dev/null @@ -1,314 +0,0 @@ -// -// SCMiniMapView.m -// SCXcodeMinimap -// -// Created by Jérôme ALVES on 30/04/13. -// Copyright (c) 2013 Stefan Ceriu. All rights reserved. -// - -#import "SCMiniMapView.h" -#import "SCXcodeMinimap.h" - -static NSString * const DVTFontAndColorSourceTextSettingsChangedNotification = @"DVTFontAndColorSourceTextSettingsChangedNotification"; - -@interface SCMiniMapView () - -@property (nonatomic, retain) NSColor *backgroundColor; -@property (nonatomic, retain) NSFont *font; - -@end - -@implementation SCMiniMapView - -- (id)initWithFrame:(NSRect)frame -{ - self = [super initWithFrame:frame]; - if (self) - { - /* Configure ScrollView */ - [self setWantsLayer:YES]; - [self setAutoresizingMask: NSViewMinXMargin | NSViewHeightSizable]; - [self setDrawsBackground:NO]; - [self setHorizontalScrollElasticity:NSScrollElasticityNone]; - [self setVerticalScrollElasticity:NSScrollElasticityNone]; - - /* Subscribe to show/hide notifications */ - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(show) - name:SCXodeMinimapWantsToBeShownNotification - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(hide) - name:SCXodeMinimapWantsToBeHiddenNotification - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(updateTheme) - name:DVTFontAndColorSourceTextSettingsChangedNotification - object:nil]; - } - return self; -} - -- (void)dealloc -{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; - - [_selectionView release]; - [_textView release]; - [_backgroundColor release]; - [_font release]; - [super dealloc]; -} - -#pragma mark - Lazy Initialization - -- (NSTextView *)textView -{ - if (_textView == nil) { - _textView = [[NSTextView alloc] initWithFrame:self.bounds]; - [_textView setBackgroundColor:[NSColor clearColor]]; - - [_textView.textContainer setLineFragmentPadding:0.0f]; - - [_textView.layoutManager setDelegate:self]; - - [_textView setAllowsUndo:NO]; - [_textView setAllowsImageEditing:NO]; - [_textView setAutomaticDashSubstitutionEnabled:NO]; - [_textView setAutomaticDataDetectionEnabled:NO]; - [_textView setAutomaticLinkDetectionEnabled:NO]; - [_textView setAutomaticQuoteSubstitutionEnabled:NO]; - [_textView setAutomaticSpellingCorrectionEnabled:NO]; - [_textView setAutomaticTextReplacementEnabled:NO]; - [_textView setContinuousSpellCheckingEnabled:NO]; - [_textView setDisplaysLinkToolTips:NO]; - [_textView setEditable:NO]; - [_textView setRichText:YES]; - [_textView setSelectable:NO]; - - [self setDocumentView:_textView]; - - [self updateTheme]; - } - - return _textView; -} - -- (SCSelectionView *)selectionView -{ - if (_selectionView == nil) { - _selectionView = [[SCSelectionView alloc] init]; - //[_selectionView setShouldInverseColors:YES]; - [self.textView addSubview:_selectionView]; - } - - return _selectionView; -} - -- (NSFont *)font -{ - if(_font == nil) { - _font = [NSFont fontWithName:@"Menlo" size:11 * kDefaultZoomLevel]; - - Class DVTFontAndColorThemeClass = NSClassFromString(@"DVTFontAndColorTheme"); - if([DVTFontAndColorThemeClass respondsToSelector:@selector(currentTheme)]) { - - NSObject *theme = [DVTFontAndColorThemeClass performSelector:@selector(currentTheme)]; - if([theme respondsToSelector:@selector(sourcePlainTextFont)]) { - NSFont *themeFont = [theme performSelector:@selector(sourcePlainTextFont)]; - self.font = [NSFont fontWithName:themeFont.familyName size:themeFont.pointSize * kDefaultZoomLevel]; - } - } - } - - return _font; -} - -- (NSColor *)backgroundColor -{ - if(_backgroundColor == nil) { - _backgroundColor = [[NSColor clearColor] shadowWithLevel:kDefaultShadowLevel]; - - Class DVTFontAndColorThemeClass = NSClassFromString(@"DVTFontAndColorTheme"); - if([DVTFontAndColorThemeClass respondsToSelector:@selector(currentTheme)]) { - - NSObject *theme = [DVTFontAndColorThemeClass performSelector:@selector(currentTheme)]; - if([theme respondsToSelector:@selector(sourceTextBackgroundColor)]) { - NSColor *themeBackgroundColor = [theme performSelector:@selector(sourceTextBackgroundColor)]; - self.backgroundColor = [themeBackgroundColor shadowWithLevel:kDefaultShadowLevel]; - } - } - } - - return _backgroundColor; -} - -#pragma mark - Show/Hide - -- (void)show -{ - self.hidden = NO; - - NSRect frame = self.editorScrollView.frame; - frame.size.width = self.editorScrollView.superview.frame.size.width - self.bounds.size.width; - self.editorScrollView.frame = frame; - - [self updateTextView]; - [self updateSelectionView]; -} - -- (void)hide -{ - self.hidden = YES; - - NSRect frame = self.editorScrollView.frame; - frame.size.width = self.editorScrollView.superview.frame.size.width; - self.editorScrollView.frame = frame; -} - -#pragma mark - Updating - -- (void)updateTheme -{ - [self setFont:nil]; - [self updateTextView]; - - [self setBackgroundColor:nil]; - [self.selectionView setSelectionColor:nil]; - [self.textView setBackgroundColor:self.backgroundColor]; -} - -- (void)updateTextView -{ - if ([self isHidden]) { - return; - } - - NSMutableAttributedString *mutableAttributedString = [self.editorTextView.textStorage mutableCopy]; - - if(mutableAttributedString == nil) { - return; - } - - __block NSMutableParagraphStyle *style; - [mutableAttributedString enumerateAttribute:NSParagraphStyleAttributeName - inRange:NSMakeRange(0, mutableAttributedString.length) - options:0 - usingBlock:^(id value, NSRange range, BOOL *stop) { - style = [value mutableCopy]; - }]; - [style setTabStops:@[]]; - [style setDefaultTabInterval:style.defaultTabInterval * kDefaultZoomLevel]; - - [mutableAttributedString setAttributes:@{NSFontAttributeName: self.font, NSParagraphStyleAttributeName : style} range:NSMakeRange(0, mutableAttributedString.length)]; - [self.textView.textStorage setAttributedString:mutableAttributedString]; - [mutableAttributedString release]; -} - -- (void)resizeWithOldSuperviewSize:(NSSize)oldSize -{ - [super resizeWithOldSuperviewSize:oldSize]; - [self updateSelectionView]; -} - -- (void)updateSelectionView -{ - if ([self isHidden]) { - return; - } - - NSRect selectionViewFrame = NSMakeRect(0, - 0, - self.bounds.size.width, - self.editorScrollView.visibleRect.size.height * kDefaultZoomLevel); - - - CGFloat editorContentHeight = [self.editorScrollView.documentView frame].size.height - self.editorScrollView.bounds.size.height; - - if(editorContentHeight == 0) { - selectionViewFrame.origin.y = 0; - } - else { - CGFloat ratio = ([self.documentView frame].size.height - self.bounds.size.height) / editorContentHeight; - [self.contentView scrollToPoint:NSMakePoint(0, floorf(self.editorScrollView.contentView.bounds.origin.y * ratio))]; - - CGFloat textHeight = [self.textView.layoutManager usedRectForTextContainer:self.textView.textContainer].size.height; - ratio = (textHeight - self.selectionView.bounds.size.height) / editorContentHeight; - selectionViewFrame.origin.y = self.editorScrollView.contentView.bounds.origin.y * ratio; - } - - [self.selectionView setFrame:selectionViewFrame]; -} - -#pragma mark - NSLayoutManagerDelegate - -- (void)layoutManager:(NSLayoutManager *)layoutManager didCompleteLayoutForTextContainer:(NSTextContainer *)textContainer atEnd:(BOOL)layoutFinished -{ - if(layoutFinished) { - [self updateSelectionView]; - } -} - -- (NSDictionary *)layoutManager:(NSLayoutManager *)layoutManager shouldUseTemporaryAttributes:(NSDictionary *)attrs forDrawingToScreen:(BOOL)toScreen atCharacterIndex:(NSUInteger)charIndex effectiveRange:(NSRangePointer)effectiveCharRange -{ - return [(id)self.editorTextView layoutManager:layoutManager - shouldUseTemporaryAttributes:attrs - forDrawingToScreen:toScreen - atCharacterIndex:charIndex - effectiveRange:effectiveCharRange]; -} - -#pragma mark - Navigation - -- (void)mouseUp:(NSEvent *)theEvent -{ - [super mouseUp:theEvent]; - [self handleMouseEvent:theEvent]; -} - -- (void)mouseDown:(NSEvent *)theEvent -{ - [super mouseDown:theEvent]; - [self handleMouseEvent:theEvent]; -} - -- (void)mouseDragged:(NSEvent *)theEvent -{ - [super mouseDragged:theEvent]; - [self handleMouseEvent:theEvent]; -} - -- (void) handleMouseEvent:(NSEvent *)theEvent -{ - NSPoint locationInSelf = [self convertPoint:theEvent.locationInWindow fromView:nil]; - - NSSize textSize = [self.textView.layoutManager usedRectForTextContainer:self.textView.textContainer].size; - NSSize frameSize = self.frame.size; - - NSPoint point; - if (textSize.height < frameSize.height) { - point = NSMakePoint(locationInSelf.x / textSize.width, locationInSelf.y / textSize.height); - } - else { - point = NSMakePoint(locationInSelf.x / textSize.width, locationInSelf.y / frameSize.height); - } - - [self goAtRelativePosition:point]; -} - -- (void)goAtRelativePosition:(NSPoint)position -{ - CGFloat documentHeight = [self.editorScrollView.documentView frame].size.height; - CGSize boundsSize = self.editorScrollView.bounds.size; - CGFloat maxOffset = documentHeight - boundsSize.height; - - CGFloat offset = floor(documentHeight * position.y - boundsSize.height/2); - - offset = MIN(MAX(0, offset), maxOffset); - - [self.editorTextView scrollRectToVisible:NSMakeRect(0, offset, boundsSize.width, boundsSize.height)]; -} - -@end diff --git a/SCXcodeMinimap/SCSelectionView.h b/SCXcodeMinimap/SCSelectionView.h deleted file mode 100644 index d567196..0000000 --- a/SCXcodeMinimap/SCSelectionView.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// SCSelectionView.h -// SCXcodeMinimap -// -// Created by Stefan Ceriu on 4/21/13. -// Copyright (c) 2013 Stefan Ceriu. All rights reserved. -// - -#import - -@interface SCSelectionView : NSView - -@property (nonatomic, retain) NSColor *selectionColor; -@property (nonatomic, assign) BOOL shouldInverseColors; - -@end diff --git a/SCXcodeMinimap/SCSelectionView.m b/SCXcodeMinimap/SCSelectionView.m deleted file mode 100644 index 6bd84ae..0000000 --- a/SCXcodeMinimap/SCSelectionView.m +++ /dev/null @@ -1,78 +0,0 @@ -// -// SCSelectionView.m -// SCXcodeMinimap -// -// Created by Stefan Ceriu on 4/21/13. -// Copyright (c) 2013 Stefan Ceriu. All rights reserved. -// - -#import "SCSelectionView.h" - -@implementation SCSelectionView -@synthesize selectionColor = _selectionColor; - -- (void)dealloc -{ - [self.selectionColor release]; - [super dealloc]; -} - -- (void)drawRect:(NSRect)dirtyRect -{ - [[self selectionColor] setFill]; - NSRectFill(dirtyRect); -} - -- (NSColor *)selectionColor -{ - if(_selectionColor == nil) { - - _selectionColor = [NSColor colorWithDeviceRed:0.0f green:0.0f blue:0.0f alpha:0.3f]; - - Class DVTFontAndColorThemeClass = NSClassFromString(@"DVTFontAndColorTheme"); - - if([DVTFontAndColorThemeClass respondsToSelector:@selector(currentTheme)]) { - NSObject *theme = [DVTFontAndColorThemeClass performSelector:@selector(currentTheme)]; - - if([theme respondsToSelector:@selector(sourceTextBackgroundColor)]) { - NSColor *backgroundColor = [[theme performSelector:@selector(sourceTextBackgroundColor)] colorUsingColorSpace:[NSColorSpace deviceRGBColorSpace]]; - - if(self.shouldInverseColors) { - - _selectionColor = [NSColor colorWithCalibratedRed:(1.0f - [backgroundColor redComponent]) - green:(1.0f - [backgroundColor greenComponent]) - blue:(1.0f - [backgroundColor blueComponent]) - alpha:0.3f]; - } else { - - _selectionColor = [NSColor colorWithCalibratedHue:0.0f - saturation:0.0f - brightness:(1.0f - [backgroundColor brightnessComponent]) - alpha:0.3f]; - } - } - } - } - - return _selectionColor; -} - -- (void)setSelectionColor:(NSColor *)selectionColor -{ - if([_selectionColor isEqual:selectionColor]) return; - - _selectionColor = selectionColor; - [self setNeedsDisplay:YES]; -} - -- (void)setShouldInverseColors:(BOOL)shouldInverseColors -{ - if(_shouldInverseColors == shouldInverseColors) { - return; - } - - _shouldInverseColors = shouldInverseColors; - _selectionColor = nil; -} - -@end diff --git a/SCXcodeMinimap/SCXcodeMinimap-Info.plist b/SCXcodeMinimap/SCXcodeMinimap-Info.plist index 091842b..e5950a1 100644 --- a/SCXcodeMinimap/SCXcodeMinimap-Info.plist +++ b/SCXcodeMinimap/SCXcodeMinimap-Info.plist @@ -9,7 +9,7 @@ CFBundleIconFile CFBundleIdentifier - com.stefanceriu.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -17,15 +17,44 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.0 + 1.3 CFBundleSignature ???? CFBundleVersion 1 + DVTPlugInCompatibilityUUIDs + + FEC992CC-CA4A-4CFD-8881-77300FCB848A + C4A681B0-4A26-480E-93EC-1218098B9AA0 + A2E4D43F-41F4-4FB9-BB94-7177011C9AED + AD68E85B-441B-4301-B564-A45E4919A6AD + 63FC1C47-140D-42B0-BB4D-A10B2D225574 + 37B30044-3B14-46BA-ABAA-F01000C27B63 + 640F884E-CE55-4B40-87C0-8869546CAB7A + 992275C1-432A-4CF7-B659-D84ED6D42D3F + A16FF353-8441-459E-A50C-B071F53F51B7 + 9F75337B-21B4-4ADC-B558-F9CADF7073A7 + 992275C1-432A-4CF7-B659-D84ED6D42D3F + E969541F-E6F9-4D25-8158-72DC3545A6C6 + 8DC44374-2B35-4C57-A6FE-2AD66A36AAD9 + 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 + AABB7188-E14E-4433-AD3B-5CD791EAD9A3 + CC0D0F4F-05B3-431A-8F33-F84AFCB2C651 + 0420B86A-AA43-4792-9ED0-6FE0F2B16A13 + 7265231C-39B4-402C-89E1-16167C4CC990 + F41BD31E-2683-44B8-AE7F-5F09E919790E + ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C + 1637F4D5-0B27-416B-A78D-498965D64877 + DA4FDFD8-C509-4D8B-8B55-84A7B66AE701 + E0A62D1F-3C18-4D74-BFE5-A4167D643966 + DFFB3951-EB0A-4C09-9DAC-5F2D28CC839C + + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright Copyright © 2013 Stefan Ceriu. All rights reserved. NSPrincipalClass - + SCXcodeMinimap XC4Compatible XCGCReady diff --git a/SCXcodeMinimap/SCXcodeMinimap-Prefix.pch b/SCXcodeMinimap/SCXcodeMinimap-Prefix.pch index 9fedb27..9aa58be 100644 --- a/SCXcodeMinimap/SCXcodeMinimap-Prefix.pch +++ b/SCXcodeMinimap/SCXcodeMinimap-Prefix.pch @@ -4,5 +4,4 @@ #ifdef __OBJC__ #import - #import "Conf.h" #endif \ No newline at end of file diff --git a/SCXcodeMinimap/SCXcodeMinimap.h b/SCXcodeMinimap/SCXcodeMinimap.h index 70d24dc..1c06091 100644 --- a/SCXcodeMinimap/SCXcodeMinimap.h +++ b/SCXcodeMinimap/SCXcodeMinimap.h @@ -8,8 +8,41 @@ #import -extern NSString *const SCXodeMinimapWantsToBeShownNotification; -extern NSString *const SCXodeMinimapWantsToBeHiddenNotification; +extern NSString *const SCXcodeMinimapShouldDisplayChangeNotification; +extern NSString *const SCXcodeMinimapShouldDisplayKey; + +extern NSString *const SCXcodeMinimapZoomLevelChangeNotification; +extern NSString *const SCXcodeMinimapZoomLevelKey; + +extern NSString *const SCXcodeMinimapHighlightBreakpointsChangeNotification; +extern NSString *const SCXcodeMinimapShouldHighlightBreakpointsKey; + +extern NSString *const SCXcodeMinimapHighlightIssuesChangeNotification; +extern NSString *const SCXcodeMinimapShouldHighlightIssuesKey; + +extern NSString *const SCXcodeMinimapHighlightSelectedSymbolChangeNotification; +extern NSString *const SCXcodeMinimapShouldHighlightSelectedSymbolKey; + +extern NSString *const SCXcodeMinimapHighlightSearchResultsChangeNotification; +extern NSString *const SCXcodeMinimapShouldHighlightSearchResultsKey; + +extern NSString *const SCXcodeMinimapHighlightCommentsChangeNotification; +extern NSString *const SCXcodeMinimapShouldHighlightCommentsKey; + +extern NSString *const SCXcodeMinimapHighlightPreprocessorChangeNotification; +extern NSString *const SCXcodeMinimapShouldHighlightPreprocessorKey; + +extern NSString *const SCXcodeMinimapHighlightEditorChangeNotification; +extern NSString *const SCXcodeMinimapShouldHighlightEditorKey; + +extern NSString *const SCXcodeMinimapHideEditorScrollerChangeNotification; +extern NSString *const SCXcodeMinimapShouldHideEditorScrollerKey; + +extern NSString *const SCXcodeMinimapAutohideChangeNotification; +extern NSString *const SCXcodeMinimapShouldAutohideKey; + +extern NSString *const SCXcodeMinimapThemeChangeNotification; +extern NSString *const SCXcodeMinimapThemeKey; @interface SCXcodeMinimap : NSObject diff --git a/SCXcodeMinimap/SCXcodeMinimap.m b/SCXcodeMinimap/SCXcodeMinimap.m index b46ac22..27053aa 100644 --- a/SCXcodeMinimap/SCXcodeMinimap.m +++ b/SCXcodeMinimap/SCXcodeMinimap.m @@ -6,163 +6,447 @@ // Copyright (c) 2013 Stefan Ceriu. All rights reserved // -#import "SCMiniMapView.h" #import "SCXcodeMinimap.h" -#import +#import "SCXcodeMinimapView.h" -static char kKeyMiniMapView; +#import "IDESourceCodeEditor.h" +#import "DVTSourceTextView.h" -static NSString * const IDESourceCodeEditorDidFinishSetupNotification = @"IDESourceCodeEditorDidFinishSetup"; -static NSString * const IDEEditorDocumentDidChangeNotification = @"IDEEditorDocumentDidChangeNotification"; -static NSString * const IDESourceCodeEditorTextViewBoundsDidChangeNotification = @"IDESourceCodeEditorTextViewBoundsDidChangeNotification"; +#import "DVTPreferenceSetManager.h" +#import "DVTFontAndColorTheme.h" -NSString * const SCXodeMinimapWantsToBeShownNotification = @"SCXodeMinimapWantsToBeShownNotification"; -NSString * const SCXodeMinimapWantsToBeHiddenNotification = @"SCXodeMinimapWantsToBeHiddenNotification"; +NSString *const IDESourceCodeEditorDidFinishSetupNotification = @"IDESourceCodeEditorDidFinishSetup"; -NSString * const SCXodeMinimapIsInitiallyHidden = @"SCXodeMinimapIsInitiallyHidden"; +NSString *const SCXcodeMinimapShouldDisplayChangeNotification = @"SCXcodeMinimapShouldDisplayChangeNotification"; +NSString *const SCXcodeMinimapShouldDisplayKey = @"SCXcodeMinimapShouldDisplayKey"; + +NSString *const SCXcodeMinimapZoomLevelChangeNotification = @"SCXcodeMinimapZoomLevelChangeNotification"; +NSString *const SCXcodeMinimapZoomLevelKey = @"SCXcodeMinimapZoomLevelKey"; + +NSString *const SCXcodeMinimapHighlightBreakpointsChangeNotification = @"SCXcodeMinimapHighlightBreakpointsChangeNotification"; +NSString *const SCXcodeMinimapShouldHighlightBreakpointsKey = @"SCXcodeMinimapShouldHighlightBreakpointsKey"; + +NSString *const SCXcodeMinimapHighlightIssuesChangeNotification = @"SCXcodeMinimapHighlightIssuesChangeNotification"; +NSString *const SCXcodeMinimapShouldHighlightIssuesKey = @"SCXcodeMinimapShouldHighlightIssuesKey"; + +NSString *const SCXcodeMinimapHighlightSelectedSymbolChangeNotification = @"SCXcodeMinimapHighlightSelectedSymbolChangeNotification"; +NSString *const SCXcodeMinimapShouldHighlightSelectedSymbolKey = @"SCXcodeMinimapShouldHighlightSelectedSymbolKey"; + +NSString *const SCXcodeMinimapHighlightSearchResultsChangeNotification = @"SCXcodeMinimapHighlightSearchResultsChangeNotification"; +NSString *const SCXcodeMinimapShouldHighlightSearchResultsKey = @"SCXcodeMinimapShouldHighlightSearchResultsKey"; + +NSString *const SCXcodeMinimapHighlightCommentsChangeNotification = @"SCXcodeMinimapHighlightCommentsChangeNotification"; +NSString *const SCXcodeMinimapShouldHighlightCommentsKey = @"SCXcodeMinimapShouldHighlightCommentsKey"; + +NSString *const SCXcodeMinimapHighlightPreprocessorChangeNotification = @"SCXcodeMinimapHighlightPreprocessorChangeNotification"; +NSString *const SCXcodeMinimapShouldHighlightPreprocessorKey = @"SCXcodeMinimapShouldHighlightPreprocessorKey"; + +NSString *const SCXcodeMinimapHighlightEditorChangeNotification = @"SCXcodeMinimapHighlightEditorChangeNotification"; +NSString *const SCXcodeMinimapShouldHighlightEditorKey = @"SCXcodeMinimapShouldHighlightEditorKey"; + +NSString *const SCXcodeMinimapHideEditorScrollerChangeNotification = @"SCXcodeMinimapHideEditorScrollerChangeNotification"; +NSString *const SCXcodeMinimapShouldHideEditorScrollerKey = @"SCXcodeMinimapShouldHideEditorScrollerKey"; + +NSString *const SCXcodeMinimapAutohideChangeNotification = @"SCXcodeMinimapAutohideChangeNotification"; +NSString *const SCXcodeMinimapShouldAutohideKey = @"SCXcodeMinimapShouldAutohideKey"; + +NSString *const SCXcodeMinimapThemeChangeNotification = @"SCXcodeMinimapThemeChangeNotification"; +NSString *const SCXcodeMinimapThemeKey = @"SCXcodeMinimapThemeKey"; + +NSString *const kViewMenuItemTitle = @"View"; + +NSString *const kMinimapMenuItemTitle = @"Minimap"; +NSString *const kShowMinimapMenuItemTitle = @"Show Minimap"; +NSString *const kHideMinimapMenuItemTitle = @"Hide Minimap"; + +NSString *const kSizeMenuItemTitle = @"Size"; + +NSString *const kHighlightBreakpointsMenuItemTitle = @"Highlight breakpoints"; +NSString *const kHighlightIssuesMenuItemTitle = @"Highlight issues"; +NSString *const kHighlightSelectedSymbolMenuItemTitle = @"Highlight selected symbol"; +NSString *const kHighlightSearchResultsMenuItemTitle = @"Highlight search results"; +NSString *const kHighlightCommentsMenuItemTitle = @"Highlight comments"; +NSString *const kHighlightPreprocessorMenuItemTitle = @"Highlight preprocessor"; +NSString *const kHighlightEditorMenuItemTitle = @"Highlight main editor"; +NSString *const kHideEditorScrollerMenuItemTitle = @"Hide editor scroller"; +NSString *const kAutohideMenuItemTitle = @"Autohide"; + +NSString *const kThemeMenuItemTitle = @"Theme"; +NSString *const kEditorThemeMenuItemTitle = @"Editor Theme"; @implementation SCXcodeMinimap -static SCXcodeMinimap *sharedMinimap = nil; -+ (void)pluginDidLoad:(NSBundle *)plugin { - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedMinimap = [[self alloc] init]; - }); ++ (void)pluginDidLoad:(NSBundle *)plugin +{ + BOOL isApplicationXcode = [[[NSBundle mainBundle] infoDictionary][@"CFBundleName"] isEqual:@"Xcode"]; + if (isApplicationXcode) { + static SCXcodeMinimap *sharedMinimap = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedMinimap = [[self alloc] init]; + }); + } } -- (id)init { +- (id)init +{ if (self = [super init]) { - - [self createMenuItem]; - - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onDidFinishSetup:) name:IDESourceCodeEditorDidFinishSetupNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onDocumentDidChange:) name:IDEEditorDocumentDidChangeNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onCodeEditorBoundsChange:) name:IDESourceCodeEditorTextViewBoundsDidChangeNotification object:nil]; - } + + [self registerUserDefaults]; + + dispatch_async(dispatch_get_main_queue(), ^{ + [self createMenuItem]; + }); + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onDidFinishSetup:) name:IDESourceCodeEditorDidFinishSetupNotification object:nil]; + } return self; } +- (void)registerUserDefaults +{ + NSDictionary *userDefaults = @{SCXcodeMinimapZoomLevelKey : @(0.1f), + SCXcodeMinimapShouldDisplayKey : @(YES), + SCXcodeMinimapShouldHighlightBreakpointsKey : @(YES), + SCXcodeMinimapShouldHighlightIssuesKey : @(YES), + SCXcodeMinimapShouldHighlightSelectedSymbolKey : @(YES), + SCXcodeMinimapShouldHighlightSearchResultsKey : @(YES), + SCXcodeMinimapShouldHighlightCommentsKey : @(YES), + SCXcodeMinimapShouldHighlightPreprocessorKey : @(YES)}; + + [[NSUserDefaults standardUserDefaults] registerDefaults:userDefaults]; +} + +#pragma mark - Menu Items and Actions + - (void)createMenuItem { - NSMenuItem *editMenuItem = [[NSApp mainMenu] itemWithTitle:@"View"]; - - if(editMenuItem == nil) { - NSLog(@"Could not fetch 'View' main menu item"); - return; - } - - NSMenuItem *miniMapItem = [[NSMenuItem alloc] initWithTitle:@"" - action:NULL - keyEquivalent:@"M"]; - [miniMapItem setKeyEquivalentModifierMask:NSControlKeyMask | NSShiftKeyMask]; - - miniMapItem.target = self; - - [editMenuItem.submenu insertItem:[NSMenuItem separatorItem] - atIndex:[editMenuItem.submenu numberOfItems]]; - [editMenuItem.submenu insertItem:miniMapItem - atIndex:[editMenuItem.submenu numberOfItems]]; - - [miniMapItem release]; + NSMenuItem *viewMenuItem = [[NSApp mainMenu] itemWithTitle:kViewMenuItemTitle]; + + if(viewMenuItem == nil) { + return; + } + + [viewMenuItem.submenu addItem:[NSMenuItem separatorItem]]; + + NSMenuItem *minimapMenuItem = [[NSMenuItem alloc] initWithTitle:kMinimapMenuItemTitle action:nil keyEquivalent:@""]; + [viewMenuItem.submenu addItem:minimapMenuItem]; + + NSMenu *minimapMenu = [[NSMenu alloc] init]; + { + NSMenuItem *showHideMinimapItem = [[NSMenuItem alloc] initWithTitle:@"" action:@selector(toggleMinimap:) keyEquivalent:@"M"]; + [showHideMinimapItem setKeyEquivalentModifierMask:NSControlKeyMask | NSShiftKeyMask]; + [showHideMinimapItem setTarget:self]; + [minimapMenu addItem:showHideMinimapItem]; + + [minimapMenu addItem:[NSMenuItem separatorItem]]; + + NSView *sizeView = [[NSView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 225.0f, 20.0f)]; + [sizeView setAutoresizingMask:NSViewMinXMargin | NSViewMaxXMargin | NSViewMinYMargin | NSViewMaxYMargin]; + + NSTextField *sizeViewTitleLabel = [[NSTextField alloc] initWithFrame:NSMakeRect(20.0f, 0.0f, 50.0f, 20.0f)]; + [sizeViewTitleLabel setStringValue:kSizeMenuItemTitle]; + [sizeViewTitleLabel setFont:[NSFont systemFontOfSize:14]]; + [sizeViewTitleLabel setBezeled:NO]; + [sizeViewTitleLabel setDrawsBackground:NO]; + [sizeViewTitleLabel setEditable:NO]; + [sizeViewTitleLabel setSelectable:NO]; + [sizeView addSubview:sizeViewTitleLabel]; + + NSSlider *sizeSlider = [[NSSlider alloc] initWithFrame:CGRectMake(60.0f, 0.0f, 156.0f, 20.0f)]; + [sizeSlider setMaxValue:0.35f]; + [sizeSlider setMinValue:0.05f]; + [sizeSlider setTarget:self]; + [sizeSlider setAction:@selector(onSizeSliderValueChanged:)]; + [sizeSlider setDoubleValue:[[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapZoomLevelKey] doubleValue]]; + [sizeView addSubview:sizeSlider]; + + NSMenuItem *minimapSizeItem = [[NSMenuItem alloc] init]; + [minimapSizeItem setView:sizeView]; + [minimapMenu addItem:minimapSizeItem]; + + BOOL shouldDisplayMinimap = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldDisplayKey] boolValue]; + [showHideMinimapItem setTitle:(shouldDisplayMinimap ? kHideMinimapMenuItemTitle : kShowMinimapMenuItemTitle)]; + + [minimapMenu addItem:[NSMenuItem separatorItem]]; + } + + { + NSMenuItem *highlightBreakpointsMenuItem = [[NSMenuItem alloc] initWithTitle:kHighlightBreakpointsMenuItemTitle + action:@selector(toggleBreakpointHighlighting:) keyEquivalent:@""]; + [highlightBreakpointsMenuItem setTarget:self]; + [minimapMenu addItem:highlightBreakpointsMenuItem]; + + BOOL breakpointHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightBreakpointsKey] boolValue]; + [highlightBreakpointsMenuItem setState:(breakpointHighlightingEnabled ? NSOnState : NSOffState)]; + + + NSMenuItem *highlightIssuesMenuItem = [[NSMenuItem alloc] initWithTitle:kHighlightIssuesMenuItemTitle + action:@selector(toggleIssuesHighlighting:) keyEquivalent:@""]; + [highlightIssuesMenuItem setTarget:self]; + [minimapMenu addItem:highlightIssuesMenuItem]; + + BOOL issueHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightIssuesKey] boolValue]; + [highlightIssuesMenuItem setState:(issueHighlightingEnabled ? NSOnState : NSOffState)]; + + + NSMenuItem *highlightSelectedSymbolMenuItem = [[NSMenuItem alloc] initWithTitle:kHighlightSelectedSymbolMenuItemTitle + action:@selector(toggleSelectedSymbolHighlighting:) keyEquivalent:@""]; + [highlightSelectedSymbolMenuItem setTarget:self]; + [minimapMenu addItem:highlightSelectedSymbolMenuItem]; + + BOOL selectedSymbolHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightSelectedSymbolKey] boolValue]; + [highlightSelectedSymbolMenuItem setState:(selectedSymbolHighlightingEnabled ? NSOnState : NSOffState)]; + + + NSMenuItem *highlightSearchResultsMenuItem = [[NSMenuItem alloc] initWithTitle:kHighlightSearchResultsMenuItemTitle + action:@selector(toggleSearchResultsHighlighting:) keyEquivalent:@""]; + [highlightSearchResultsMenuItem setTarget:self]; + [minimapMenu addItem:highlightSearchResultsMenuItem]; + + BOOL searchResultsHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightSearchResultsKey] boolValue]; + [highlightSearchResultsMenuItem setState:(searchResultsHighlightingEnabled ? NSOnState : NSOffState)]; + + + NSMenuItem *highlightCommentsMenuItem = [[NSMenuItem alloc] initWithTitle:kHighlightCommentsMenuItemTitle + action:@selector(toggleCommentsHighlighting:) keyEquivalent:@""]; + [highlightCommentsMenuItem setTarget:self]; + [minimapMenu addItem:highlightCommentsMenuItem]; + + BOOL commentsHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightCommentsKey] boolValue]; + [highlightCommentsMenuItem setState:(commentsHighlightingEnabled ? NSOnState : NSOffState)]; + + + NSMenuItem *highlightPreprocessorMenuItem = [[NSMenuItem alloc] initWithTitle:kHighlightPreprocessorMenuItemTitle + action:@selector(togglePreprocessorHighlighting:) keyEquivalent:@""]; + [highlightPreprocessorMenuItem setTarget:self]; + [minimapMenu addItem:highlightPreprocessorMenuItem]; + + BOOL preprocessorHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightPreprocessorKey] boolValue]; + [highlightPreprocessorMenuItem setState:(preprocessorHighlightingEnabled ? NSOnState : NSOffState)]; + + + NSMenuItem *highlightEditorMenuItem = [[NSMenuItem alloc] initWithTitle:kHighlightEditorMenuItemTitle + action:@selector(toggleEditorHighlighting:) keyEquivalent:@""]; + [highlightEditorMenuItem setTarget:self]; + [minimapMenu addItem:highlightEditorMenuItem]; + + BOOL editorHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightEditorKey] boolValue]; + [highlightEditorMenuItem setState:(editorHighlightingEnabled ? NSOnState : NSOffState)]; + + + NSMenuItem *hideEditorScrollerMenuItem = [[NSMenuItem alloc] initWithTitle:kHideEditorScrollerMenuItemTitle + action:@selector(toggleEditorScrollerHiding:) keyEquivalent:@""]; + [hideEditorScrollerMenuItem setTarget:self]; + [minimapMenu addItem:hideEditorScrollerMenuItem]; + + BOOL shouldHideEditorScroller = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHideEditorScrollerKey] boolValue]; + [hideEditorScrollerMenuItem setState:(shouldHideEditorScroller ? NSOnState : NSOffState)]; + + + NSMenuItem *autohideMenuItem = [[NSMenuItem alloc] initWithTitle:kAutohideMenuItemTitle + action:@selector(toggleAutohide:) keyEquivalent:@""]; + [autohideMenuItem setTarget:self]; + [minimapMenu addItem:autohideMenuItem]; + + BOOL shouldAutohide = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldAutohideKey] boolValue]; + [autohideMenuItem setState:(shouldAutohide ? NSOnState : NSOffState)]; + + + [minimapMenu addItem:[NSMenuItem separatorItem]]; + } + + { + NSMenuItem *themesMenuItem = [[NSMenuItem alloc] initWithTitle:kThemeMenuItemTitle action:nil keyEquivalent:@""]; + [minimapMenu addItem:themesMenuItem]; + + NSMenu *themesMenu = [[NSMenu alloc] init]; + { + NSString *currentThemeName = [[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapThemeKey]; + + NSMenuItem *editorThemeMenuItem = [[NSMenuItem alloc] initWithTitle:kEditorThemeMenuItemTitle action:@selector(setMinimapTheme:) keyEquivalent:@""]; + [editorThemeMenuItem setTarget:self]; + [themesMenu addItem:editorThemeMenuItem]; + + if(currentThemeName == nil) { + [editorThemeMenuItem setState:NSOnState]; + } + + [themesMenu addItem:[NSMenuItem separatorItem]]; + + NSArray *themes = [[DVTFontAndColorTheme preferenceSetsManager] availablePreferenceSets]; + NSArray *builtInThemes = [themes filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF.isBuiltIn == YES"]]; + NSArray *userThemes = [themes filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF.isBuiltIn == NO"]]; + + for(DVTFontAndColorTheme *theme in builtInThemes) { + NSMenuItem *themeMenuItem = [[NSMenuItem alloc] initWithTitle:theme.localizedName action:@selector(setMinimapTheme:) keyEquivalent:@""]; + [themeMenuItem setTarget:self]; + [themesMenu addItem:themeMenuItem]; + + if([theme.localizedName isEqualToString:currentThemeName]) { + [themeMenuItem setState:NSOnState]; + } + } + + [themesMenu addItem:[NSMenuItem separatorItem]]; + + for(DVTFontAndColorTheme *theme in userThemes) { + NSMenuItem *themeMenuItem = [[NSMenuItem alloc] initWithTitle:theme.localizedName action:@selector(setMinimapTheme:) keyEquivalent:@""]; + [themeMenuItem setTarget:self]; + [themesMenu addItem:themeMenuItem]; + + if([theme.localizedName isEqualToString:currentThemeName]) { + [themeMenuItem setState:NSOnState]; + } + } + } + [themesMenuItem setSubmenu:themesMenu]; + + } + [minimapMenuItem setSubmenu:minimapMenu]; +} + +- (void)toggleMinimap:(NSMenuItem *)sender +{ + BOOL shouldDisplayMinimap = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldDisplayKey] boolValue]; + + [sender setTitle:(!shouldDisplayMinimap ? kHideMinimapMenuItemTitle : kShowMinimapMenuItemTitle)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!shouldDisplayMinimap) forKey:SCXcodeMinimapShouldDisplayKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapShouldDisplayChangeNotification object:nil]; +} - if ([[NSUserDefaults standardUserDefaults] boolForKey:SCXodeMinimapIsInitiallyHidden]) { - [self hideMiniMap:miniMapItem]; - } - else { - [self showMiniMap:miniMapItem]; - } +- (void)toggleBreakpointHighlighting:(NSMenuItem *)sender +{ + BOOL breakpointHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightBreakpointsKey] boolValue]; + + [sender setState:(breakpointHighlightingEnabled ? NSOffState : NSOnState)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!breakpointHighlightingEnabled) forKey:SCXcodeMinimapShouldHighlightBreakpointsKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapHighlightBreakpointsChangeNotification object:nil]; +} + +- (void)toggleIssuesHighlighting:(NSMenuItem *)sender +{ + BOOL issueHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightIssuesKey] boolValue]; + + [sender setState:(issueHighlightingEnabled ? NSOffState : NSOnState)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!issueHighlightingEnabled) forKey:SCXcodeMinimapShouldHighlightIssuesKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapHighlightIssuesChangeNotification object:nil]; +} + +- (void)toggleSelectedSymbolHighlighting:(NSMenuItem *)sender +{ + BOOL selectedSymbolHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightSelectedSymbolKey] boolValue]; + + [sender setState:(selectedSymbolHighlightingEnabled ? NSOffState : NSOnState)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!selectedSymbolHighlightingEnabled) forKey:SCXcodeMinimapShouldHighlightSelectedSymbolKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapHighlightSelectedSymbolChangeNotification object:nil]; } -- (void)hideMiniMap:(NSMenuItem *)sender +- (void)toggleSearchResultsHighlighting:(NSMenuItem *)sender { - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:SCXodeMinimapIsInitiallyHidden]; + BOOL searchResultsHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightSearchResultsKey] boolValue]; + + [sender setState:(searchResultsHighlightingEnabled ? NSOffState : NSOnState)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!searchResultsHighlightingEnabled) forKey:SCXcodeMinimapShouldHighlightSearchResultsKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapHighlightSearchResultsChangeNotification object:nil]; +} - [sender setTitle:@"Show MiniMap"]; - [sender setAction:@selector(showMiniMap:)]; +- (void)toggleCommentsHighlighting:(NSMenuItem *)sender +{ + BOOL commentsHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightCommentsKey] boolValue]; + + [sender setState:(commentsHighlightingEnabled ? NSOffState : NSOnState)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!commentsHighlightingEnabled) forKey:SCXcodeMinimapShouldHighlightCommentsKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapHighlightCommentsChangeNotification object:nil]; +} - [[NSNotificationCenter defaultCenter] postNotificationName:SCXodeMinimapWantsToBeHiddenNotification object:nil]; +- (void)togglePreprocessorHighlighting:(NSMenuItem *)sender +{ + BOOL preprocessorHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightPreprocessorKey] boolValue]; + + [sender setState:(preprocessorHighlightingEnabled ? NSOffState : NSOnState)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!preprocessorHighlightingEnabled) forKey:SCXcodeMinimapShouldHighlightPreprocessorKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapHighlightPreprocessorChangeNotification object:nil]; } -- (void)showMiniMap:(NSMenuItem *)sender +- (void)toggleEditorHighlighting:(NSMenuItem *)sender { - [[NSUserDefaults standardUserDefaults] setBool:NO forKey:SCXodeMinimapIsInitiallyHidden]; + BOOL editorHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightEditorKey] boolValue]; + + [sender setState:(editorHighlightingEnabled ? NSOffState : NSOnState)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!editorHighlightingEnabled) forKey:SCXcodeMinimapShouldHighlightEditorKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapHighlightEditorChangeNotification object:nil]; +} - [sender setTitle:@"Hide MiniMap"]; - [sender setAction:@selector(hideMiniMap:)]; +- (void)toggleEditorScrollerHiding:(NSMenuItem *)sender +{ + BOOL shouldHideEditorScroller = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHideEditorScrollerKey] boolValue]; + + [sender setState:(shouldHideEditorScroller ? NSOffState : NSOnState)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!shouldHideEditorScroller) forKey:SCXcodeMinimapShouldHideEditorScrollerKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapHideEditorScrollerChangeNotification object:nil]; +} - [[NSNotificationCenter defaultCenter] postNotificationName:SCXodeMinimapWantsToBeShownNotification object:nil]; +- (void)toggleAutohide:(NSMenuItem *)sender +{ + BOOL shouldAutohide = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldAutohideKey] boolValue]; + + [sender setState:(shouldAutohide ? NSOffState : NSOnState)]; + [[NSUserDefaults standardUserDefaults] setObject:@(!shouldAutohide) forKey:SCXcodeMinimapShouldAutohideKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapAutohideChangeNotification object:nil]; } -- (void)onDocumentDidChange:(NSNotification*)sender +- (void)setMinimapTheme:(NSMenuItem *)sender { - SCMiniMapView *miniMapView = objc_getAssociatedObject([sender object], &kKeyMiniMapView); - [miniMapView updateTextView]; + NSString *currentThemeName = [[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapThemeKey]; + + if(currentThemeName == sender.title || [currentThemeName isEqualToString:sender.title]) { + return; + } + + NSMenu *themesSubmenu = [[[[NSApp mainMenu] itemWithTitle:kViewMenuItemTitle].submenu itemWithTitle:kMinimapMenuItemTitle].submenu itemWithTitle:kThemeMenuItemTitle].submenu; + for(NSMenuItem *item in themesSubmenu.itemArray) { + [item setState:NSOffState]; + } + + [sender setState:NSOnState]; + + if([sender.menu indexOfItem:sender] == 0) { + [[NSUserDefaults standardUserDefaults] removeObjectForKey:SCXcodeMinimapThemeKey]; + } else { + [[NSUserDefaults standardUserDefaults] setObject:sender.title forKey:SCXcodeMinimapThemeKey]; + } + + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapThemeChangeNotification object:nil]; } -- (void)onCodeEditorBoundsChange:(NSNotification*)sender +- (void)onSizeSliderValueChanged:(NSSlider *)sender { - if(![sender.object respondsToSelector:@selector(scrollView)]) { - NSLog(@"Could not fetch scroll view"); - return; - } - NSScrollView *editorScrollView = [sender.object performSelector:@selector(scrollView)]; - SCMiniMapView *miniMapView = objc_getAssociatedObject(editorScrollView, &kKeyMiniMapView); - [miniMapView updateSelectionView]; + NSEvent *event = [[NSApplication sharedApplication] currentEvent]; + if(event.type != NSLeftMouseUp) { + return; + } + + [[NSUserDefaults standardUserDefaults] setObject:@(sender.doubleValue) forKey:SCXcodeMinimapZoomLevelKey]; + [[NSNotificationCenter defaultCenter] postNotificationName:SCXcodeMinimapZoomLevelChangeNotification object:nil]; } +#pragma mark - Xcode Notification + - (void)onDidFinishSetup:(NSNotification*)sender { - if(![[sender object] respondsToSelector:@selector(containerView)]) { - NSLog(@"Could not fetch editor container view"); - return; - } - if(![[sender object] respondsToSelector:@selector(scrollView)]) { - NSLog(@"Could not fetch editor scroll view"); - return; - } - if(![[sender object] respondsToSelector:@selector(textView)]) { - NSLog(@"Could not fetch editor text view"); - return; - } - if(![[sender object] respondsToSelector:@selector(sourceCodeDocument)]) { - NSLog(@"Could not fetch editor document"); - return; - } - - /* Get Editor Components */ - NSDocument *editorDocument = [[sender object] performSelector:@selector(sourceCodeDocument)]; - NSView *editorContainerView = [[sender object] performSelector:@selector(containerView)]; - NSScrollView *editorScrollView = [[sender object] performSelector:@selector(scrollView)]; - NSTextView *editorTextView = [[sender object] performSelector:@selector(textView)]; - - [editorTextView setAutoresizingMask:NSViewMinXMargin | NSViewMaxXMargin | NSViewWidthSizable | NSViewHeightSizable]; - - /* Create Mini Map */ - CGFloat width = editorTextView.bounds.size.width * kDefaultZoomLevel; - - NSRect miniMapScrollViewFrame = NSMakeRect(editorContainerView.bounds.size.width - width, - 0, - width, - editorScrollView.bounds.size.height); - - SCMiniMapView *miniMapView = [[SCMiniMapView alloc] initWithFrame:miniMapScrollViewFrame]; - miniMapView.editorScrollView = editorScrollView; - miniMapView.editorTextView = editorTextView; - [editorContainerView addSubview:miniMapView]; - - /* Setup Associated Objects */ - objc_setAssociatedObject(editorScrollView, &kKeyMiniMapView, miniMapView, OBJC_ASSOCIATION_ASSIGN); - objc_setAssociatedObject(editorDocument, &kKeyMiniMapView, miniMapView, OBJC_ASSOCIATION_ASSIGN); - - if ([[NSUserDefaults standardUserDefaults] boolForKey:SCXodeMinimapIsInitiallyHidden]) { - [miniMapView hide]; - } - else { - [miniMapView show]; - } - - [miniMapView release]; -} - -@end \ No newline at end of file + if(![sender.object isKindOfClass:[IDESourceCodeEditor class]]) { + NSLog(@"Could not fetch source code editor container"); + return; + } + + IDESourceCodeEditor *editor = (IDESourceCodeEditor *)[sender object]; + [editor.textView setAutoresizingMask:NSViewMaxXMargin | NSViewMaxYMargin | NSViewWidthSizable | NSViewHeightSizable]; + [editor.scrollView setAutoresizingMask:NSViewMaxXMargin | NSViewMaxYMargin | NSViewWidthSizable | NSViewHeightSizable]; + [editor.containerView setAutoresizingMask:NSViewMaxXMargin | NSViewMaxYMargin | NSViewWidthSizable | NSViewHeightSizable]; + + SCXcodeMinimapView *minimapView = [[SCXcodeMinimapView alloc] initWithEditor:editor]; + [editor.containerView addSubview:minimapView]; +} + +@end diff --git a/SCXcodeMinimap/SCXcodeMinimapCommon.h b/SCXcodeMinimap/SCXcodeMinimapCommon.h new file mode 100644 index 0000000..b41c160 --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapCommon.h @@ -0,0 +1,11 @@ +// +// SCXcodeMinimapCommon.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 5/25/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import + +extern void sc_swizzleInstanceMethod(Class class, SEL originalSelector, SEL swizzledSelector); diff --git a/SCXcodeMinimap/SCXcodeMinimapCommon.m b/SCXcodeMinimap/SCXcodeMinimapCommon.m new file mode 100644 index 0000000..495764d --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapCommon.m @@ -0,0 +1,19 @@ +// +// SCXcodeMinimapCommon.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 5/25/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "SCXcodeMinimapCommon.h" + +void sc_swizzleInstanceMethod(Class class, SEL originalSelector, SEL swizzledSelector) { + Method originalMethod = class_getInstanceMethod(class, originalSelector); + Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector); + if (class_addMethod(class, originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod))) { + class_replaceMethod(class, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod)); + } else { + method_exchangeImplementations(originalMethod, swizzledMethod); + } +} diff --git a/SCXcodeMinimap/SCXcodeMinimapScrollView.h b/SCXcodeMinimap/SCXcodeMinimapScrollView.h new file mode 100644 index 0000000..dbdc094 --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapScrollView.h @@ -0,0 +1,16 @@ +// +// SCXcodeMinimapScrollView.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 28/02/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import + +@interface SCXcodeMinimapScrollView : NSScrollView + +- (instancetype)initWithFrame:(CGRect)frame + editorScrollView:(NSScrollView *)scrollView; + +@end diff --git a/SCXcodeMinimap/SCXcodeMinimapScrollView.m b/SCXcodeMinimap/SCXcodeMinimapScrollView.m new file mode 100644 index 0000000..d854b07 --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapScrollView.m @@ -0,0 +1,34 @@ +// +// SCXcodeMinimapScrollView.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 28/02/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "SCXcodeMinimapScrollView.h" + +@interface SCXcodeMinimapScrollView () + +@property (nonatomic, strong) NSScrollView *editorScrollView; + +@end + +@implementation SCXcodeMinimapScrollView + +- (instancetype)initWithFrame:(CGRect)frame + editorScrollView:(NSScrollView *)scrollView +{ + if(self = [super initWithFrame:frame]) { + _editorScrollView = scrollView; + } + + return self; +} + +- (void)scrollWheel:(NSEvent *)theEvent +{ + [self.editorScrollView scrollWheel:theEvent]; +} + +@end diff --git a/SCXcodeMinimap/SCXcodeMinimapSelectionView.h b/SCXcodeMinimap/SCXcodeMinimapSelectionView.h new file mode 100644 index 0000000..bda14ef --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapSelectionView.h @@ -0,0 +1,15 @@ +// +// SCXcodeMinimapSelectionView.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 24/01/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import + +@interface SCXcodeMinimapSelectionView : NSView + +@property (nonatomic, strong) NSColor *selectionColor; + +@end diff --git a/SCXcodeMinimap/SCXcodeMinimapSelectionView.m b/SCXcodeMinimap/SCXcodeMinimapSelectionView.m new file mode 100644 index 0000000..41d4f70 --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapSelectionView.m @@ -0,0 +1,29 @@ +// +// SCXcodeMinimapSelectionView.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 24/01/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "SCXcodeMinimapSelectionView.h" +#import "DVTFontAndColorTheme.h" + +@implementation SCXcodeMinimapSelectionView +@synthesize selectionColor = _selectionColor; + +- (void)drawRect:(NSRect)dirtyRect +{ + [[self selectionColor] setFill]; + NSRectFill(dirtyRect); +} + +- (void)setSelectionColor:(NSColor *)selectionColor +{ + if([_selectionColor isEqual:selectionColor]) return; + + _selectionColor = selectionColor; + [self setNeedsDisplay:YES]; +} + +@end diff --git a/SCXcodeMinimap/SCXcodeMinimapTheme.h b/SCXcodeMinimap/SCXcodeMinimapTheme.h new file mode 100644 index 0000000..556360f --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapTheme.h @@ -0,0 +1,35 @@ +// +// SCXcodeMinimapTheme.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 5/24/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "DVTFontAndColorTheme.h" + +@interface SCXcodeMinimapTheme : NSObject + ++ (SCXcodeMinimapTheme *)minimapThemeWithTheme:(DVTFontAndColorTheme *)theme; + +@property (nonatomic, strong) NSColor *backgroundColor; +@property (nonatomic, strong) NSColor *selectionColor; + +@property (nonatomic, strong) NSColor *sourcePlainTextColor; +@property (nonatomic, strong) NSColor *sourceTextBackgroundColor; +@property (nonatomic, strong) NSColor *commentBackgroundColor; +@property (nonatomic, strong) NSColor *preprocessorBackgroundColor; +@property (nonatomic, strong) NSColor *enabledBreakpointColor; +@property (nonatomic, strong) NSColor *disabledBreakpointColor; + +@property (nonatomic, strong) NSColor *buildIssueWarningBackgroundColor; +@property (nonatomic, strong) NSColor *buildIssueErrorBackgroundColor; + +@property (nonatomic, strong) NSColor *highlightedSymbolBackgroundColor; + +@property (nonatomic, strong) NSColor *searchResultForegroundColor; +@property (nonatomic, strong) NSColor *searchResultBackgroundColor; + +@property (nonatomic, strong) DVTFontAndColorTheme *dvtTheme; + +@end diff --git a/SCXcodeMinimap/SCXcodeMinimapTheme.m b/SCXcodeMinimap/SCXcodeMinimapTheme.m new file mode 100644 index 0000000..d656a8e --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapTheme.m @@ -0,0 +1,63 @@ +// +// SCXcodeMinimapTheme.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 5/24/15. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "SCXcodeMinimapTheme.h" +#import "DVTSourceNodeTypes.h" +#import "DVTPointerArray.h" + +const CGFloat kBackgroundColorShadowLevel = 0.1f; + +static NSString * const kXcodeSyntaxCommentNodeName = @"xcode.syntax.comment"; +static NSString * const kXcodeSyntaxPreprocessorNodeName = @"xcode.syntax.preprocessor"; + +@implementation SCXcodeMinimapTheme + ++ (SCXcodeMinimapTheme *)minimapThemeWithTheme:(DVTFontAndColorTheme *)theme +{ + SCXcodeMinimapTheme *minimapTheme = [[SCXcodeMinimapTheme alloc] init]; + + minimapTheme.dvtTheme = theme; + + minimapTheme.backgroundColor = [theme.sourceTextBackgroundColor shadowWithLevel:kBackgroundColorShadowLevel]; + + minimapTheme.selectionColor = [NSColor colorWithCalibratedRed:(1.0f - [minimapTheme.backgroundColor redComponent]) + green:(1.0f - [minimapTheme.backgroundColor greenComponent]) + blue:(1.0f - [minimapTheme.backgroundColor blueComponent]) + alpha:0.2f]; + + minimapTheme.sourcePlainTextColor = theme.sourcePlainTextColor; + minimapTheme.sourceTextBackgroundColor = theme.sourceTextBackgroundColor; + + DVTPointerArray *colors = [theme syntaxColorsByNodeType]; + minimapTheme.commentBackgroundColor = [colors pointerAtIndex:[DVTSourceNodeTypes registerNodeTypeNamed:kXcodeSyntaxCommentNodeName]]; + minimapTheme.commentBackgroundColor = [NSColor colorWithCalibratedRed:minimapTheme.commentBackgroundColor.redComponent + green:minimapTheme.commentBackgroundColor.greenComponent + blue:minimapTheme.commentBackgroundColor.blueComponent + alpha:0.3f]; + + + minimapTheme.preprocessorBackgroundColor = [colors pointerAtIndex:[DVTSourceNodeTypes registerNodeTypeNamed:kXcodeSyntaxPreprocessorNodeName]]; + minimapTheme.preprocessorBackgroundColor = [NSColor colorWithCalibratedRed:minimapTheme.preprocessorBackgroundColor.redComponent + green:minimapTheme.preprocessorBackgroundColor.greenComponent + blue:minimapTheme.preprocessorBackgroundColor.blueComponent + alpha:0.3f]; + + minimapTheme.enabledBreakpointColor = [NSColor colorWithRed:65.0f/255.0f green:113.0f/255.0f blue:200.0f/255.0f alpha:1.0f]; + minimapTheme.disabledBreakpointColor = [NSColor colorWithRed:65.0f/255.0f green:113.0f/255.0f blue:200.0f/255.0f alpha:0.5f]; + + minimapTheme.buildIssueWarningBackgroundColor = [NSColor colorWithRed:1.0f green:1.0f blue:0.0f alpha:0.75f]; + minimapTheme.buildIssueErrorBackgroundColor = [NSColor colorWithRed:1.0f green:0.0f blue:0.0f alpha:0.75f]; + minimapTheme.highlightedSymbolBackgroundColor = [NSColor colorWithRed:255.0f/255.0f green:29.0f/255.0f blue:21.0f/255.0f alpha:0.75f]; + + minimapTheme.searchResultForegroundColor = [minimapTheme.sourcePlainTextColor colorWithAlphaComponent:0.25f]; + minimapTheme.searchResultBackgroundColor = [NSColor colorWithRed:255.0f/255.0f green:29.0f/255.0f blue:21.0f/255.0f alpha:0.75f]; + + return minimapTheme; +} + +@end diff --git a/SCXcodeMinimap/SCXcodeMinimapView.h b/SCXcodeMinimap/SCXcodeMinimapView.h new file mode 100644 index 0000000..d90941d --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapView.h @@ -0,0 +1,17 @@ +// +// SCXcodeMinimapView.h +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 24/01/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import + +@class IDESourceCodeEditor; + +@interface SCXcodeMinimapView : NSView + +- (instancetype)initWithEditor:(IDESourceCodeEditor *)editor; + +@end diff --git a/SCXcodeMinimap/SCXcodeMinimapView.m b/SCXcodeMinimap/SCXcodeMinimapView.m new file mode 100644 index 0000000..224035d --- /dev/null +++ b/SCXcodeMinimap/SCXcodeMinimapView.m @@ -0,0 +1,873 @@ +// +// SCMinimapView.m +// SCXcodeMinimap +// +// Created by Stefan Ceriu on 24/01/2015. +// Copyright (c) 2015 Stefan Ceriu. All rights reserved. +// + +#import "SCXcodeMinimapView.h" +#import "SCXcodeMinimap.h" +#import "SCXcodeMinimapScrollView.h" +#import "SCXcodeMinimapSelectionView.h" + +#import "IDESourceCodeEditor+SCXcodeMinimap.h" +#import "IDESourceCodeComparisonEditor.h" +#import "IDESourceCodeDocument.h" +#import "DVTFilePath.h" + +#import "DVTTextStorage.h" +#import "DVTLayoutManager+SCXcodeMinimap.h" + +#import "DVTPointerArray.h" +#import "DVTSourceTextView.h" +#import "DVTSourceNodeTypes.h" + +#import "DVTFindResult.h" +#import "DVTTextDocumentLocation.h" + +#import "SCXcodeMinimapTheme.h" +#import "DVTPreferenceSetManager.h" + +//#import "DVTFoldingManager.h" + +#import "DVTAnnotationManager.h" +#import "DBGBreakpointAnnotationProvider+SCXcodeMinimap.h" +#import "DBGBreakpointAnnotation+SCXcodeMinimap.h" +#import "DBGBreakpointAnnotation.h" + +#import "IDEIssueAnnotationProvider+SCXcodeMinimap.h" +#import "IDEBuildIssueErrorAnnotation.h" +#import "IDEBuildIssueWarningAnnotation.h" + +#import "NSScroller+SCXcodeMinimap.h" + +#import "IDEWorkspaceWindowController.h" +#import "IDEWorkspaceTabController.h" +#import "IDEEditorArea+SCXcodeMinimap.h" +#import "IDEEditorModeViewController.h" +#import "IDEEditorContext.h" + +typedef NS_ENUM(NSUInteger, SCXcodeMinimapAnnotationType) { + SCXcodeMinimapAnnotationTypeUndefined, + SCXcodeMinimapAnnotationTypeTypeWarning, + SCXcodeMinimapAnnotationTypeTypeError, + SCXcodeMinimapAnnotationTypeBreakpoint, + SCXcodeMinimapAnnotationTypeHighlightToken, + SCXcodeMinimapAnnotationTypeSearchResult +}; + +const CGFloat kDurationBetweenInvalidations = 0.5f; + +static NSString * const kXcodeSyntaxCommentNodeName = @"xcode.syntax.comment"; +static NSString * const kXcodeSyntaxCommentDocNodeName = @"xcode.syntax.comment.doc"; +static NSString * const kXcodeSyntaxCommentDocKeywordNodeName = @"xcode.syntax.comment.doc.keyword"; +static NSString * const kXcodeSyntaxPreprocessorNodeName = @"xcode.syntax.preprocessor"; + +static NSString * const IDEEditorDocumentDidChangeNotification = @"IDEEditorDocumentDidChangeNotification"; +static NSString * const IDESourceCodeEditorTextViewBoundsDidChangeNotification = @"IDESourceCodeEditorTextViewBoundsDidChangeNotification"; +static NSString * const DVTFontAndColorSourceTextSettingsChangedNotification = @"DVTFontAndColorSourceTextSettingsChangedNotification"; + +static NSString * const kAnnotationRangeKey = @"kAnnotationRangeKey"; +static NSString * const kAnnotationEnabledKey = @"kAnnotationEnabledKey"; +static NSString * const kAnnotationTypeKey = @"kAnnotationTypeKey"; + + +@interface SCXcodeMinimapView () < NSLayoutManagerDelegate, + //DVTFoldingManagerDelegate, + DBGBreakpointAnnotationProviderDelegate, + IDEIssueAnnotationProviderDelegate, + DVTLayoutManagerMinimapDelegate, + IDESourceCodeEditorSearchResultsDelegate, + IDEEditorAreaMinimapDelegate > + +@property (nonatomic, weak) IDESourceCodeEditor *editor; + +@property (nonatomic, weak) IDEEditorArea *editorArea; + +@property (nonatomic, strong) DVTSourceTextView *editorTextView; + +@property (nonatomic, strong) SCXcodeMinimapScrollView *scrollView; +@property (nonatomic, strong) DVTSourceTextView *textView; +@property (nonatomic, strong) SCXcodeMinimapSelectionView *selectionView; +@property (nonatomic, strong) IDESourceCodeDocument *document; + +@property (nonatomic, strong) SCXcodeMinimapTheme *minimapTheme; +@property (nonatomic, strong) SCXcodeMinimapTheme *editorTheme; + +@property (nonatomic, assign) BOOL shouldAllowFullSyntaxHighlight; + +@property (nonatomic, weak) DBGBreakpointAnnotationProvider *breakpointAnnotationProvider; +@property (nonatomic, weak) IDEIssueAnnotationProvider *issueAnnotationProvider; + +@property (nonatomic, assign) BOOL shouldUpdateBreakpointsAndIssues; + +@property (nonatomic, strong) NSMutableArray *breakpoints; +@property (nonatomic, strong) NSMutableArray *buildIssues; +@property (nonatomic, strong) NSMutableArray *highlightedSymbols; +@property (nonatomic, strong) NSMutableArray *searchResults; + +@property (nonatomic, strong) NSMutableArray *notificationObservers; + +@end + +@implementation SCXcodeMinimapView + +- (void)dealloc +{ + for(id observer in self.notificationObservers) { + [[NSNotificationCenter defaultCenter] removeObserver:observer]; + } + + [self.textView.textStorage removeLayoutManager:self.textView.layoutManager]; + [self.breakpointAnnotationProvider setMinimapDelegate:nil]; + [self.issueAnnotationProvider setMinimapDelegate:nil]; +} + +- (instancetype)initWithEditor:(IDESourceCodeEditor *)editor +{ + if (self = [super init]) { + + self.editor = editor; + [self.editor setSearchResultsDelegate:self]; + + self.editorTextView = editor.textView; + + [self setWantsLayer:YES]; + [self setAutoresizingMask:NSViewMinXMargin | NSViewMinYMargin | NSViewWidthSizable | NSViewHeightSizable]; + + self.scrollView = [[SCXcodeMinimapScrollView alloc] initWithFrame:self.bounds editorScrollView:self.editor.scrollView]; + [self.scrollView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; + [self.scrollView setDrawsBackground:NO]; + [self.scrollView setMinMagnification:0.0f]; + [self.scrollView setMaxMagnification:1.0f]; + [self.scrollView setAllowsMagnification:NO]; + + [self.scrollView setHasHorizontalScroller:NO]; + [self.scrollView setHasVerticalScroller:NO]; + [self.scrollView setHorizontalScrollElasticity:NSScrollElasticityNone]; + [self.scrollView setVerticalScrollElasticity:NSScrollElasticityNone]; + [self addSubview:self.scrollView]; + + self.textView = [[DVTSourceTextView alloc] initWithFrame:CGRectZero]; + + NSTextStorage *storage = self.editorTextView.textStorage; + [self.textView setTextStorage:storage]; + + // The editor's layout manager needs to be the last one, otherwise live issues don't work + DVTLayoutManager *layoutManager = self.editorTextView.layoutManager; + [(NSMutableArray *)storage.layoutManagers removeObject:layoutManager]; + [(NSMutableArray *)storage.layoutManagers addObject:layoutManager]; + + //[self.editorTextView.layoutManager.foldingManager setDelegate:self]; + + [self.textView setEditable:NO]; + [self.textView setSelectable:NO]; + + [self.scrollView setDocumentView:self.textView]; + + self.selectionView = [[SCXcodeMinimapSelectionView alloc] init]; + [self.textView addSubview:self.selectionView]; + + [self updateTheme]; + + for(NSDictionary *providerDictionary in [self.editorTextView.annotationManager valueForKeyPath:@"_annotationProviders"]) { + + id annotationProvider = providerDictionary[@"annotationProviderObject"]; + if([annotationProvider isKindOfClass:[DBGBreakpointAnnotationProvider class]]) { + self.breakpointAnnotationProvider = annotationProvider; + [self.breakpointAnnotationProvider setMinimapDelegate:self]; + } else if([annotationProvider isKindOfClass:[IDEIssueAnnotationProvider class]]) { + self.issueAnnotationProvider = annotationProvider; + [self.issueAnnotationProvider setMinimapDelegate:self]; + } + } + + BOOL shouldHighlightBreakpoints = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightBreakpointsKey] boolValue]; + BOOL shouldHighlightIssues = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightIssuesKey] boolValue]; + if(shouldHighlightBreakpoints || shouldHighlightIssues) { + [self invalidateBreakpointsAndIssues]; + } + + BOOL shouldHighlightSelectedSymbol = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightIssuesKey] boolValue]; + if(shouldHighlightSelectedSymbol) { + [self invalidateHighligtedSymbols]; + } + + BOOL shouldHideVerticalScroller = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHideEditorScrollerKey] boolValue]; + [self.editor.scrollView.verticalScroller setForcedHidden:shouldHideVerticalScroller]; + + // Notifications + + self.notificationObservers = [NSMutableArray array]; + + __weak typeof(self) weakSelf = self; + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapShouldDisplayChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf toggleVisibility]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapZoomLevelChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf updateSize]; + [weakSelf delayedInvalidateMinimap]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapHighlightBreakpointsChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf invalidateBreakpointsAndIssues]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapHighlightIssuesChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf invalidateBreakpointsAndIssues]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapHighlightSelectedSymbolChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf invalidateHighligtedSymbols]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapHighlightSearchResultsChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf invalidateSearchResults]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapHighlightCommentsChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf delayedInvalidateMinimap]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapHighlightPreprocessorChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf delayedInvalidateMinimap]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapHighlightEditorChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + + BOOL editorHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightEditorKey] boolValue]; + if(editorHighlightingEnabled) { + [weakSelf.editorTextView.layoutManager setDelegate:weakSelf]; + } else { + [weakSelf.editorTextView.layoutManager setDelegate:(id)weakSelf.editorTextView]; + } + + [weakSelf delayedInvalidateMinimap]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapHideEditorScrollerChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + BOOL shouldHideVerticalScroller = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHideEditorScrollerKey] boolValue]; + [weakSelf.editor.scrollView.verticalScroller setForcedHidden:shouldHideVerticalScroller]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapAutohideChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [self toggleVisibility]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:SCXcodeMinimapThemeChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf updateTheme]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:DVTFontAndColorSourceTextSettingsChangedNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + [weakSelf updateTheme]; + }]]; + + [self.notificationObservers addObject:[[NSNotificationCenter defaultCenter] addObserverForName:IDESourceCodeEditorTextViewBoundsDidChangeNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + if([note.object isEqual:weakSelf.editor]) { + [weakSelf updateOffset]; + } + }]]; + } + + return self; +} + +- (void)viewDidMoveToWindow +{ + if(self.window == nil) { + return; + } + + self.editorArea = [self getEditorArea]; + [self.editorArea setMinimapDelegate:self]; + + [self toggleVisibility]; +} + +- (void)toggleVisibility +{ + BOOL visible = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldDisplayKey] boolValue]; + BOOL shouldAutohide = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldAutohideKey] boolValue]; + + if(shouldAutohide && visible) { + if(self.editorArea == nil || self.editorArea.editorMode) { + visible = NO; + } else { + NSRange visibleEditorRange = [self.editorTextView visibleCharacterRange]; + if(NSEqualRanges(visibleEditorRange, NSMakeRange(0, self.textView.string.length))) { + visible = NO; + } + } + } + + [self setVisible:visible]; +} + +#pragma mark - Show/Hide + +- (void)setVisible:(BOOL)visible +{ + self.hidden = !visible; + + [self updateSize]; + + [self.textView.layoutManager setDelegate:(self.hidden ? nil : self)]; + [self.textView.layoutManager setBackgroundLayoutEnabled:YES]; + [self.textView.layoutManager setAllowsNonContiguousLayout:YES]; + + DVTLayoutManager *editorLayoutManager = (DVTLayoutManager *)self.editorTextView.layoutManager; + [editorLayoutManager setMinimapDelegate:self]; + + BOOL editorHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightEditorKey] boolValue]; + if(editorHighlightingEnabled) { + [editorLayoutManager setDelegate:self]; + } +} + +#pragma mark - NSLayoutManagerDelegate + +- (NSDictionary *)layoutManager:(NSLayoutManager *)layoutManager + shouldUseTemporaryAttributes:(NSDictionary *)attrs + forDrawingToScreen:(BOOL)toScreen + atCharacterIndex:(NSUInteger)charIndex + effectiveRange:(NSRangePointer)effectiveRange +{ + if(!toScreen) { + return nil; + } + + if(self.hidden && [layoutManager isEqual:self.textView.layoutManager]) { + return nil; + } + + SCXcodeMinimapTheme *theme = ([layoutManager isEqualTo:self.textView.layoutManager] ? self.minimapTheme : self.editorTheme); + + // Delay invalidation for performance reasons and attempt a full range invalidation later + if(!self.shouldAllowFullSyntaxHighlight && [layoutManager isEqual:self.textView.layoutManager]) { + [self delayedInvalidateMinimap]; + return @{NSForegroundColorAttributeName : theme.sourcePlainTextColor}; + } + + if(self.searchResults.count) { + + NSRange closestRange = NSMakeRange(self.textView.string.length, 0); + for(NSDictionary *searchResultDictionary in self.searchResults.copy) { + NSRange range = [searchResultDictionary[kAnnotationRangeKey] rangeValue]; + + if(NSLocationInRange(charIndex, range)) { + *effectiveRange = range; + return @{NSForegroundColorAttributeName : theme.sourcePlainTextColor, + NSBackgroundColorAttributeName :theme.searchResultBackgroundColor}; + } + + if((closestRange.location - charIndex) > (range.location - charIndex)) { + closestRange = range; + } + } + + *effectiveRange = NSMakeRange(charIndex, closestRange.location - charIndex); + return @{NSForegroundColorAttributeName : theme.searchResultForegroundColor}; + } + + if(self.shouldAllowFullSyntaxHighlight) { + + for(NSDictionary *highlightSymbolDictionary in self.highlightedSymbols) { + NSRange range = [highlightSymbolDictionary[kAnnotationRangeKey] rangeValue]; + + if(NSLocationInRange(charIndex, range)) { + *effectiveRange = range; + return @{NSForegroundColorAttributeName : theme.sourceTextBackgroundColor, + NSBackgroundColorAttributeName : theme.highlightedSymbolBackgroundColor}; + } + } + + for(NSDictionary *breakpointDictionary in self.breakpoints) { + NSRange range = [breakpointDictionary[kAnnotationRangeKey] rangeValue]; + BOOL enabled = [breakpointDictionary[kAnnotationEnabledKey] boolValue]; + + if(NSLocationInRange(charIndex, range)) { + *effectiveRange = range; + return @{NSForegroundColorAttributeName : theme.sourceTextBackgroundColor, + NSBackgroundColorAttributeName : (enabled ? theme.enabledBreakpointColor : theme.disabledBreakpointColor)}; + } + } + + for(NSDictionary *issueDictionary in self.buildIssues) { + NSRange range = [issueDictionary[kAnnotationRangeKey] rangeValue]; + SCXcodeMinimapAnnotationType annotationType = [issueDictionary[kAnnotationTypeKey] unsignedIntegerValue]; + + NSColor *backgroundColor = [NSColor greenColor]; + if(annotationType == SCXcodeMinimapAnnotationTypeTypeError) { + backgroundColor = self.minimapTheme.buildIssueErrorBackgroundColor; + } else if(annotationType == SCXcodeMinimapAnnotationTypeTypeWarning) { + backgroundColor = self.minimapTheme.buildIssueWarningBackgroundColor; + } + + if(NSLocationInRange(charIndex, range)) { + *effectiveRange = range; + return @{NSForegroundColorAttributeName : theme.sourceTextBackgroundColor, + NSBackgroundColorAttributeName : backgroundColor}; + } + } + } + + short nodeType = [(DVTTextStorage *)[self.editorTextView textStorage] nodeTypeAtCharacterIndex:charIndex + effectiveRange:effectiveRange + context:[self.editor syntaxColoringContextForTextView:self.editorTextView]]; + + + + if(self.shouldAllowFullSyntaxHighlight) { + BOOL shouldHighlightComments = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightCommentsKey] boolValue]; + if(shouldHighlightComments) { + if(nodeType == [DVTSourceNodeTypes registerNodeTypeNamed:kXcodeSyntaxCommentNodeName] || + nodeType == [DVTSourceNodeTypes registerNodeTypeNamed:kXcodeSyntaxCommentDocNodeName] || + nodeType == [DVTSourceNodeTypes registerNodeTypeNamed:kXcodeSyntaxCommentDocKeywordNodeName]) + { + return @{NSForegroundColorAttributeName : theme.sourceTextBackgroundColor, NSBackgroundColorAttributeName : theme.commentBackgroundColor}; + } + } + + BOOL shouldHighlightPreprocessor = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightPreprocessorKey] boolValue]; + if(shouldHighlightPreprocessor) { + if(nodeType == [DVTSourceNodeTypes registerNodeTypeNamed:kXcodeSyntaxPreprocessorNodeName]) { + return @{NSForegroundColorAttributeName : theme.sourceTextBackgroundColor, NSBackgroundColorAttributeName : theme.preprocessorBackgroundColor}; + } + } + } + + DVTPointerArray *colors = [((DVTFontAndColorTheme *)theme.dvtTheme) syntaxColorsByNodeType]; + + NSColor *foregroundColor = nil; + if(nodeType < colors.count) { + foregroundColor = [colors pointerAtIndex:nodeType]; + } + + if(foregroundColor == nil) { + foregroundColor = theme.sourcePlainTextColor; + } + + return @{NSForegroundColorAttributeName : foregroundColor}; +} + +- (void)layoutManager:(DVTLayoutManager *)layoutManager didCompleteLayoutForTextContainer:(NSTextContainer *)textContainer atEnd:(BOOL)layoutFinishedFlag +{ + if(layoutFinishedFlag) { + self.shouldAllowFullSyntaxHighlight = NO; + } +} + +//#pragma mark - DVTFoldingManagerDelegate +// +//- (void)foldingManager:(DVTFoldingManager *)foldingManager didFoldRange:(NSRange)range +//{ +// [(DVTLayoutManager *)self.editorTextView.layoutManager foldingManager:foldingManager didFoldRange:range]; +// +// [self.textView.layoutManager.foldingManager foldRange:range]; +// +// [self updateOffset]; +//} +// +//- (void)foldingManager:(DVTFoldingManager *)foldingManager didUnfoldRange:(NSRange)range +//{ +// [(DVTLayoutManager *)self.editorTextView.layoutManager foldingManager:foldingManager didUnfoldRange:range]; +// +// [self.textView.layoutManager.foldingManager unfoldRange:range]; +// +// [self updateOffset]; +//} + +- (id)foldingTokenTypesForLayoutManager:(DVTLayoutManager *)layoutManager +{ + return [self.editorTextView foldingTokenTypesForLayoutManager:layoutManager]; +} + +#pragma mark - IDEEditorAreaMinimapDelegate + +- (void)editorAreaDidChangeEditorMode:(IDEEditorArea *)editorArea +{ + [self toggleVisibility]; +} + +#pragma mark - DBGBreakpointAnnotationProviderDelegate + +- (void)breakpointAnnotationProviderDidChangeBreakpoints:(DBGBreakpointAnnotationProvider *)annotationProvider +{ + [self invalidateBreakpointsAndIssues]; +} + +#pragma mark - IDEIssueAnnotationProviderDelegate + +- (void)issueAnnotationProviderDidChangeIssues:(IDEIssueAnnotationProvider *)annotationProvider +{ + [self invalidateBreakpointsAndIssues]; +} + +#pragma mark - DVTLayoutManagerMinimapDelegate + +- (void)layoutManagerDidRequestSelectedSymbolInstancesHighlight:(DVTLayoutManager *)layoutManager +{ + [self invalidateHighligtedSymbols]; +} + +#pragma mark - IDESourceCodeEditorSearchResultsDelegate + +- (void)sourceCodeEditorDidUpdateSearchResults:(IDESourceCodeEditor *)editor +{ + [self invalidateSearchResults]; +} + +#pragma mark - Annotations + +- (void)updateBreakpointsAndIssuesWithCompletion:(void(^)())completion +{ + self.breakpoints = [NSMutableArray array]; + self.buildIssues = [NSMutableArray array]; + + BOOL canHighlightBreakpoints = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightBreakpointsKey] boolValue]; + BOOL canHighlightIssues = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightIssuesKey] boolValue]; + + if(!canHighlightBreakpoints && !canHighlightIssues) { + if(completion) { + completion(); + } + return; + } + + __weak typeof(self) weakSelf = self; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ + for (NSUInteger index = 0, lineNumber = 0; index < self.textView.string.length; lineNumber++) { + + NSRange lineRange = [weakSelf.textView.string lineRangeForRange:NSMakeRange(index, 0)]; + + if(canHighlightBreakpoints) { + for(DBGBreakpointAnnotation *breakpointAnnotation in weakSelf.breakpointAnnotationProvider.annotations) { + if(breakpointAnnotation.paragraphRange.location == lineNumber) { + [weakSelf.breakpoints addObject:@{kAnnotationRangeKey : [NSValue valueWithRange:lineRange], + kAnnotationEnabledKey : @(breakpointAnnotation.enabled), + kAnnotationTypeKey : @(SCXcodeMinimapAnnotationTypeBreakpoint)}]; + } + } + } + + if(canHighlightIssues) { + for(IDEBuildIssueAnnotation *issueAnnotation in weakSelf.issueAnnotationProvider.annotations) { + if(issueAnnotation.paragraphRange.location == lineNumber) { + + SCXcodeMinimapAnnotationType annotationType = SCXcodeMinimapAnnotationTypeUndefined; + if([issueAnnotation isKindOfClass:[IDEBuildIssueErrorAnnotation class]]) { + annotationType = SCXcodeMinimapAnnotationTypeTypeError; + } else if([issueAnnotation isKindOfClass:[IDEBuildIssueWarningAnnotation class]]) { + annotationType = SCXcodeMinimapAnnotationTypeTypeWarning; + } + + [weakSelf.buildIssues addObject:@{kAnnotationRangeKey : [NSValue valueWithRange:lineRange], + kAnnotationTypeKey : @(annotationType)}]; + } + } + } + + index = NSMaxRange(lineRange); + } + + dispatch_async(dispatch_get_main_queue(), ^{ + if(completion) { + completion(); + } + }); + }); +} + +- (void)updateHighlightedSymbols +{ + BOOL canHighlightSelectedSymbol = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightSelectedSymbolKey] boolValue]; + + self.highlightedSymbols = [NSMutableArray array]; + + if(canHighlightSelectedSymbol) { + DVTLayoutManager *layoutManager = (DVTLayoutManager *)self.editorTextView.layoutManager; + if(![layoutManager respondsToSelector:@selector(autoHighlightTokenRanges)]) { + return; + } + + [layoutManager.autoHighlightTokenRanges enumerateObjectsUsingBlock:^(NSValue *rangeValue, NSUInteger idx, BOOL *stop) { + [self.highlightedSymbols addObject:@{kAnnotationRangeKey : rangeValue, + kAnnotationTypeKey : @(SCXcodeMinimapAnnotationTypeHighlightToken)}]; + }]; + } +} + +- (void)updateSearchResults +{ + BOOL canHighlightSearchResults = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightSearchResultsKey] boolValue]; + + self.searchResults = [NSMutableArray array]; + + if(canHighlightSearchResults) { + [self.editor.searchResults enumerateObjectsUsingBlock:^(DVTFindResult *result, NSUInteger idx, BOOL *stop) { + + DVTTextDocumentLocation *location = (DVTTextDocumentLocation *)[result location]; + [self.searchResults addObject:@{kAnnotationRangeKey : [NSValue valueWithRange:NSMakeRange(location.characterRange.location, location.characterRange.length)], + kAnnotationTypeKey : @(SCXcodeMinimapAnnotationTypeSearchResult)}]; + }]; + } +} + +#pragma mark - Navigation + +- (void)updateOffset +{ + if(!self.editorTextView.textStorage.editedMask) { + [self.editorTextView.layoutManager ensureLayoutForTextContainer:self.editorTextView.textContainer]; + } + + CGFloat editorTextHeight = CGRectGetHeight([self.editorTextView.layoutManager usedRectForTextContainer:self.editorTextView.textContainer]); + CGFloat adjustedEditorContentHeight = editorTextHeight - CGRectGetHeight(self.editor.scrollView.bounds); + CGFloat adjustedMinimapContentHeight = editorTextHeight - (CGRectGetHeight(self.scrollView.bounds) * (1 / self.scrollView.magnification)); + + NSRect selectionViewFrame = NSMakeRect(0, 0, self.textView.bounds.size.width * (1 / self.scrollView.magnification), self.editor.scrollView.visibleRect.size.height); + + if(adjustedEditorContentHeight == 0.0f) { + [self.selectionView setFrame:selectionViewFrame]; + return; + } + + if(self.editorTextView.textStorage.editedMask) { + return; + } + + CGFloat editorYOffset = CGRectGetMinY(self.editor.scrollView.contentView.bounds) + ABS(CGRectGetMinY(self.editorTextView.frame)); + + CGFloat ratio = (adjustedMinimapContentHeight / adjustedEditorContentHeight) * (1 / self.scrollView.magnification); + [self.scrollView.documentView scrollPoint:NSMakePoint(self.editor.scrollView.contentView.bounds.origin.x, + MAX(0, floorf(editorYOffset * ratio * self.scrollView.magnification)))]; + + ratio = (editorTextHeight - self.selectionView.bounds.size.height) / adjustedEditorContentHeight; + selectionViewFrame.origin.y = editorYOffset * ratio; + + [self.selectionView setFrame:selectionViewFrame]; +} + +- (void)mouseUp:(NSEvent *)theEvent +{ + [super mouseUp:theEvent]; + [self handleMouseEvent:theEvent]; +} + +- (void)mouseDown:(NSEvent *)theEvent +{ + [super mouseDown:theEvent]; + [self handleMouseEvent:theEvent]; +} + +- (void)mouseDragged:(NSEvent *)theEvent +{ + [super mouseDragged:theEvent]; + [self handleMouseEvent:theEvent]; +} + +- (void)handleMouseEvent:(NSEvent *)theEvent +{ + NSPoint point = [self.textView convertPoint:theEvent.locationInWindow fromView:nil]; + NSUInteger characterIndex = [self.textView characterIndexForInsertionAtPoint:point]; + NSRange lineRange = [self.textView.string lineRangeForRange:NSMakeRange(characterIndex, 0)]; + NSRange activeRange = [self.textView.layoutManager glyphRangeForCharacterRange:lineRange actualCharacterRange:NULL]; + + NSRect neededRect = [self.editorTextView.layoutManager boundingRectForGlyphRange:activeRange inTextContainer:self.editorTextView.textContainer]; + neededRect.origin.y = MAX(0, neededRect.origin.y - CGRectGetHeight(self.editor.containerView.bounds) / 2); + neededRect.origin.y += CGRectGetMinY(self.editorTextView.frame); + + BOOL shouldAnimateContentOffset = (theEvent.type != NSLeftMouseDragged); + + if(shouldAnimateContentOffset) { + [NSAnimationContext beginGrouping]; + [[NSAnimationContext currentContext] setDuration:0.25f]; + [self.editor.scrollView.contentView.animator setBoundsOrigin:CGPointMake(0, neededRect.origin.y)]; + [self.editor.scrollView reflectScrolledClipView:self.editor.scrollView.contentView]; + [NSAnimationContext endGrouping]; + } else { + [self.editor.scrollView.contentView setBoundsOrigin:CGPointMake(0, neededRect.origin.y)]; + } +} + +#pragma mark - Theme + +- (void)updateTheme +{ + self.editorTheme = [SCXcodeMinimapTheme minimapThemeWithTheme:[DVTFontAndColorTheme currentTheme]]; + + DVTPreferenceSetManager *preferenceSetManager = [DVTFontAndColorTheme preferenceSetsManager]; + NSArray *preferenceSet = [preferenceSetManager availablePreferenceSets]; + + NSString *themeName = [[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapThemeKey]; + NSUInteger themeIndex = [preferenceSet indexesOfObjectsPassingTest:^BOOL(DVTFontAndColorTheme *theme, NSUInteger idx, BOOL *stop) { + return [theme.localizedName isEqualTo:themeName]; + }].lastIndex; + + if(themeIndex == NSNotFound) { + self.minimapTheme = self.editorTheme; + } else { + self.minimapTheme = [SCXcodeMinimapTheme minimapThemeWithTheme:preferenceSet[themeIndex]]; + } + + [self.scrollView setBackgroundColor:self.minimapTheme.backgroundColor]; + [self.textView setBackgroundColor:self.minimapTheme.backgroundColor]; + + [self.selectionView setSelectionColor:self.minimapTheme.selectionColor]; +} + +#pragma mark - Sizing + +- (void)updateSize +{ + CGFloat zoomLevel = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapZoomLevelKey] doubleValue]; + CGFloat minimapWidth = (self.hidden ? 0.0f : self.editor.containerView.bounds.size.width * zoomLevel); + + if(CGRectGetWidth(self.bounds) == minimapWidth) { + return; + } + + NSRect editorScrollViewFrame = self.editor.scrollView.frame; + editorScrollViewFrame.size.width = self.editor.scrollView.superview.frame.size.width - minimapWidth; + self.editor.scrollView.frame = editorScrollViewFrame; + + [self setFrame:NSMakeRect(CGRectGetMaxX(editorScrollViewFrame), 0, minimapWidth, CGRectGetHeight(self.editor.containerView.bounds))]; + + CGRect frame = self.textView.bounds; + frame.size.width = CGRectGetWidth(self.editorTextView.bounds); + [self.textView setFrame:frame]; + + CGFloat actualZoomLevel = CGRectGetWidth(self.bounds) / CGRectGetWidth(self.editor.textView.bounds); + [self.scrollView setMagnification:actualZoomLevel]; + + [self updateOffset]; +} + +- (void)resizeWithOldSuperviewSize:(NSSize)oldSize +{ + [super resizeWithOldSuperviewSize:oldSize]; + + if(self.editorTextView.textStorage.editedMask) { + return; + } + + self.shouldAllowFullSyntaxHighlight = NO; + + CGRect frame = self.textView.bounds; + frame.size.width = CGRectGetWidth(self.editorTextView.bounds); + [self.textView setFrame:frame]; + + [self updateOffset]; +} + +#pragma mark - Helpers + +- (void)invalidateBreakpointsAndIssues +{ + self.shouldUpdateBreakpointsAndIssues = YES; + [self delayedInvalidateMinimap]; +} + +- (void)invalidateHighligtedSymbols +{ + [self updateHighlightedSymbols]; + [self delayedInvalidateMinimap]; +} + +- (void)invalidateSearchResults +{ + [self updateSearchResults]; + [self delayedInvalidateMinimap]; +} + +- (void)layoutManagerDidReceiveTextStorageUpdate:(DVTLayoutManager *)layoutManager +{ + [self delayedInvalidateMinimap]; +} + +- (void)delayedInvalidateMinimap +{ + [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(invalidateMinimap) object:nil]; + [self performSelector:@selector(invalidateMinimap) withObject:nil afterDelay:kDurationBetweenInvalidations]; +} + +- (void)invalidateMinimap +{ + void (^performRangeInvalidation)() = ^{ + + self.shouldAllowFullSyntaxHighlight = YES; + + [self.textView.layoutManager invalidateDisplayForCharacterRange:[self.textView visibleCharacterRange]]; + + BOOL editorHighlightingEnabled = [[[NSUserDefaults standardUserDefaults] objectForKey:SCXcodeMinimapShouldHighlightEditorKey] boolValue]; + if(editorHighlightingEnabled) { + [self.editorTextView.layoutManager invalidateDisplayForCharacterRange:[self.editorTextView visibleCharacterRange]]; + } + }; + + if(self.shouldUpdateBreakpointsAndIssues) { + self.shouldUpdateBreakpointsAndIssues = NO; + [self updateBreakpointsAndIssuesWithCompletion:^{ + performRangeInvalidation(); + }]; + } else { + performRangeInvalidation(); + } +} + +- (IDEEditorArea *)getEditorArea +{ + IDEWorkspaceWindowController *windowController = [IDEWorkspaceWindowController workspaceWindowControllerForWindow:self.window]; + if(!windowController) { + return nil; + } + IDEWorkspaceTabController *tabController = nil; + + for(IDEWorkspaceTabController *someTabController in windowController.workspaceTabControllers) { + + NSView *superview = self.superview; + while (superview) { + if([superview isEqual:someTabController.view]) { + tabController = someTabController; + break; + } + + superview = superview.superview; + } + + if(tabController) { + break; + } + } + + if(!tabController) { + return nil; + } + + if([tabController.editorArea.primaryEditorContext.editor isKindOfClass:[IDESourceCodeEditor class]]) { + + IDEEditorDocument *document = self.editor.sourceCodeDocument; + IDEEditorDocument *primaryDocument = tabController.editorArea.primaryEditorDocument; + IDEEditorDocument *alternateDocument = tabController.editorArea.editorModeViewController.selectedAlternateEditorContext.editor.document; + + if([document isEqualTo:primaryDocument] || [document isEqualTo:alternateDocument] || + [document.filePath.fileName isEqualToString:primaryDocument.filePath.fileName] || + [document.filePath.fileName isEqualToString:alternateDocument.filePath.fileName]) { + return tabController.editorArea; + } + + } else if([tabController.editorArea.primaryEditorContext.editor isKindOfClass:[IDESourceCodeComparisonEditor class]]) { + + IDESourceCodeComparisonEditor *editor = (IDESourceCodeComparisonEditor *)tabController.editorArea.primaryEditorContext.editor; + + if([editor.primaryDocument isEqualTo:self.editor.sourceCodeDocument] || [editor.secondaryDocument isEqualTo:self.editor.sourceCodeDocument]) { + return tabController.editorArea; + } + } + + return nil; +} + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DBGBreakpointAnnotation.h b/SCXcodeMinimap/Xcode Headers/DBGBreakpointAnnotation.h new file mode 100644 index 0000000..f4cdd25 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DBGBreakpointAnnotation.h @@ -0,0 +1,37 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTTextAnnotation.h" + +@class DVTObservingToken, IDEBreakpointIcon, IDEWorkspaceWindowController; + +@interface DBGBreakpointAnnotation : DVTTextAnnotation +{ + IDEWorkspaceWindowController *_workspaceWindowController; + IDEBreakpointIcon *_icon; + struct CGRect _lastRectDrawnIn; + DVTObservingToken *_workspaceWindowControllerObserver; + DVTObservingToken *_breakpointShouldBeEnabledObserver; + DVTObservingToken *_breakpointLocationOrAddressObserver; +} + +@property struct CGRect lastRectDrawnIn; // @synthesize lastRectDrawnIn=_lastRectDrawnIn; +- (void)_updateLandmarkItemIfAppropriate; +- (void)adjustParagraphIndexBy:(long long)arg1 lengthBy:(long long)arg2; +- (void)resolveLocationIfNeededForLayoutManager:(id)arg1; +- (id)annotationDisplayDescription; +- (id)annotationDisplayName; +- (void)_redisplay; +- (id)_iconForRect:(struct CGRect)arg1; +- (void)drawSidebarMarkerIconInRect:(struct CGRect)arg1 textView:(id)arg2; +- (struct CGRect)sidebarMarkerRectForFirstLineRect:(struct CGRect)arg1; +- (void)setLocation:(id)arg1; +- (void)annotationWillUninstall; +- (id)_initWithWorkspaceWindowController:(id)arg1 breakpoint:(id)arg2; +- (id)initWithWorkspaceWindowController:(id)arg1 addressBreakpoint:(id)arg2 inMemoryDocumentURL:(id)arg3; +- (id)initWithWorkspaceWindowController:(id)arg1 fileBreakpoint:(id)arg2; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DBGBreakpointAnnotationProvider.h b/SCXcodeMinimap/Xcode Headers/DBGBreakpointAnnotationProvider.h new file mode 100644 index 0000000..f085ad7 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DBGBreakpointAnnotationProvider.h @@ -0,0 +1,46 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTAnnotationProvider.h" + +@class DVTObservingToken, IDEAnnotationContext, IDEWorkspaceWindowController; + +@interface DBGBreakpointAnnotationProvider : DVTAnnotationProvider +{ + IDEAnnotationContext *_context; + IDEWorkspaceWindowController *_workspaceWindowController; + DVTObservingToken *_breakpointsObservingToken; +} + ++ (id)annotationProviderForContext:(id)arg1 error:(id *)arg2; +@property(readonly) IDEAnnotationContext *context; // @synthesize context=_context; +- (void)_revealInBreakpointNavigator:(id)arg1; +- (void)_deleteBreakpoint:(id)arg1; +- (void)_editBreakpoint:(id)arg1; +- (void)_editBreakpointForAnnotation:(id)arg1 inTextSideBarView:(id)arg2; +- (id)_createRevealInBreakpointNavigatorMenuItem:(id)arg1; +- (id)_createDeleteBreakpointMenuItem:(id)arg1; +- (id)_createToggleBreakpointMenuItem:(id)arg1; +- (id)_createEditBreakpointMenuItem:(id)arg1 inTextSidebarView:(id)arg2; +- (id)contextMenuItemsForAnnotation:(id)arg1 inTextSidebarView:(id)arg2; +- (void)didClickAnnotation:(id)arg1 inTextSidebarView:(id)arg2 event:(id)arg3; +- (void)didDeleteOrReplaceParagraphForAnnotation:(id)arg1; +- (void)didMoveAnnotation:(id)arg1; +- (unsigned long long)annotation:(id)arg1 willMoveToParagraphNumber:(unsigned long long)arg2; +- (void)didRemoveAnnotation:(id)arg1; +- (void)providerWillUninstall; +- (id)_documentURL; +- (void)_removeAnnotation:(id)arg1; +- (void)_handleAnnotationWasRemoved:(id)arg1; +- (void)_handleBreakpointRemoved:(id)arg1; +- (void)_addAnnotationForAddressBreakpoint:(id)arg1; +- (void)_addAnnotationForFileBreakpoint:(id)arg1; +- (void)_handleBreakpointAdded:(id)arg1; +- (void)_handleBreakpointsChanged:(id)arg1; +- (id)initWithContext:(id)arg1; +- (id)init; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTAnnotation.h b/SCXcodeMinimap/Xcode Headers/DVTAnnotation.h new file mode 100644 index 0000000..33e4876 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTAnnotation.h @@ -0,0 +1,24 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + + +@interface DVTAnnotation : NSObject +{ + double _precedence; + id _representedObject; + BOOL _visible; +} + +@property(retain) id representedObject; // @synthesize representedObject=_representedObject; +@property(getter=isVisible) BOOL visible; // @synthesize visible=_visible; +@property double precedence; // @synthesize precedence=_precedence; +@property(readonly) BOOL hideCarets; +- (id)annotationDisplayDescription; +- (id)annotationDisplayName; +- (long long)comparePrecedence:(id)arg1; +- (id)init; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTAnnotationManager.h b/SCXcodeMinimap/Xcode Headers/DVTAnnotationManager.h new file mode 100644 index 0000000..bde5c06 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTAnnotationManager.h @@ -0,0 +1,32 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +@class DVTStackBacktrace, NSMutableArray, NSString; + +@interface DVTAnnotationManager : NSObject +{ + NSMutableArray *_annotationProviders; +} + ++ (unsigned long long)assertionBehaviorForKeyValueObservationsAtEndOfEvent; ++ (unsigned long long)assertionBehaviorAfterEndOfEventForSelector:(SEL)arg1; ++ (void)initialize; +- (void)removeAllAnnotationProviders; +- (void)setupAnnotationProvidersWithContext:(id)arg1; +- (id)_installObservationBlockForAnnotationProvider:(id)arg1; +- (void)primitiveInvalidate; + +// Remaining properties +@property(retain) DVTStackBacktrace *creationBacktrace; +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; +@property(readonly) Class superclass; +@property(readonly, nonatomic, getter=isValid) BOOL valid; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTAnnotationProvider.h b/SCXcodeMinimap/Xcode Headers/DVTAnnotationProvider.h new file mode 100644 index 0000000..f3a8beb --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTAnnotationProvider.h @@ -0,0 +1,24 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + + +@class NSMutableSet, NSSet; + +@interface DVTAnnotationProvider : NSObject +{ + NSMutableSet *_annotations; +} + ++ (id)annotationProviderForContext:(id)arg1 error:(id *)arg2; ++ (void)initialize; +- (void)providerWillUninstall; +- (id)init; + +// Remaining properties +@property(copy) NSSet *annotations; // @dynamic annotations; +@property(readonly) NSMutableSet *mutableAnnotations; // @dynamic mutableAnnotations; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTCompletingTextView.h b/SCXcodeMinimap/Xcode Headers/DVTCompletingTextView.h new file mode 100644 index 0000000..012fca6 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTCompletingTextView.h @@ -0,0 +1,132 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "DVTTextView.h" +#import "DVTTextStorage.h" +#import "DVTLayoutManager.h" + +@class DVTLayoutManager, DVTSourceCodeLanguage, DVTTextCompletionController, DVTTextCompletionDataSource, DVTTextStorage, NSCharacterSet, NSColor, NSString; + +@interface DVTCompletingTextView : DVTTextView +{ + DVTTextCompletionController *_completionController; + DVTTextCompletionDataSource *_completionsDataSource; + NSColor *_secondarySelectedTextBackgroundColor; + double _accessoryAnnotationWidth; + unsigned long long _modifierFlagsAtLastSingleMouseDown; + BOOL _tabSelectsNextPlaceholder; +} + ++ (id)readableTextPasteboardTypes; ++ (long long)scrollerKnobStyleForBackgroundColor:(id)arg1; ++ (id)_operatorChars; ++ (id)identifierChars; ++ (id)_identifierCharsForImportStatements; ++ (BOOL)appSupportsActionMonitoring; +@property(copy, nonatomic) NSColor *secondarySelectedTextBackgroundColor; // @synthesize secondarySelectedTextBackgroundColor=_secondarySelectedTextBackgroundColor; +@property BOOL tabSelectsNextPlaceholder; // @synthesize tabSelectsNextPlaceholder=_tabSelectsNextPlaceholder; +@property(readonly) DVTTextCompletionController *completionController; // @synthesize completionController=_completionController; +@property unsigned long long modifierFlagsAtLastSingleMouseDown; // @synthesize modifierFlagsAtLastSingleMouseDown=_modifierFlagsAtLastSingleMouseDown; +@property double accessoryAnnotationWidth; // @synthesize accessoryAnnotationWidth=_accessoryAnnotationWidth; +- (void)setMarkedText:(id)arg1 selectedRange:(struct _NSRange)arg2; +- (void)becomeMainWindow; +- (void)resignKeyWindow; +- (void)becomeKeyWindow; +- (BOOL)becomeFirstResponder; +- (BOOL)resignFirstResponder; +- (void)_invalidateDisplayForViewStatusChange; +- (void)setBackgroundColor:(id)arg1; +- (void)updateScrollerKnobStyle; +- (BOOL)readSelectionFromPasteboard:(id)arg1 type:(id)arg2; +- (id)attributedStringForCompletionPlaceholderCell:(id)arg1 atCharacterIndex:(unsigned long long)arg2 withDefaultAttributes:(id)arg3; +- (void)doubleClickedOnCell:(id)arg1 inRect:(struct CGRect)arg2 atIndexInToken:(unsigned long long)arg3; +- (void)clickedOnCell:(id)arg1 inRect:(struct CGRect)arg2 atIndexInToken:(unsigned long long)arg3; +- (BOOL)isThereOnlyATokenAttachmentAtUserTextChange; +- (void)replaceSelectedTokenWithTokenText; +- (void)useSelectionForFind:(id)arg1; +- (struct _NSRange)_characterRangeForRect:(struct CGRect)arg1; +- (struct _NSRange)clipViewBoundsCharacterRange; +- (struct _NSRange)visibleCharacterRange; +- (void)mouseDown:(id)arg1; +- (void)setNeedsDisplayInRect:(struct CGRect)arg1 avoidAdditionalLayout:(BOOL)arg2; +- (void)drawRect:(struct CGRect)arg1; +- (void)_drawRect:(struct CGRect)arg1 clip:(BOOL)arg2; +- (void)_drawOverlayRect:(struct CGRect)arg1; +- (void)moveDown:(id)arg1; +- (void)setSelectedRange:(struct _NSRange)arg1; +- (void)setSelectedRanges:(id)arg1 affinity:(unsigned long long)arg2 stillSelecting:(BOOL)arg3; +- (void)_replaceFoldWithContents:(id)arg1; +- (void)textStorage:(id)arg1 didEndEditRange:(struct _NSRange)arg2 changeInLength:(long long)arg3; +- (void)textStorage:(id)arg1 willEndEditRange:(struct _NSRange)arg2 changeInLength:(long long)arg3; +@property(readonly) DVTTextStorage *textStorage; +@property(readonly) DVTLayoutManager *layoutManager; +- (void)didInsertCompletionTextAtRange:(struct _NSRange)arg1; +- (void)invalidateDisplayForRange:(struct _NSRange)arg1; +- (unsigned long long)draggingEntered:(id)arg1; +- (void)paste:(id)arg1; +- (void)viewWillMoveToWindow:(id)arg1; +- (void)removeFromSuperview; +- (void)_mouseInside:(id)arg1; +- (void)debugDumpCompletionState:(id)arg1; +- (void)selectPreviousPlaceholder:(id)arg1; +- (void)selectNextPlaceholder:(id)arg1; +- (BOOL)handleInsertBackTab; +- (BOOL)handleInsertTab; +- (id)menuForEvent:(id)arg1; +- (BOOL)handleCancel; +- (void)previousCompletion:(id)arg1; +- (void)nextCompletion:(id)arg1; +- (void)complete:(id)arg1; +- (BOOL)shouldChangeTextInRanges:(id)arg1 replacementStrings:(id)arg2; +- (void)deleteForward:(id)arg1; +- (void)deleteBackward:(id)arg1; +- (void)insertText:(id)arg1 replacementRange:(struct _NSRange)arg2; +- (void)doCommandBySelector:(SEL)arg1; +- (void)layoutManager:(id)arg1 didUnfoldRange:(struct _NSRange)arg2; +- (void)layoutManager:(id)arg1 didFoldRange:(struct _NSRange)arg2; +- (void)_foldingLayoutManagerFoldsChanged:(id)arg1; +- (id)layoutManager:(id)arg1 shouldUseTextBackgroundColor:(id)arg2 rectArray:(const struct CGRect *)arg3 count:(unsigned long long)arg4 forCharacterRange:(struct _NSRange)arg5; +- (id)layoutManager:(id)arg1 shouldUseTemporaryAttributes:(id)arg2 forDrawingToScreen:(BOOL)arg3 atCharacterIndex:(unsigned long long)arg4 effectiveRange:(struct _NSRange *)arg5; +- (void)showMatchingBraceAtLocation:(id)arg1; +- (void)autoHighlightMatchingBracketAtLocationIfNecessary:(unsigned long long)arg1; +- (BOOL)shouldTryToCompleteOpeningBracketForStringOrAttributedStringToInsert:(id)arg1; +- (BOOL)shouldTryToCompleteOpeningBracketForStringToInsert:(id)arg1; +- (BOOL)shouldTryToCompleteOpeningBracketForStringToInsert:(id)arg1 usingLanguage:(id)arg2; +- (BOOL)_moveToNextPlaceholderFromCharacterIndex:(unsigned long long)arg1 forward:(BOOL)arg2 onlyIfNearby:(BOOL)arg3; +- (struct _NSRange)_findString:(id)arg1 inString:(id)arg2 fromRange:(struct _NSRange)arg3 limitRange:(struct _NSRange)arg4 forward:(BOOL)arg5 wrap:(BOOL)arg6; +- (struct _NSRange)rangeOfPlaceholderFromCharacterIndex:(unsigned long long)arg1 forward:(BOOL)arg2 wrap:(BOOL)arg3 limit:(unsigned long long)arg4; +- (struct _NSRange)_rangeOfPlaeholderWithStartPrefix:(id)arg1 endSuffix:(id)arg2 inString:(id)arg3 fromRange:(struct _NSRange)arg4 limitRange:(struct _NSRange)arg5 forward:(BOOL)arg6 wrap:(BOOL)arg7; +- (BOOL)selectFirstPlaceholderInCharacterRange:(struct _NSRange)arg1; +- (BOOL)handleSelectPreviousPlaceholder; +- (BOOL)handleSelectNextPlaceholder; +- (id)ghostComplementTextColor; +- (BOOL)shouldAutoCompleteAtLocation:(unsigned long long)arg1; +- (BOOL)shouldSuppressTextCompletion; +@property(readonly, copy) NSCharacterSet *autoCompleteChars; +@property(readonly) double autoCompletionDelay; +- (id)contextForCompletionStrategiesAtWordStartLocation:(unsigned long long)arg1; +@property(readonly) DVTTextCompletionDataSource *completionsDataSource; +- (struct _NSRange)wordRangeAtLocation:(unsigned long long)arg1; +@property(readonly) DVTSourceCodeLanguage *language; +- (void)dealloc; +- (id)initWithCoder:(id)arg1; +- (id)initWithFrame:(struct CGRect)arg1; +- (id)initWithFrame:(struct CGRect)arg1 textContainer:(id)arg2; +- (void)_dvtCommonInit; +- (id)currentTheme; +- (BOOL)removeMenusNotInWhiteList:(id)arg1 fromMenu:(id)arg2 removeSeparators:(BOOL)arg3; +- (id)cell; +- (id)selectedCell; +- (id)accessibilityAttributeValue:(id)arg1; + +// Remaining properties +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) Class superclass; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTDocumentLocation.h b/SCXcodeMinimap/Xcode Headers/DVTDocumentLocation.h new file mode 100644 index 0000000..8f86866 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTDocumentLocation.h @@ -0,0 +1,33 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +@class NSNumber, NSString, NSURL; + +@interface DVTDocumentLocation : NSObject +{ + NSURL *_documentURL; + NSNumber *_timestamp; +} + +@property(readonly) NSNumber *timestamp; // @synthesize timestamp=_timestamp; +@property(readonly) NSURL *documentURL; // @synthesize documentURL=_documentURL; +- (long long)compare:(id)arg1; +- (id)description; +- (void)dvt_writeToSerializer:(id)arg1; +- (id)dvt_initFromDeserializer:(id)arg1; +- (BOOL)isEqualDisregardingTimestamp:(id)arg1; +- (BOOL)isEqualToDocumentLocationDisregardingDocumentURL:(id)arg1; +- (unsigned long long)hash; +- (BOOL)isEqual:(id)arg1; +- (id)copyWithURL:(id)arg1; +- (id)copyWithZone:(struct _NSZone *)arg1; +@property(readonly) NSString *documentURLString; +- (void)encodeWithCoder:(id)arg1; +- (id)initWithCoder:(id)arg1; +- (id)initWithDocumentURL:(id)arg1 timestamp:(id)arg2; +- (id)init; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTFilePath.h b/SCXcodeMinimap/Xcode Headers/DVTFilePath.h new file mode 100644 index 0000000..eecd82a --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTFilePath.h @@ -0,0 +1,115 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +@class DVTFileDataType, DVTFileSystemVNode, NSArray, NSDate, NSDictionary, NSString, NSURL; + +@interface DVTFilePath : NSObject +{ + DVTFilePath *_parentPath; + struct fastsimplearray *_childfsaPaths; + DVTFileSystemVNode *_vnode; + unsigned long long _numAssociates; + unsigned long long _numObservers; + id _associates; + NSString *_pathString; + NSURL *_fileURL; + BOOL _hasResolvedVnode; + BOOL _cleanRemoveFromParent; + unsigned char _validationState; + unsigned short _fsrepLength; + int _childPathsLock; + int _associatesLock; + char _fsrep[0]; +} + ++ (void)_registerStandardCachedFileInfoDerivationFunctionsIfNeeded; + ++ (id)filePathForFileURL:(id)arg1; ++ (id)filePathForPathString:(id)arg1; ++ (id)filePathForFileSystemRepresentation:(const char *)arg1; ++ (id)filePathForFileSystemRepresentation:(const char *)arg1 length:(unsigned long long)arg2; ++ (id)_filePathForParent:(id)arg1 pathString:(id)arg2; ++ (id)_filePathForParent:(id)arg1 fileSystemRepresentation:(const char *)arg2 length:(unsigned long long)arg3 allowCreation:(BOOL)arg4; ++ (BOOL)supportsSecureCoding; ++ (id)_lookupOrCreateFilePathWithParentPath:(id)arg1 fileSystemRepresentation:(const char *)arg2 length:(unsigned long long)arg3 allowCreation:(BOOL)arg4; ++ (id)rootFilePath; + +- (id)_descriptionOfAssociates; +- (id)description; +- (void)dvt_provideFileSystemRepresentationToBlock:(dispatch_block_t)arg1; +- (void)removeAllAssociates; +- (void)removeAssociate:(id)arg1; +- (void)removeAssociatesWithRole:(id)arg1; +- (void)removeAssociate:(id)arg1 withRole:(id)arg2; +- (void)addAssociate:(id)arg1 withRole:(id)arg2 observingDidChangeRecursively:(BOOL)arg3 onOperationQueue:(id)arg4 block:(dispatch_block_t)arg5; +- (void)addAssociate:(id)arg1 withRole:(id)arg2 observingDidChangeRecursively:(BOOL)arg3 onDispatchQueue:(id)arg4 block:(dispatch_block_t)arg5; +- (void)addAssociate:(id)arg1 withRole:(id)arg2; +- (id)associatesWithRole:(id)arg1; +- (id)associatesWithRole:(id)arg1 forAllPathsToSameFile:(BOOL)arg2; +- (void)_addAssociatesWithRole:(id)arg1 toArray:(id *)arg2; +- (void)_notifyAssociatesOfChange; +- (BOOL)_hasChangeObservers; +- (BOOL)_addInfoForObserversOfChangedFilePath:(id)arg1 toObjects:(id)arg2 blocks:(id)arg3 dispatchQueues:(id)arg4 operationQueues:(id)arg5; +- (id)cachedValueForKey:(id)arg1; +- (id)machOArchitecturesWithError:(id *)arg1; +@property(readonly) DVTFileDataType *fileDataTypePresumed; +@property(readonly) DVTFileDataType *fileDataTypeFromFileContent; +@property(readonly) DVTFilePath *symbolicLinkDestinationFilePath; +@property(readonly) NSURL *fileReferenceURL; +@property(readonly) NSDictionary *fileSystemAttributes; +@property(readonly) NSDictionary *fileAttributes; +@property(readonly) NSString *fileTypeAttribute; +@property(readonly) BOOL isDirectory; +@property(readonly) NSArray *sortedDirectoryContents; +- (id)directoryContentsWithError:(id *)arg1; +@property(readonly) NSArray *directoryContents; +@property(readonly) NSDate *modificationDate; +@property(readonly) BOOL isExcludedFromBackup; +@property(readonly) BOOL isSymbolicLink; +@property(readonly) BOOL isExecutable; +@property(readonly) BOOL isDeletable; +@property(readonly) BOOL isWritable; +@property(readonly) BOOL isReadable; +@property(readonly) BOOL existsInFileSystem; +- (void)excludeFromBackup; +- (BOOL)_hasResolvedVnode; +- (id)_locked_vnode; +- (id)_locked_vnodeKnownDoesNotExist:(BOOL)arg1; +- (void)_invalidateFilePathAndChildrenIncludingEquivalents; +- (void)_invalidateFilePathAndChildren; +- (void)invalidateFilePath; +- (void)_invalidateKnownDoesNotExist:(BOOL)arg1 explicitlyInvalidateChildren:(BOOL)arg2; +- (void)_invalidateChildrenRecursivelyKnownDoesNotExist:(BOOL)arg1; +- (void)_locked_validateTentativelyInvalidatedChildrenRecursively; +- (void)_locked_tentativelyInvalidateChildrenRecursivelyWithChildrenShouldBeTentativelyInvalid:(BOOL)arg1; +- (BOOL)isSameFileAsFilePath:(id)arg1; +- (BOOL)isEqual:(id)arg1; +- (id)relativePathStringFromFilePath:(id)arg1; +- (id)relativePathStringFromAncestorFilePath:(id)arg1; +- (BOOL)getFullFileSystemRepresentationIntoBuffer:(char **)arg1 ofLength:(unsigned long long)arg2 allowAllocation:(BOOL)arg3; +- (BOOL)_getFSRepIntoBuffer:(char **)arg1 ofLength:(unsigned long long)arg2 requiredLength:(unsigned long long)arg3 endPtr:(char **)arg4 allowAllocation:(BOOL)arg5; +@property(readonly) NSString *fileName; +@property(readonly) NSURL *fileURL; +@property(readonly) NSArray *pathComponents; +@property(readonly) NSString *pathString; +- (id)filePathForUniqueRelativeDirectoryWithPrefix:(id)arg1 error:(id *)arg2; +- (id)filePathForUniqueRelativeFileWithPrefix:(id)arg1 error:(id *)arg2; +- (id)filePathForRelativePathString:(id)arg1; +- (id)filePathForRelativeFileSystemRepresentation:(const char *)arg1; +- (id)filePathForRelativeFileSystemRepresentation:(const char *)arg1 length:(unsigned long long)arg2; +- (BOOL)isAncestorOfFilePath:(id)arg1; +@property(readonly) DVTFilePath *volumeFilePath; +@property(readonly) DVTFilePath *parentFilePath; +- (void)encodeWithCoder:(id)arg1; +- (id)initWithCoder:(id)arg1; +- (id)copyWithZone:(struct _NSZone *)arg1; +- (id)init; +- (void)_invokeWithLockedAssociates:(dispatch_block_t)arg1; +- (void)_invokeWithLockedChildPaths:(dispatch_block_t)arg1; +- (void)dealloc; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTFindResult.h b/SCXcodeMinimap/Xcode Headers/DVTFindResult.h new file mode 100644 index 0000000..b973887 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTFindResult.h @@ -0,0 +1,43 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +@class DVTDocumentLocation, DVTFindDescriptor, NSDictionary, NSString; + +@interface DVTFindResult : NSObject +{ + DVTDocumentLocation *_location; + DVTFindDescriptor *_findDescriptor; + NSString *_contextString; + struct _NSRange _contextRange; + DVTDocumentLocation *_replacedLocation; + int _replaceState; + NSString *_replacedString; + NSDictionary *_userInfo; +} + ++ (struct _NSRange)lineRangeForFoundRange:(struct _NSRange)arg1 inString:(id)arg2; +@property(readonly, copy) NSDictionary *userInfo; // @synthesize userInfo=_userInfo; +@property(copy) DVTDocumentLocation *replacedLocation; // @synthesize replacedLocation=_replacedLocation; +@property int replaceState; // @synthesize replaceState=_replaceState; +@property(copy, nonatomic) NSString *replacedString; // @synthesize replacedString=_replacedString; +@property(readonly) struct _NSRange contextRange; // @synthesize contextRange=_contextRange; +@property(readonly) NSString *contextString; // @synthesize contextString=_contextString; +@property(readonly) DVTDocumentLocation *location; // @synthesize location=_location; +@property(readonly) DVTFindDescriptor *findDescriptor; // @synthesize findDescriptor=_findDescriptor; +- (id)copyWithContextString:(id)arg1 contextRange:(struct _NSRange)arg2 userInfo:(id)arg3; +- (id)copyWithUpdatedLocation:(id)arg1; +- (id)stringForReplacementString:(id)arg1; +@property(readonly) NSString *foundString; +- (BOOL)isEqual:(id)arg1; +- (unsigned long long)hash; +- (id)description; +- (id)initWithFoundLocation:(id)arg1 withRange:(struct _NSRange)arg2 inContext:(id)arg3 foundUsingDescriptor:(id)arg4; +- (void)encodeWithCoder:(id)arg1; +- (id)initWithCoder:(id)arg1; +- (id)copyWithZone:(struct _NSZone *)arg1; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTFoldingLayoutManager.h b/SCXcodeMinimap/Xcode Headers/DVTFoldingLayoutManager.h new file mode 100644 index 0000000..ade67f7 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTFoldingLayoutManager.h @@ -0,0 +1,41 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import + +@class DVTFoldingManager, DVTTextFoldInlineTokenAttachmentCell, NSCell; + +@interface DVTFoldingLayoutManager : NSLayoutManager +{ + DVTFoldingManager *_foldingManager; + NSCell *_blockFoldCell; + DVTTextFoldInlineTokenAttachmentCell *_inlineFoldCell; +} + ++ (id)layoutLogAspect; +@property(copy) DVTTextFoldInlineTokenAttachmentCell *inlineFoldCell; // @synthesize inlineFoldCell=_inlineFoldCell; +@property(copy) NSCell *blockFoldCell; // @synthesize blockFoldCell=_blockFoldCell; +@property(readonly) DVTFoldingManager *foldingManager; // @synthesize foldingManager=_foldingManager; +- (unsigned long long)characterIndexForPoint:(struct CGPoint)arg1 inTextContainer:(id)arg2 fractionOfDistanceBetweenInsertionPoints:(double *)arg3; +- (id)foldCellAtCharacterIndex:(unsigned long long)arg1; +- (struct CGSize)attachmentSizeForGlyphAtIndex:(unsigned long long)arg1; +- (void)drawGlyphsForGlyphRange:(struct _NSRange)arg1 atPoint:(struct CGPoint)arg2; +- (void)foldingManager:(id)arg1 didUnfoldRange:(struct _NSRange)arg2; +- (void)foldingManager:(id)arg1 didFoldRange:(struct _NSRange)arg2; +- (void)_invalidateGlyphsInCharacterRange:(struct _NSRange)arg1; +- (struct _NSRange)_paragraphExtendedCharacterRange:(struct _NSRange)arg1; +- (void)textStorage:(id)arg1 edited:(unsigned long long)arg2 range:(struct _NSRange)arg3 changeInLength:(long long)arg4 invalidatedRange:(struct _NSRange)arg5; +- (void)_invalidateGlyphsForExtendedCharacterRange:(struct _NSRange)arg1 changeInLength:(long long)arg2 includeBlocks:(BOOL)arg3; +- (struct _NSRange)_extendedCharRangeForInvalidation:(struct _NSRange)arg1 editedCharRange:(struct _NSRange)arg2; +- (void)generateInlineFoldsForCharacterRange:(struct _NSRange)arg1; +- (struct _NSRange)paragraphRangeForLineRange:(struct _NSRange)arg1; +- (struct CGSize)layoutSizeForFoldAtCharacterIndex:(unsigned long long)arg1; +- (BOOL)foldsAreValid:(id)arg1; +- (void)setTextStorage:(id)arg1; +- (void)enableTextFolding:(BOOL)arg1; +- (id)textStorage; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTFoldingManager.h b/SCXcodeMinimap/Xcode Headers/DVTFoldingManager.h new file mode 100644 index 0000000..a25fbdc --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTFoldingManager.h @@ -0,0 +1,46 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "DVTFoldingManagerDelegate-Protocol.h" + +@class DVTTextFold; + +@interface DVTFoldingManager : NSObject +{ + DVTTextFold *_topLevelFold; + id delegate; +} + +@property(retain, nonatomic) DVTTextFold *topLevelFold; // @synthesize topLevelFold=_topLevelFold; +@property __weak id delegate; // @synthesize delegate; +- (id)fixedSelectionRangesForRanges:(id)arg1 affinity:(unsigned long long)arg2 inTextView:(id)arg3; +- (id)adjustFoldsForRange:(struct _NSRange)arg1 changeInLength:(long long)arg2; +- (id)foldsEnclosingRange:(struct _NSRange)arg1; +- (id)lastFoldTouchingCharacterIndex:(unsigned long long)arg1; +- (id)firstFoldTouchingCharacterIndex:(unsigned long long)arg1; +- (id)blockFoldsTouchingRange:(struct _NSRange)arg1; +- (id)allFoldsTouchingRange:(struct _NSRange)arg1; +- (BOOL)isRangeInsideAFold:(struct _NSRange)arg1; +- (BOOL)isCharacterRangeFolded:(struct _NSRange)arg1; +- (BOOL)containsFoldWithRange:(struct _NSRange)arg1; +- (BOOL)isCharacterFoldedAtIndex:(unsigned long long)arg1; +- (void)foldRangesRecursively:(id)arg1; +- (void)unfoldRanges:(id)arg1; +- (void)foldRanges:(id)arg1; +- (void)unfoldRecursiveRange:(struct _NSRange)arg1; +- (void)unfoldEnclosingRange:(struct _NSRange)arg1; +- (void)unfoldRange:(struct _NSRange)arg1; +- (void)unfoldAtCharacterIndex:(unsigned long long)arg1; +- (void)unfoldAll; +- (void)unfoldPlaceholdersInRange:(struct _NSRange)arg1; +- (void)foldPlaceholderInRange:(struct _NSRange)arg1 withLabel:(id)arg2; +- (void)foldRange:(struct _NSRange)arg1; +- (void)_applyFoldsRecursively:(id)arg1; +- (id)initWithRange:(struct _NSRange)arg1; +- (id)init; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTFoldingManagerDelegate-Protocol.h b/SCXcodeMinimap/Xcode Headers/DVTFoldingManagerDelegate-Protocol.h new file mode 100644 index 0000000..b14ddc8 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTFoldingManagerDelegate-Protocol.h @@ -0,0 +1,13 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +@class DVTFoldingManager; + +@protocol DVTFoldingManagerDelegate +- (void)foldingManager:(DVTFoldingManager *)arg1 didUnfoldRange:(struct _NSRange)arg2; +- (void)foldingManager:(DVTFoldingManager *)arg1 didFoldRange:(struct _NSRange)arg2; +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTFontAndColorTheme.h b/SCXcodeMinimap/Xcode Headers/DVTFontAndColorTheme.h new file mode 100755 index 0000000..5da67f3 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTFontAndColorTheme.h @@ -0,0 +1,142 @@ +/* + * Generated by class-dump 3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2012 by Steve Nygard. + */ + +#import "DVTPreferenceSet-Protocol.h" + +@class DVTCustomDataSpecifier, DVTPointerArray, DVTStackBacktrace, NSColor, NSFont, NSImage, NSString, NSURL; + +@interface DVTFontAndColorTheme : NSObject +{ + NSString *_name; + NSImage *_image; + NSURL *_dataURL; + DVTCustomDataSpecifier *_customDataSpecifier; + NSColor *_sourceTextBackgroundColor; + NSColor *_sourceTextSidebarBackgroundColor; + NSColor *_sourceTextSidebarEdgeColor; + NSColor *_sourceTextSidebarNumbersColor; + NSColor *_sourceTextFoldbarBackgroundColor; + NSColor *_sourceTextSelectionColor; + NSColor *_sourceTextSecondarySelectionColor; + NSColor *_sourceTextInsertionPointColor; + NSColor *_sourceTextInvisiblesColor; + NSColor *_sourceTextBlockDimBackgroundColor; + NSColor *_sourceTextTokenizedBorderColor; + NSColor *_sourceTextTokenizedBackgroundColor; + NSColor *_sourceTextTokenizedBorderSelectedColor; + NSColor *_sourceTextTokenizedBackgroundSelectedColor; + NSColor *_consoleTextBackgroundColor; + NSColor *_consoleTextSelectionColor; + NSColor *_consoleTextSecondarySelectionColor; + NSColor *_consoleTextInsertionPointColor; + NSColor *_consoleDebuggerPromptTextColor; + NSColor *_consoleDebuggerInputTextColor; + NSColor *_consoleDebuggerOutputTextColor; + NSColor *_consoleExecutableInputTextColor; + NSColor *_consoleExecutableOutputTextColor; + NSFont *_consoleDebuggerPromptTextFont; + NSFont *_consoleDebuggerInputTextFont; + NSFont *_consoleDebuggerOutputTextFont; + NSFont *_consoleExecutableInputTextFont; + NSFont *_consoleExecutableOutputTextFont; + NSColor *_debuggerInstructionPointerColor; + NSColor *_sourcePlainTextColor; + NSFont *_sourcePlainTextFont; + DVTPointerArray *_syntaxColorsByNodeType; + DVTPointerArray *_syntaxFontsByNodeType; + NSColor *_sourceTextCompletionPreviewColor; + BOOL _builtIn; + BOOL _loadedData; + BOOL _contentNeedsSaving; + BOOL _hasMultipleSourceTextFonts; +} + ++ (id)_defaultSourceCodeFont; ++ (id)keyPathsForValuesAffectingConsoleTextSecondarySelectionColor; ++ (id)keyPathsForValuesAffectingSourceTextSecondarySelectionColor; ++ (id)titleForNewPreferenceSetFromTemplate; ++ (id)preferenceSetsListHeader; ++ (id)preferenceSetsFileExtension; ++ (id)defaultKeyForExcludedBuiltInPreferenceSets; ++ (id)defaultKeyForCurrentPreferenceSet; ++ (id)builtInPreferenceSetsDirectoryURL; ++ (id)systemPreferenceSet; ++ (id)preferenceSetGroupingName; ++ (id)_nodeTypesIncludedInPreferences; ++ (id)_stringRepresentationOfFont:(id)arg1; ++ (id)_fontWithName:(id)arg1 size:(double)arg2; ++ (id)currentTheme; ++ (id)preferenceSetsManager; ++ (void)initialize; +@property(readonly) BOOL loadedData; // @synthesize loadedData=_loadedData; +@property(readonly) DVTPointerArray *syntaxFontsByNodeType; // @synthesize syntaxFontsByNodeType=_syntaxFontsByNodeType; +@property(readonly) DVTPointerArray *syntaxColorsByNodeType; // @synthesize syntaxColorsByNodeType=_syntaxColorsByNodeType; +@property(nonatomic) BOOL hasMultipleSourceTextFonts; // @synthesize hasMultipleSourceTextFonts=_hasMultipleSourceTextFonts; +@property BOOL contentNeedsSaving; // @synthesize contentNeedsSaving=_contentNeedsSaving; +@property(retain) DVTCustomDataSpecifier *customDataSpecifier; // @synthesize customDataSpecifier=_customDataSpecifier; +@property(readonly, getter=isBuiltIn) BOOL builtIn; // @synthesize builtIn=_builtIn; +@property(retain) NSImage *image; // @synthesize image=_image; +@property(copy) NSString *name; // @synthesize name=_name; +- (void)setFont:(id)arg1 forNodeTypes:(id)arg2; +- (void)setColor:(id)arg1 forNodeTypes:(id)arg2; +- (void)_setColorOrFont:(id)arg1 forNodeTypes:(id)arg2; +- (id)fontForNodeType:(short)arg1; +- (id)colorForNodeType:(short)arg1; +@property(readonly) NSFont *sourcePlainTextFont; +@property(readonly) NSColor *sourcePlainTextColor; +- (void)primitiveSetConsoleDebuggerPromptTextColor:(id)arg1; +- (void)_setColorOrFont:(id)arg1 forKey:(id)arg2 colorOrFontivar:(id *)arg3; +@property NSColor *debuggerInstructionPointerColor; +@property NSFont *consoleExecutableOutputTextFont; +@property NSFont *consoleExecutableInputTextFont; +@property NSFont *consoleDebuggerOutputTextFont; +@property NSFont *consoleDebuggerInputTextFont; +@property NSFont *consoleDebuggerPromptTextFont; +@property NSColor *consoleExecutableOutputTextColor; +@property NSColor *consoleExecutableInputTextColor; +@property NSColor *consoleDebuggerOutputTextColor; +@property NSColor *consoleDebuggerInputTextColor; +@property NSColor *consoleDebuggerPromptTextColor; +@property NSColor *consoleTextInsertionPointColor; +@property NSColor *consoleTextSecondarySelectionColor; +@property NSColor *consoleTextSelectionColor; +@property NSColor *consoleTextBackgroundColor; +@property(readonly) NSColor *sourceTextTokenizedBackgroundSelectedColor; +@property(readonly) NSColor *sourceTextTokenizedBorderSelectedColor; +@property(readonly) NSColor *sourceTextTokenizedBackgroundColor; +@property(readonly) NSColor *sourceTextTokenizedBorderColor; +@property(readonly) NSColor *sourceTextLinkColor; +@property(readonly) NSColor *sourceTextCompletionPreviewColor; +@property(readonly) NSColor *sourceTextBlockDimBackgroundColor; +@property NSColor *sourceTextInvisiblesColor; +@property NSColor *sourceTextInsertionPointColor; +@property(readonly) NSColor *sourceTextSecondarySelectionColor; +@property NSColor *sourceTextSelectionColor; +@property(readonly) NSColor *sourceTextFoldbarBackgroundColor; +@property(readonly) NSColor *sourceTextSidebarNumbersColor; +@property(readonly) NSColor *sourceTextSidebarEdgeColor; +@property(readonly) NSColor *sourceTextSidebarBackgroundColor; +@property NSColor *sourceTextBackgroundColor; +- (id)description; +@property(readonly) NSString *localizedName; +- (void)_updateHasMultipleSourceTextFonts; +- (void)_updateDerivedColors; +- (BOOL)_loadFontsAndColors; +- (id)dataRepresentationWithError:(id *)arg1; +- (void)primitiveInvalidate; +- (id)initWithCustomDataSpecifier:(id)arg1 basePreferenceSet:(id)arg2; +- (id)initWithName:(id)arg1 dataURL:(id)arg2; +- (id)_initWithName:(id)arg1 syntaxColorsByNodeType:(id)arg2 syntaxFontsByNodeType:(id)arg3; +- (void)_themeCommonInit; +- (id)init; + +// Remaining properties +@property(retain) DVTStackBacktrace *creationBacktrace; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; +@property(readonly, nonatomic, getter=isValid) BOOL valid; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTInvalidation-Protocol.h b/SCXcodeMinimap/Xcode Headers/DVTInvalidation-Protocol.h new file mode 100755 index 0000000..5a44213 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTInvalidation-Protocol.h @@ -0,0 +1,18 @@ +/* + * Generated by class-dump 3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2012 by Steve Nygard. + */ + +@class DVTStackBacktrace; + +@protocol DVTInvalidation +- (void)primitiveInvalidate; + +@optional +@property(retain) DVTStackBacktrace *creationBacktrace; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; +@property(readonly, nonatomic, getter=isValid) BOOL valid; +- (void)invalidate; +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTLayoutManager.h b/SCXcodeMinimap/Xcode Headers/DVTLayoutManager.h new file mode 100644 index 0000000..b4129b1 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTLayoutManager.h @@ -0,0 +1,105 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "DVTFoldingLayoutManager.h" + +@class DVTMapTable, DVTMutableRangeArray, DVTObservingToken, DVTPointerArray, NSArray, NSColor, NSMutableArray, NSMutableSet, NSSet, NSString, NSTimer; + +@interface DVTLayoutManager : DVTFoldingLayoutManager +{ + NSArray *_temporaryLinkRanges; + NSMutableArray *_annotations; + DVTPointerArray *_lastDeletedAnnotations; + DVTMapTable *_messageBubblesForAnnotations; + NSMutableSet *_accessoryAnnotations; + NSArray *_sortedAccessoryAnnotations; + NSTimer *_autoHighlightTokenTimer; + DVTObservingToken *_autoHighlightTextCompletionObserver; + DVTMutableRangeArray *_autoHighlightTokenRanges; + DVTMutableRangeArray *_tokenizedEditingTokenRanges; + unsigned long long _tokenizedEditingEditedTokenIndex; + unsigned long long _tokenizedEditingDeferedOffset; + struct _NSRange _tokenizedEditingSelectionRange; + NSColor *_tokenizedEditingTokenBorderColor; + NSColor *_tokenizedEditingTokenBackgroundColor; + NSColor *_tokenizedEditingSelectedTokenBorderColor; + NSColor *_tokenizedEditingSelectedTokenBackgroundColor; + BOOL _tokenizedEditingEnabled; +} + ++ (Class)_dvtDefaultTypesetterClass; ++ (void)initialize; +@property(copy) NSColor *tokenizedEditingSelectedTokenBackgroundColor; // @synthesize tokenizedEditingSelectedTokenBackgroundColor=_tokenizedEditingSelectedTokenBackgroundColor; +@property(copy) NSColor *tokenizedEditingSelectedTokenBorderColor; // @synthesize tokenizedEditingSelectedTokenBorderColor=_tokenizedEditingSelectedTokenBorderColor; +@property(copy) NSColor *tokenizedEditingTokenBackgroundColor; // @synthesize tokenizedEditingTokenBackgroundColor=_tokenizedEditingTokenBackgroundColor; +@property(copy) NSColor *tokenizedEditingTokenBorderColor; // @synthesize tokenizedEditingTokenBorderColor=_tokenizedEditingTokenBorderColor; +@property struct _NSRange tokenizedEditingSelectionRange; // @synthesize tokenizedEditingSelectionRange=_tokenizedEditingSelectionRange; +@property(readonly, copy) NSArray *tokenizedEditingTokenRanges; // @synthesize tokenizedEditingTokenRanges=_tokenizedEditingTokenRanges; +@property(readonly, copy) NSArray *autoHighlightTokenRanges; // @synthesize autoHighlightTokenRanges=_autoHighlightTokenRanges; +@property(readonly) NSSet *accessoryAnnotations; // @synthesize accessoryAnnotations=_accessoryAnnotations; +@property(readonly) NSArray *annotations; // @synthesize annotations=_annotations; +@property(retain) NSArray *temporaryLinkRanges; // @synthesize temporaryLinkRanges=_temporaryLinkRanges; +- (struct _NSRange)rangeForCharacterRange:(struct _NSRange)arg1 withContextLines:(long long)arg2 proposedHeight:(double *)arg3 contentLines:(unsigned long long *)arg4 totalLines:(unsigned long long *)arg5; +- (void)drawUnderlineForGlyphRange:(struct _NSRange)arg1 underlineType:(long long)arg2 baselineOffset:(double)arg3 lineFragmentRect:(struct CGRect)arg4 lineFragmentGlyphRange:(struct _NSRange)arg5 containerOrigin:(struct CGPoint)arg6; +- (void)drawBackgroundForGlyphRange:(struct _NSRange)arg1 atPoint:(struct CGPoint)arg2; +- (void)fillBackgroundRectArray:(struct CGRect *)arg1 count:(unsigned long long)arg2 forCharacterRange:(struct _NSRange)arg3 color:(id)arg4; +- (void)textStorage:(id)arg1 didUpdateLineRange:(struct _NSRange)arg2 changeInLength:(long long)arg3 replacedCharacterRangeEndsOnLineTerminator:(BOOL)arg4 entireFirstLineReplaced:(BOOL)arg5; +- (void)textStorageDidEndEditing:(id)arg1; +- (void)textStorage:(id)arg1 didEndEditRange:(struct _NSRange)arg2 changeInLength:(long long)arg3; +- (void)textStorage:(id)arg1 willEndEditRange:(struct _NSRange)arg2 changeInLength:(long long)arg3; +- (void)textStorage:(id)arg1 didReplaceCharactersInRange:(struct _NSRange)arg2 withString:(id)arg3 changeInLength:(long long)arg4; +- (void)textStorage:(id)arg1 willReplaceCharactersInRange:(struct _NSRange)arg2 withString:(id)arg3 changeInLength:(long long)arg4; +- (void)foldingManager:(id)arg1 didUnfoldRange:(struct _NSRange)arg2; +- (void)foldingManager:(id)arg1 didFoldRange:(struct _NSRange)arg2; +- (void)didRemoveAnnotations:(id)arg1; +- (void)didInsertAnnotations:(id)arg1; +- (void)drawTokensForGlyphRange:(struct _NSRange)arg1 border:(BOOL)arg2 background:(BOOL)arg3; +- (id)tokenizedEditingTokenPathsForCharacterRange:(struct _NSRange)arg1 displayOnly:(BOOL)arg2; +- (void)updateTokenizedEditingTokenRanges; +- (unsigned long long)indexOfTokenizedEditingTokenRange:(struct _NSRange)arg1; +@property(getter=isTokenizedEditingEnabled) BOOL tokenizedEditingEnabled; // @synthesize tokenizedEditingEnabled=_tokenizedEditingEnabled; +- (void)scheduleAutoHighlightTokenWithTextView:(id)arg1; +- (void)_autoHighlightTokenWithTimer:(id)arg1; +- (void)_clearAutoHighlightTokens; +- (void)_displayAutoHighlightTokens; +@property(getter=isAutoHighlightTokensEnabled) BOOL autoHighlightTokensEnabled; +- (void)hideMessageBubblesInRange:(struct _NSRange)arg1; +- (void)showMessageBubblesInRange:(struct _NSRange)arg1; +@property(getter=isAnnotationAdjustmentEnabled) BOOL annotationAdjustmentEnabled; +@property(nonatomic) BOOL severeBubbleAnnotationsMiniaturized; +- (id)messageBubbleViewForAnnotation:(id)arg1; +- (id)accessoryAnnotationsInRange:(struct _NSRange)arg1; +- (void)messageBubbleAnnotation:(id)arg1 needsBubble:(BOOL)arg2; +- (void)removeAnnotationsInRange:(struct _NSRange)arg1; +- (void)removeAnnotation:(id)arg1; +- (void)_removeAnnotationsAtIndexes:(id)arg1; +- (void)addAnnotation:(id)arg1; +- (id)annotationsInRange:(struct _NSRange)arg1; +- (void)mergeAnnotationsAtParagraphIndex:(unsigned long long)arg1; +- (id)annotationIndexesInParagraphRange:(struct _NSRange)arg1 suggestedIndex:(unsigned long long *)arg2; +- (void)_removeBubbleViewFromAnnotation:(id)arg1; +- (void)_addBubbleViewToAnnotation:(id)arg1 annotationsInRange:(id)arg2; +- (void)_assertAnnotationIntegrity; +- (void)_updateMessageBubbleVisibilityForAnnotation:(id)arg1; +@property BOOL temporaryLinkIsAlternate; +- (void)clearTemporaryLinkRanges; +- (void)setTemporaryLinkRanges:(id)arg1 isAlternate:(BOOL)arg2; +- (void)invalidateDisplayForCharacterRange:(struct _NSRange)arg1; +- (void)_invalidateLayoutForMessageBubblesInCharacterRange:(struct _NSRange)arg1; +- (unsigned long long)layoutOptions; +- (void)setDelegate:(id)arg1; +- (id)initWithCoder:(id)arg1; +- (id)init; +- (void)_layoutManagerCommonInit; + +// Remaining properties +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) Class superclass; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTMessageBubbleAnnotation.h b/SCXcodeMinimap/Xcode Headers/DVTMessageBubbleAnnotation.h new file mode 100644 index 0000000..c256c39 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTMessageBubbleAnnotation.h @@ -0,0 +1,43 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTTextAnnotation.h" + +@class NSImage, NSString; + +@interface DVTMessageBubbleAnnotation : DVTTextAnnotation +{ + NSString *_messageBubbleText; + NSImage *_messageBubbleIcon; + BOOL _miniaturized; + BOOL _wantsPreferredSizeAndPosition; + BOOL _wantsFlatStyle; + unsigned long long _messageBubbleTextAlignment; + NSString *_messageBubbleToolTipText; +} + +@property BOOL wantsFlatStyle; // @synthesize wantsFlatStyle=_wantsFlatStyle; +@property BOOL wantsPreferredSizeAndPosition; // @synthesize wantsPreferredSizeAndPosition=_wantsPreferredSizeAndPosition; +@property(copy, nonatomic) NSString *messageBubbleToolTipText; // @synthesize messageBubbleToolTipText=_messageBubbleToolTipText; +@property(retain, nonatomic) NSImage *messageBubbleIcon; // @synthesize messageBubbleIcon=_messageBubbleIcon; +@property unsigned long long messageBubbleTextAlignment; // @synthesize messageBubbleTextAlignment=_messageBubbleTextAlignment; +@property(copy, nonatomic) NSString *messageBubbleText; // @synthesize messageBubbleText=_messageBubbleText; +@property(nonatomic, getter=isMiniaturized) BOOL miniaturized; // @synthesize miniaturized=_miniaturized; +- (id)annotationDisplayDescription; +- (void)fontAndColorThemeChanged:(id)arg1; +- (void)invalidateDisplayAndLayoutIfNeeded:(BOOL)arg1; +- (void)setNeedsInvalidate; +- (id)currentStateInTextView:(id)arg1; +- (BOOL)drawsHighlightedRanges; +- (void)drawLineHighlightInRect:(struct CGRect)arg1 textView:(id)arg2; +- (BOOL)drawsLineHighlight; +- (struct CGRect)sidebarMarkerRectForFirstLineRect:(struct CGRect)arg1; +- (double)preferredWidthForAvailableWidth:(double)arg1; +- (void)setVisible:(BOOL)arg1; +@property int messageBubbleStackPolicy; +- (id)init; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTPointerArray.h b/SCXcodeMinimap/Xcode Headers/DVTPointerArray.h new file mode 100644 index 0000000..cc869e7 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTPointerArray.h @@ -0,0 +1,38 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + + +@interface DVTPointerArray : NSObject +{ +} + ++ (id)allocWithZone:(struct _NSZone *)arg1; ++ (id)pointerArrayWithPointerFunctions:(id)arg1; ++ (id)pointerArrayWithOptions:(int)arg1; ++ (id)pointerArrayWithWeakObjects; ++ (id)pointerArrayWithStrongObjects; +- (void)encodeWithCoder:(id)arg1; +- (id)copyWithZone:(struct _NSZone *)arg1; +- (void)setCount:(unsigned long long)arg1; +- (unsigned long long)count; +- (void)compact; +- (void)replacePointerAtIndex:(unsigned long long)arg1 withPointer:(id)arg2; +- (void)insertPointer:(id)arg1 atIndex:(unsigned long long)arg2; +- (void)removePointerAtIndex:(unsigned long long)arg1; +- (void)addPointer:(id)arg1; +- (id)pointerAtIndex:(unsigned long long)arg1; +- (id)pointerFunctions; +- (id)initWithCoder:(id)arg1; +- (id)initWithPointerFunctions:(id)arg1; +- (id)initWithOptions:(int)arg1; +- (id)init; +- (void)getPointers:(id *)arg1; +- (void)getPointers:(id *)arg1 range:(struct _NSRange)arg2; +- (unsigned long long)indexOfPointerIdenticalTo:(id)arg1; +- (id)allObjects; +- (id)mutableArray; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTPreferenceSet-Protocol.h b/SCXcodeMinimap/Xcode Headers/DVTPreferenceSet-Protocol.h new file mode 100755 index 0000000..1f2bd75 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTPreferenceSet-Protocol.h @@ -0,0 +1,34 @@ +/* + * Generated by class-dump 3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2012 by Steve Nygard. + */ + +#import "DVTInvalidation-Protocol.h" + +@class DVTCustomDataSpecifier, NSImage, NSString; + +@protocol DVTPreferenceSet ++ (id)titleForNewPreferenceSetFromTemplate; ++ (id)preferenceSetsListHeader; ++ (id)preferenceSetsFileExtension; ++ (id)defaultKeyForExcludedBuiltInPreferenceSets; ++ (id)defaultKeyForCurrentPreferenceSet; ++ (id)builtInPreferenceSetsDirectoryURL; ++ (id)systemPreferenceSet; ++ (id)preferenceSetGroupingName; ++ (id)preferenceSetsManager; +@property BOOL contentNeedsSaving; +@property(readonly, getter=isBuiltIn) BOOL builtIn; +@property(retain) DVTCustomDataSpecifier *customDataSpecifier; +@property(retain) NSImage *image; +@property(readonly) NSString *localizedName; +@property(copy,readonly) NSString *name; +- (id)dataRepresentationWithError:(id *)arg1; +- (id)initWithCustomDataSpecifier:(id)arg1 basePreferenceSet:(id)arg2; +- (id)initWithName:(id)arg1 dataURL:(id)arg2; + +@optional ++ (id)titleForManagePreferenceSets; +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTPreferenceSetManager.h b/SCXcodeMinimap/Xcode Headers/DVTPreferenceSetManager.h new file mode 100644 index 0000000..9a89020 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTPreferenceSetManager.h @@ -0,0 +1,48 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + + +@class DVTDelayedInvocation, DVTMapTable, NSArray, NSMutableArray, NSMutableSet; + +@interface DVTPreferenceSetManager : NSObject +{ + Class _preferenceSetClass; + NSArray *_builtInPreferenceSets; + NSMutableSet *_specifierNamesInDataStore; + NSMutableArray *_userPreferenceSets; + NSMutableArray *_availablePreferenceSets; + DVTMapTable *_preferenceSetObserverTokens; + DVTDelayedInvocation *_autosavePreferenceSetsInvocation; +} + ++ (void)initialize; +@property(readonly) Class preferenceSetClass; // @synthesize preferenceSetClass=_preferenceSetClass; +- (id)description; +- (void)_writePreferenceSetsIfNeeded; +- (void)_applicationWillTerminate:(id)arg1; +- (void)_scheduleAutoSavePreferenceSets; +- (void)_removeObserversForPreferenceSet:(id)arg1; +- (void)_addObserversForPreferenceSet:(id)arg1; +- (void)deletePreferenceSet:(id)arg1 completionQueue:(id)arg2 completionBlock:(id)arg3; +- (id)duplicatePreferenceSet:(id)arg1 error:(id *)arg2; +- (void)renamePreferenceSet:(id)arg1 toName:(id)arg2 completionQueue:(id)arg3 completionBlock:(id)arg4; +- (id)editableUserPreferenceSetForPreferenceSet:(id)arg1; +- (id)_createUserPreferenceSetWithBaseName:(id)arg1 basedOn:(id)arg2; +- (id)_nameForDuplicateOfPreferenceSet:(id)arg1; +- (id)_availablePreferenceSetWithLocalizedName:(id)arg1; +- (id)preferenceSetForName:(id)arg1; +@property(readonly) NSArray *builtInPreferenceSets; +- (void)_rebuildAvailableandUserSetsList; +- (void)dealloc; +- (id)initWithPreferenceSetClass:(Class)arg1; + +// Remaining properties +@property(copy) NSArray *availablePreferenceSets; // @dynamic availablePreferenceSets; +@property(readonly) NSMutableArray *mutableAvailablePreferenceSets; // @dynamic mutableAvailablePreferenceSets; +@property(readonly) NSMutableArray *mutableUserPreferenceSets; // @dynamic mutableUserPreferenceSets; +@property(copy) NSArray *userPreferenceSets; // @dynamic userPreferenceSets; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTSourceLanguageSourceModelService.h b/SCXcodeMinimap/Xcode Headers/DVTSourceLanguageSourceModelService.h new file mode 100644 index 0000000..dc7df3b --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTSourceLanguageSourceModelService.h @@ -0,0 +1,15 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +@protocol DVTSourceLanguageSourceModelService +- (struct _NSRange)rangeForBlockContainingRange:(struct _NSRange)arg1; +- (NSString *)stringForItem:(DVTSourceModelItem *)arg1; +- (DVTSourceModelItem *)commonSourceModelItemAtRange:(struct _NSRange)arg1; +- (DVTSourceModelItem *)sourceModelItemAtCharacterIndex:(unsigned long long)arg1; +- (DVTSourceModelItem *)sourceModelItemAtCharacterIndex:(unsigned long long)arg1 affinity:(unsigned long long)arg2; +- (DVTSourceModel *)sourceModelWithoutParsing; +- (DVTSourceModel *)sourceModel; +@end \ No newline at end of file diff --git a/SCXcodeMinimap/Xcode Headers/DVTSourceModel.h b/SCXcodeMinimap/Xcode Headers/DVTSourceModel.h new file mode 100644 index 0000000..8a54d6f --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTSourceModel.h @@ -0,0 +1,92 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTSourceModelItem.h" + +@interface DVTSourceModel : NSObject +{ + struct _NSRange _dirtyRange; + long long _batchDelta; + DVTSourceModelItem *_sourceItems; + BOOL _isDoingBatchEdit; +} + ++ (id)editorResponsivenessPerformanceLogAspect; ++ (void)initialize; +@property BOOL isDoingBatchEdit; // @synthesize isDoingBatchEdit=_isDoingBatchEdit; +@property long long batchDelta; // @synthesize batchDelta=_batchDelta; +@property struct _NSRange dirtyRange; // @synthesize dirtyRange=_dirtyRange; +@property(retain) DVTSourceModelItem *sourceItems; // @synthesize sourceItems=_sourceItems; +- (id)objCMethodNameForItem:(id)arg1 nameRanges:(id *)arg2; +- (BOOL)isItemDictionaryLiteral:(id)arg1; +- (BOOL)isItemObjectLiteral:(id)arg1; +- (BOOL)isItemForStatement:(id)arg1; +- (BOOL)isItemSemanticBlock:(id)arg1; +- (BOOL)isItemBracketExpression:(id)arg1; +- (BOOL)isItemAngleExpression:(id)arg1; +- (BOOL)isItemParenExpression:(id)arg1; +- (BOOL)isPostfixExpressionAtLocation:(unsigned long long)arg1; +- (BOOL)isInTokenizableCodeAtLocation:(unsigned long long)arg1; +- (BOOL)isInPlainCodeAtLocation:(unsigned long long)arg1; +- (BOOL)isInKeywordAtLocation:(unsigned long long)arg1; +- (BOOL)isIncompletionPlaceholderAtLocation:(unsigned long long)arg1; +- (BOOL)isInNumberConstantAtLocation:(unsigned long long)arg1; +- (BOOL)isInCharacterConstantAtLocation:(unsigned long long)arg1; +- (BOOL)isInIdentifierAtLocation:(unsigned long long)arg1; +- (BOOL)isInStringConstantAtLocation:(unsigned long long)arg1; +- (BOOL)isInIncludeStatementAtLocation:(unsigned long long)arg1; +- (BOOL)isInPreprocessorStatementAtLocation:(unsigned long long)arg1; +- (BOOL)isInDocCommentAtLocation:(unsigned long long)arg1; +- (BOOL)isInCommentAtLocation:(unsigned long long)arg1; +- (id)completionPlaceholderItemAtLocation:(unsigned long long)arg1; +- (id)identOrKeywordItemAtLocation:(unsigned long long)arg1; +- (id)objCDeclaratorItemAtLocation:(unsigned long long)arg1; +- (id)numberConstantAtLocation:(unsigned long long)arg1; +- (id)characterConstantAtLocation:(unsigned long long)arg1; +- (id)stringConstantAtLocation:(unsigned long long)arg1; +- (id)moduleImportStatementAtLocation:(unsigned long long)arg1; +- (id)includeStatementAtLocation:(unsigned long long)arg1; +- (id)preprocessorStatementAtLocation:(unsigned long long)arg1; +- (id)docCommentAtLocation:(unsigned long long)arg1; +- (id)commentAtLocation:(unsigned long long)arg1; +- (id)placeholderItemsFromItem:(id)arg1; +- (id)identifierItemsFromItem:(id)arg1; +- (id)commentBlockItems; +- (id)functionsAndMethodItems; +- (id)classItems; +- (void)addBlockItemsInTypeList:(long long *)arg1 fromItem:(id)arg2 toArray:(id)arg3; +- (void)addIdentifierItemsFromItem:(id)arg1 toArray:(id)arg2; +- (void)addItemsInTypeList:(long long *)arg1 fromItem:(id)arg2 toArray:(id)arg3; +- (id)functionOrMethodDefinitionAtLocation:(unsigned long long)arg1; +- (id)functionOrMethodAtLocation:(unsigned long long)arg1; +- (id)interfaceDeclarationAtLocation:(unsigned long long)arg1; +- (id)typeDeclarationAtLocation:(unsigned long long)arg1; +- (id)classAtLocation:(unsigned long long)arg1; +- (id)itemNameAtLocation:(unsigned long long)arg1 inTypeList:(long long *)arg2 nameRanges:(id *)arg3 scopeRange:(struct _NSRange *)arg4; +- (id)nameOfItem:(id)arg1 nameRanges:(id *)arg2 scopeRange:(struct _NSRange *)arg3; +- (void)enumerateIdentifierItemsInRange:(struct _NSRange)arg1 usingBlock:(id)arg2; +- (id)itemAtLocation:(unsigned long long)arg1 ofType:(id)arg2; +- (id)itemAtLocation:(unsigned long long)arg1 inTypeList:(long long *)arg2; +- (long long *)typeListForSpecNames:(id)arg1; +- (id)builtUpNameForItem:(id)arg1 nameRanges:(id *)arg2; +- (id)_builtUpNameForItem:(id)arg1 mutableNameRanges:(id)arg2; +- (id)_builtUpNameForSubTree:(id)arg1 mutableNameRanges:(id)arg2; +- (id)objectLiteralItemAtLocation:(unsigned long long)arg1; +- (id)parenItemAtLocation:(unsigned long long)arg1; +- (id)parenLikeItemAtLocation:(unsigned long long)arg1; +- (id)foldableBlockItemForLocation:(unsigned long long)arg1; +- (id)foldableBlockItemForLineAtLocation:(unsigned long long)arg1; +- (id)blockItemAtLocation:(unsigned long long)arg1; +- (long long)indentForItem:(id)arg1; +- (id)adjoiningItemAtLocation:(unsigned long long)arg1; +- (id)enclosingItemAtLocation:(unsigned long long)arg1; +- (id)_topLevelSourceItem; +- (void)parse; +- (void)doingBatchEdit:(BOOL)arg1; +- (void)dirtyRange:(struct _NSRange)arg1 changeInLength:(long long)arg2; +- (id)initWithSourceBufferProvider:(id)arg1; + +@end \ No newline at end of file diff --git a/SCXcodeMinimap/Xcode Headers/DVTSourceModelItem.h b/SCXcodeMinimap/Xcode Headers/DVTSourceModelItem.h new file mode 100644 index 0000000..555004f --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTSourceModelItem.h @@ -0,0 +1,99 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +@interface DVTSourceModelItem : NSObject +{ + int _rc; + struct _NSRange _relativeLocation; + long long _langId; + long long _token; + DVTSourceModelItem *_parent; + NSMutableArray *_children; + unsigned int _nodeType:15; + unsigned int _isOpaque:1; + unsigned int _dirty:1; + unsigned int _isBlock:1; + unsigned int _ignoreToken:1; + unsigned int _inheritsNodeType:1; + unsigned int _isIdentifier:1; + unsigned int _needsAdjustNodeType:1; + unsigned int _isSimpleToken:1; + unsigned int _isVolatile:1; + unsigned int _needToDirtyRightEdges:1; +} + ++ (id)sourceModelItemWithRange:(struct _NSRange)arg1 language:(long long)arg2 token:(long long)arg3 nodeType:(short)arg4; +@property struct _NSRange relativeLocation; // @synthesize relativeLocation=_relativeLocation; +@property(retain, nonatomic) NSMutableArray *children; // @synthesize children=_children; +@property(nonatomic) DVTSourceModelItem *parent; // @synthesize parent=_parent; +@property long long token; // @synthesize token=_token; +@property long long langId; // @synthesize langId=_langId; +- (void)enumerateIdentifierItemsInRelativeRange:(struct _NSRange)arg1 usingBlock:(id)arg2; +- (void)clearAdjustedNodeTypes; +- (long long)compare:(id)arg1; +- (id)followingItem; +- (id)precedingItem; +- (id)_lastLeafItem; +- (id)_firstLeafItem; +- (id)nextItem; +- (id)previousItem; +- (BOOL)isAncestorOf:(id)arg1; +- (id)childAdjoiningLocation:(unsigned long long)arg1; +- (id)childEnclosingLocation:(unsigned long long)arg1; +- (id)_childEnclosingLocation:(unsigned long long)arg1; +- (unsigned long long)indexOfChildAtLocation:(unsigned long long)arg1; +- (unsigned long long)indexOfChildAfterLocation:(unsigned long long)arg1; +- (unsigned long long)indexOfChildBeforeLocation:(unsigned long long)arg1; +- (unsigned long long)numberOfChildren; +- (void)addChildrenFromArray:(id)arg1 inRange:(struct _NSRange)arg2; +- (void)addChildren:(id)arg1; +- (void)addChild:(id)arg1; +- (void)assignAllParents:(id)arg1; +- (void)assignParents:(id)arg1; +- (BOOL)isVolatile; +- (void)setVolatile:(BOOL)arg1; +@property BOOL needsAdjustNodeType; +- (BOOL)needToDirtyRightEdges; +- (void)setNeedToDirtyRightEdges:(BOOL)arg1; +- (BOOL)isSimpleToken; +- (void)setIsSimpleToken:(BOOL)arg1; +- (BOOL)inheritsNodeType; +- (void)setInheritsNodeType:(BOOL)arg1; +- (BOOL)ignoreToken; +- (void)setIgnoreToken:(BOOL)arg1; +- (BOOL)dirty; +- (void)setDirty:(BOOL)arg1; +- (BOOL)isIdentifier; +- (short)rawNodeType; +- (BOOL)isOpaque; +- (void)setIsOpaque:(BOOL)arg1; +- (short)nodeType; +- (void)setNodeType:(short)arg1; +- (struct _NSRange)innerRange; +- (void)offsetBy:(long long)arg1; +- (void)setRange:(struct _NSRange)arg1; +- (struct _NSRange)range; +- (id)enclosingBlock; +- (long long)blockDepth; +- (void)setIsBlock:(BOOL)arg1; +- (BOOL)isBlock; +- (void)dirtyRange:(struct _NSRange)arg1 changeInLength:(long long)arg2; +- (void)dirtyRelativeRange:(struct _NSRange)arg1 changeInLength:(long long)arg2; +- (void)validate; +- (id)dumpContext; +- (id)contextArray; +- (id)simpleDescription; +- (id)diffableDescription; +- (id)description; +- (id)innerDescription:(id)arg1 showSelf:(BOOL)arg2; +- (id)initWithRange:(struct _NSRange)arg1 language:(long long)arg2 token:(long long)arg3 nodeType:(short)arg4; +- (BOOL)_isDeallocating; +- (BOOL)_tryRetain; +- (unsigned long long)retainCount; +- (oneway void)release; +- (id)retain; + +@end \ No newline at end of file diff --git a/SCXcodeMinimap/Xcode Headers/DVTSourceNodeTypes.h b/SCXcodeMinimap/Xcode Headers/DVTSourceNodeTypes.h new file mode 100644 index 0000000..6ac8f94 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTSourceNodeTypes.h @@ -0,0 +1,18 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import + +@interface DVTSourceNodeTypes : NSObject +{ +} + ++ (long long)nodeTypesCount; ++ (id)nodeTypeNameForId:(short)arg1; ++ (short)registerNodeTypeNamed:(id)arg1; ++ (void)initialize; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTSourceTextView.h b/SCXcodeMinimap/Xcode Headers/DVTSourceTextView.h new file mode 100644 index 0000000..d40085d --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTSourceTextView.h @@ -0,0 +1,370 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "DVTCompletingTextView.h" + +@class DVTAnnotationManager, DVTMutableRangeArray, DVTObservingToken, DVTTextAnnotationIndicatorAnimation, DVTTextDocumentLocation, DVTTextPageGuideVisualization, NSAnimation, NSArray, NSColor, NSHashTable, NSMutableArray, NSMutableIndexSet, NSString, NSTimer, NSView, NSWindow; + +@interface DVTSourceTextView : DVTCompletingTextView +{ + unsigned long long _oldFocusLocation; + NSAnimation *_blockAnimation; + struct CGPoint _lastMouseMovedLocation; + struct _NSRange _foldingHoverRange; + DVTTextAnnotationIndicatorAnimation *_annotationIndicatorAnimation; + unsigned long long _temporaryLinkHoverModifierFlags; + unsigned long long _temporaryLinkHoverAltModifierFlags; + NSArray *_clickedTemporaryLinkRanges; + NSMutableArray *_clickedLinkProgressIndicators; + struct _NSRange _ghostStringRange; + NSTimer *_autoHighlightTokenMenuTimer; + struct _NSRange _autoHighlightTokenMenuRange; + double _autoHighlightTokenMenuAnimationDuration; + NSTimer *_autoHighlightTokenMenuAnimationTimer; + double _autoHighlightTokenMenuAnimationStartTime; + NSWindow *_autoHighlightTokenWindow; + NSArray *_foundLocations; + DVTTextDocumentLocation *_currentFoundLocation; + NSMutableArray *_visualizations; + unsigned long long _pageGuideColumn; + DVTTextPageGuideVisualization *_pageGuideVisualization; + unsigned long long _locationOfAutoOpenedCloseBracket; + unsigned long long _locationOfOpenBracePendingClose; + NSTimer *_scrollbarMarkerUpdateTimer; + DVTAnnotationManager *_annotationManager; + NSHashTable *_preparedViewAnnotations; + NSView *_staticVisualizationView; + int _findResultStyle; + DVTMutableRangeArray *_typeOverCompletionRanges; + DVTMutableRangeArray *_typeOverCompletionOpenRanges; + NSString *_pendingTypeOverCompletion; + struct _NSRange _pendingTypeOverCompletionOpenRange; + NSMutableIndexSet *_linesNeedingToTrimTrailingShitespace; + BOOL _didChangeText; + struct { + unsigned int dDidFinishAnimatingScroll:1; + unsigned int dDidScroll:1; + unsigned int delegateRespondsToWillReturnPrintJobTitle:1; + unsigned int updatingInsertionPoint:1; + unsigned int wasPostsFrameChangedNotifications:1; + unsigned int doingDidChangeSelection:1; + unsigned int disableDrawingCurrentLineHighlight:1; + unsigned int delegateRespondsToConstrainMinAccessoryAnnotationWidth:1; + unsigned int delegateRespondsToConstrainMaxAccessoryAnnotationWidth:1; + unsigned int delegateRespondsToConstrainAccessoryAnnotationWidth:1; + } _sFlags; + BOOL _isDoingBatchEdit; + BOOL _allowsCodeFolding; + BOOL _showingCodeFocus; + BOOL _lastMouseEventWasClick; + BOOL _tokenizedEditingEnabled; + BOOL _animatesCurrentScroll; + BOOL _disableUpdatingInsertionPointCount; + BOOL _currentlyAutoCompletingBracket; + BOOL _wrapsLines; + BOOL _postsLayoutManagerNotifications; + BOOL _scrollingInScrollView; + DVTObservingToken *_autoHighlightTokenRangesObservingToken; + struct _NSRange _selectedRangeBeforeMouseDown; + BOOL _ensuringLayoutForScroll; + BOOL _suppressRecentColorTracking; + NSColor *_recentlySelectedColorToTrack; + struct _NSRange _recentlySelectedColorLiteralRange; +} + ++ (BOOL)isCompatibleWithResponsiveScrolling; ++ (BOOL)_shouldEnableResponsiveScrolling; ++ (id)keyPathsForValuesAffectingAccessoryAnnotationCollapsed; ++ (id)performanceLogAspect; ++ (id)foldingLogAspect; ++ (id)drawingLogAspect; ++ (void)initialize; + +@property BOOL postsLayoutManagerNotifications; // @synthesize postsLayoutManagerNotifications=_postsLayoutManagerNotifications; +@property int findResultStyle; // @synthesize findResultStyle=_findResultStyle; +@property(nonatomic) unsigned long long pageGuideColumn; // @synthesize pageGuideColumn=_pageGuideColumn; +@property(readonly) NSArray *visualizations; // @synthesize visualizations=_visualizations; +@property(nonatomic) struct _NSRange ghostStringRange; // @synthesize ghostStringRange=_ghostStringRange; +@property unsigned long long temporaryLinkHoverAltModifierFlags; // @synthesize temporaryLinkHoverAltModifierFlags=_temporaryLinkHoverAltModifierFlags; +@property unsigned long long temporaryLinkHoverModifierFlags; // @synthesize temporaryLinkHoverModifierFlags=_temporaryLinkHoverModifierFlags; +@property(nonatomic) BOOL wrapsLines; // @synthesize wrapsLines=_wrapsLines; + +- (id)mediaResourceProviderForLiteralInLayoutManager:(id)arg1; +- (id)directoriesForLiteralInLayoutManager:(id)arg1; +- (id)foldingTokenTypesForLayoutManager:(id)arg1; +- (void)doubleClickedOnCell:(id)arg1 inRect:(struct CGRect)arg2 atIndexInToken:(unsigned long long)arg3; +- (void)colorQuickEdit:(id)arg1 didSelectMoreColorOptions:(id)arg2; +- (void)colorQuickEdit:(id)arg1 didSelectColor:(id)arg2; +- (void)colorQuickEdit:(id)arg1 didHighlightColor:(id)arg2; +- (void)imageQuickEdit:(id)arg1 didClickMoreButtonForFilePath:(id)arg2; +- (void)imageQuickEdit:(id)arg1 didSelectFilePath:(id)arg2; +- (void)fileQuickEdit:(id)arg1 didClickMoreButtonForFilePath:(id)arg2; +- (void)fileQuickEdit:(id)arg1 didSelectFilePath:(id)arg2; +- (void)changeColor:(id)arg1; +- (void)updateSelectedColorLiteralWithColor:(id)arg1; +- (void)presentOpenPanelForObjectLiteralAtFilePath:(id)arg1; +- (void)presentPopoverRelativeToSelection:(id)arg1; +- (void)insertObjectLiteralSyntaxForObjects:(id)arg1 selectLastObjectLiteral:(BOOL)arg2; +- (BOOL)readObjectLiteralFromPasteboard:(id)arg1 type:(id)arg2; +- (BOOL)readSelectionFromPasteboard:(id)arg1 type:(id)arg2; +- (id)readablePasteboardTypes; +- (BOOL)performDragOperation:(id)arg1; +- (unsigned long long)dragOperationForDraggingInfo:(id)arg1 type:(id)arg2; +- (id)acceptableDragTypes; +- (id)_addingRedablePasteboardTypesForObjectLiterals:(id)arg1; +- (void)viewDidEndLiveResize; +- (void)viewWillStartLiveResize; +- (void)updateInsertionPointStateAndRestartTimer:(BOOL)arg1; +- (void)resignKeyWindow; +- (BOOL)resignFirstResponder; +- (void)_invalidateDisplayForViewStatusChange; +- (void)_reloadAnnotationProviders; +- (void)_unloadAnnotationProviders; +- (void)dvt_viewDidEndLiveAnimation; +- (void)dvt_viewWillBeginLiveAnimation; +- (void)_updateLayoutEstimation; +- (void)drawFoundLocationsInRange:(struct _NSRange)arg1; +- (id)_findResultUnderlineColor; +- (id)_findResultCurrentUnderlineColor; +- (id)_findResultGradient; +- (id)_findResultCurrentGradient; +- (void)setCurrentFoundLocation:(id)arg1; +- (void)setFoundLocations:(id)arg1; +- (void)unfoldAllComments:(id)arg1; +- (void)foldAllComments:(id)arg1; +- (void)unfoldAllMethods:(id)arg1; +- (void)foldAllMethods:(id)arg1; +- (void)unfoldRecursive:(id)arg1; +- (void)unfold:(id)arg1; +- (void)unfoldAll:(id)arg1; +- (void)foldSelection:(id)arg1; +- (void)foldRecursive:(id)arg1; +- (void)fold:(id)arg1; +- (BOOL)writeSelectionToPasteboard:(id)arg1 type:(id)arg2; +- (id)writablePasteboardTypes; +- (void)balance:(id)arg1; +- (void)shiftLeft:(id)arg1; +- (void)shiftRight:(id)arg1; +- (void)_indentSelectionByNumberOfLevels:(long long)arg1; +- (struct _NSRange)_indentInsertedTextIfNecessaryAtRange:(struct _NSRange)arg1; +- (void)indentSelectionIfIndentable:(id)arg1; +- (void)indentSelection:(id)arg1; +- (struct _NSRange)_adjustedSelectedRange:(struct _NSRange)arg1 fromChangeIndex:(unsigned long long)arg2; +- (void)moveCurrentLineDown:(id)arg1; +- (void)moveCurrentLineUp:(id)arg1; +- (void)_didChangeSelection:(id)arg1; +- (void)PBX_toggleShowsInvisibleCharacters:(id)arg1; +- (void)PBX_toggleShowsControlCharacters:(id)arg1; +- (void)useSelectionForReplace:(id)arg1; +- (BOOL)validateMenuItem:(id)arg1; +- (BOOL)validateUserInterfaceItem:(id)arg1; +- (void)layoutManager:(id)arg1 didCompleteLayoutForTextContainer:(id)arg2 atEnd:(BOOL)arg3; +- (id)layoutManager:(id)arg1 shouldUseTemporaryAttributes:(id)arg2 forDrawingToScreen:(BOOL)arg3 atCharacterIndex:(unsigned long long)arg4 effectiveRange:(struct _NSRange *)arg5; +- (id)accessibilityAXAttributedStringForCharacterRange:(struct _NSRange)arg1 parent:(id)arg2; +- (BOOL)scrollRectToVisible:(struct CGRect)arg1; +- (void)scrollPoint:(struct CGPoint)arg1; +- (void)setMarkedText:(id)arg1 selectedRange:(struct _NSRange)arg2 replacementRange:(struct _NSRange)arg3; +- (BOOL)shouldChangeTextInRanges:(id)arg1 replacementStrings:(id)arg2; +- (void)_invalidateAllRevealovers; +- (BOOL)isEditable; +- (void)moveDown:(id)arg1; +- (void)moveUp:(id)arg1; +- (BOOL)_couldHaveBlinkTimer; +- (BOOL)_shouldHaveBlinkTimer; +- (void)_centeredScrollRectToVisible:(struct CGRect)arg1 forceCenter:(BOOL)arg2; +- (void)scrollViewDidSetFrameSize:(id)arg1; +- (void)setFrameSize:(struct CGSize)arg1; +- (void)_adjustAccessoryAnnotations; +- (void)viewWillDraw; +- (void)viewWillMoveToWindow:(id)arg1; +- (void)breakUndoCoalescing; +- (void)didChangeText; +- (void)scrollRangeToVisible:(struct _NSRange)arg1 animate:(BOOL)arg2; +- (void)didEndScrollInScrollView:(id)arg1; +- (void)didBeginScrollInScrollView:(id)arg1; +- (void)scrollRangeToVisible:(struct _NSRange)arg1; +- (void)flagsChanged:(id)arg1; +- (void)selectPreviousToken:(id)arg1; +- (void)selectNextToken:(id)arg1; +- (void)toggleTokenizedEditing:(id)arg1; +- (void)textStorage:(id)arg1 didEndEditRange:(struct _NSRange)arg2 changeInLength:(long long)arg3; +- (void)textStorage:(id)arg1 willEndEditRange:(struct _NSRange)arg2 changeInLength:(long long)arg3; +- (void)didEndTokenizedEditingWithRanges:(id)arg1; +- (void)willStartTokenizedEditingWithRanges:(id)arg1; +- (void)_scheduleAutoHighlightTokenMenuTimerIfNeeded; +- (void)_showAutoHighlightTokenMenuWithTimer:(id)arg1; +- (id)_autoHighlightTokenWindowWithTokenRect:(struct CGRect)arg1; +- (void)_scheduleAutoHighlightTokenMenuAnimationTimerIfNeeded; +- (struct CGRect)_hitTestRectForAutoHighlightTokenWindow:(id)arg1; +- (struct CGRect)_autoHighlightTokenRectAtPoint:(struct CGPoint)arg1; +- (struct _NSRange)_autoHighlightTokenMenuRangeAtPoint:(struct CGPoint)arg1; +- (void)_animateAutoHighlightTokenMenuWithTimer:(id)arg1; +- (void)_popUpTokenMenu:(id)arg1; +- (id)_autoHighlightTokenMenu; +- (void)_clearAutoHighlightTokenMenu; +- (void)removeStaticVisualizationView; +- (void)addStaticVisualizationView:(id)arg1; +- (void)adjustTypeOverCompletionForSelectionChange:(struct _NSRange)arg1; +- (void)removeInvalidTypeOverCompletion; +- (void)removeTypeOverCompletionIfAppropriateForEditedRange:(struct _NSRange)arg1 changeInLength:(long long)arg2; +- (void)adjustTypeOverCompletionForEditedRange:(struct _NSRange)arg1 changeInLength:(long long)arg2; +- (void)addTypeOverCompletionForRange:(struct _NSRange)arg1 openRange:(struct _NSRange)arg2; +- (struct _NSRange)lastTypeOverCompletionRange; +- (struct _NSRange)typeOverCompletionRangeFollowingLocation:(unsigned long long)arg1; +- (void)textCompletionSession:(id)arg1 didInsertCompletionItem:(id)arg2 range:(struct _NSRange)arg3; +- (struct _NSRange)_suggestedOpenRangeForTypeOverRange:(struct _NSRange)arg1; +- (BOOL)shouldAutoCompleteAtLocation:(unsigned long long)arg1; +- (BOOL)shouldSuppressTextCompletion; +- (id)contextForCompletionStrategiesAtWordStartLocation:(unsigned long long)arg1; +- (void)autoInsertCloseBrace; +- (void)deleteExpressionBackward:(id)arg1; +- (void)deleteExpressionForward:(id)arg1; +- (void)moveExpressionBackwardAndModifySelection:(id)arg1; +- (void)moveExpressionBackward:(id)arg1; +- (void)moveExpressionForwardAndModifySelection:(id)arg1; +- (void)moveExpressionForward:(id)arg1; +- (void)deleteSubWordBackward:(id)arg1; +- (void)deleteSubWordForward:(id)arg1; +- (void)moveSubWordBackwardAndModifySelection:(id)arg1; +- (void)moveSubWordForwardAndModifySelection:(id)arg1; +- (void)moveSubWordBackward:(id)arg1; +- (void)moveSubWordForward:(id)arg1; +- (void)deleteForward:(id)arg1; +- (void)deleteBackward:(id)arg1; +- (void)pasteAndPreserveFormatting:(id)arg1; +- (void)paste:(id)arg1; +- (void)_paste:(id)arg1 indent:(BOOL)arg2; +- (void)insertNewline:(id)arg1; +- (BOOL)handleInsertNewline; +- (BOOL)handleInsertTab; +- (BOOL)handleSelectPreviousPlaceholder; +- (BOOL)handleSelectNextPlaceholder; +- (BOOL)isCandidateTypeOverString:(id)arg1; +- (id)autoCloseStringForString:(id)arg1; +- (void)insertText:(id)arg1; +- (id)foldString; +- (void)setFoldsFromString:(id)arg1; +- (struct CGRect)frameForRange:(struct _NSRange)arg1 ignoreWhitespace:(BOOL)arg2; +- (struct _NSRange)visibleParagraphRange; +- (long long)_currentLineNumber; +- (struct _NSRange)rangeOfCenterLine; +- (void)doingBatchEdit:(BOOL)arg1; +- (void)quickLookWithEvent:(id)arg1; +- (void)rightMouseDown:(id)arg1; +- (void)rightMouseUp:(id)arg1; +- (void)mouseDragged:(id)arg1; +- (void)mouseUp:(id)arg1; +- (void)mouseDown:(id)arg1; +- (void)scrollWheel:(id)arg1; +- (void)_clipViewAncestorDidScroll:(id)arg1; +- (void)_finishedAnimatingScroll; +- (void)mouseMoved:(id)arg1; +- (void)_mouseInside:(id)arg1; +- (void)resetCursorRects; +- (void)keyDown:(id)arg1; +- (void)removeFromSuperview; +- (void)viewDidMoveToWindow; +- (void)_refreshScrollerMarkers; +- (double)_markForLineNumber:(unsigned long long)arg1; +- (void)setUsesMarkedScrollbar:(BOOL)arg1; +- (id)attributedStringForCompletionPlaceholderCell:(id)arg1 atCharacterIndex:(unsigned long long)arg2 withDefaultAttributes:(id)arg3; +- (void)clickedOnCell:(id)arg1 inRect:(struct CGRect)arg2 atIndexInToken:(unsigned long long)arg3; +- (void)_showTemporaryLinkForExpressionUnderMouse:(BOOL)arg1 isAlternate:(BOOL)arg2; +- (void)_didClickOnTemporaryLinkWithEvent:(id)arg1; +- (void)_updateTemporaryLinkUnderMouseForEvent:(id)arg1; +- (unsigned long long)_nonBlankCharIndexUnderMouse; +- (void)_clearClickedLinkProgressIndicators; +- (void)_adjustClickedLinkProgressIndicators; +- (void)_adjustClickedLinkProgressIndicator:(id)arg1 withRect:(struct CGRect)arg2; +- (void)_showClickedLinkProgressIndicators; +- (void)_invalidateClickedLinks; +- (id)_clickedLinkProgressIndicatorWithRect:(struct CGRect)arg1; +- (void)animation:(id)arg1 didReachProgressMark:(float)arg2; +- (void)animationDidEnd:(id)arg1; +- (void)animationDidStop:(id)arg1; +- (BOOL)animationShouldStart:(id)arg1; +- (void)stopBlockHighlighting; +- (void)startBlockHighlighting; +- (id)codeFocusBlockAnimation; +- (void)focusLocationMayHaveChanged:(id)arg1; +- (void)toggleCodeFocus:(id)arg1; +- (BOOL)codeFocusFollowsSelection; +- (void)_drawViewBackgroundInRect:(struct CGRect)arg1; +- (void)_drawCurrentLineHighlight:(struct CGRect)arg1; +- (void)_drawCaretForTextAnnotationsInRect:(struct CGRect)arg1; +- (void)drawTextAnnotationsInRect:(struct CGRect)arg1; +- (long long)_drawRoundedBackgroundForFoldableBlockRangeAtLocation:(unsigned long long)arg1; +- (double)_grayLevelForDepth:(long long)arg1; +- (id)alternateColor; +- (void)setFoldingHoverRange:(struct _NSRange)arg1; +- (struct _NSRange)foldingHoverRange; +- (void)_loadFontsAndColorsFromTheme:(id)arg1; +- (void)_fontAndColorSettingsChanged:(id)arg1; +- (void)_scheduleAnnotationLayout; +- (void)drawRect:(struct CGRect)arg1; +- (void)prepareContentInRect:(struct CGRect)arg1; +- (unsigned long long)foldedCharacterIndexForPoint:(struct CGPoint)arg1; +- (void)setSelectedRanges:(id)arg1 affinity:(unsigned long long)arg2 stillSelecting:(BOOL)arg3; +- (void)_delayedTrimTrailingWhitespaceForLines; +- (void)trimTrailingWhitespaceOnLine:(unsigned long long)arg1; +- (void)_trimTrailingWhitespaceOnLineAfterIndent:(unsigned long long)arg1 trimWhitespaceOnlyLine:(BOOL)arg2; +- (void)trimTrailingWhitespaceOnLine:(unsigned long long)arg1 trimWhitespaceOnlyLine:(BOOL)arg2; +- (void)trimTrailingWhitespaceOnLineFromCharacterIndex:(unsigned long long)arg1 trimWhitespaceOnlyLine:(BOOL)arg2; +- (BOOL)shouldTrimTrailingWhitespace; +- (void)setSelectedRange:(struct _NSRange)arg1; +- (void)contextMenu_toggleMessageBubbleShown:(id)arg1; +- (void)toggleMessageBubbleShown:(id)arg1; +@property(readonly, getter=isAccessoryAnnotationCollapsed) BOOL accessoryAnnotationCollapsed; +- (void)setAccessoryAnnotationWidth:(double)arg1; +- (double)_maxAllowableAccessoryAnnotationWidth; +- (double)_minAllowableAccessoryAnnotationWidth; +@property(readonly) double maxPossibleAccessoryAnnotationWidth; +@property(readonly) double minPossibleAccessoryAnnotationWidth; +- (void)_updateAccessoryAnnotationViewsInRect:(struct CGRect)arg1; +- (void)_adjustSizeOfAccessoryAnnotation:(id)arg1; +- (void)showAnnotation:(id)arg1 animateIndicator:(BOOL)arg2; +- (void)_animateBubbleView:(id)arg1; +- (void)didRemoveAnnotations:(id)arg1; +- (void)didAddAnnotations:(id)arg1; +- (id)visibleAnnotationsForLineNumberRange:(struct _NSRange)arg1; +- (id)annotationForRepresentedObject:(id)arg1; +@property(readonly) NSArray *annotations; +@property(retain) DVTAnnotationManager *annotationManager; // @synthesize annotationManager=_annotationManager; +- (void)setShowsFoldingSidebar:(BOOL)arg1; +- (BOOL)showsFoldingSidebar; +- (void)getParagraphRect:(struct CGRect *)arg1 firstLineRect:(struct CGRect *)arg2 forLineRange:(struct _NSRange)arg3 ensureLayout:(BOOL)arg4; +- (struct _NSRange)lineNumberRangeForBoundingRect:(struct CGRect)arg1; +- (unsigned long long)lineNumberForPoint:(struct CGPoint)arg1; +- (id)printJobTitle; +- (id)language; +- (BOOL)allowsCodeFolding; +- (void)setAllowsCodeFolding:(BOOL)arg1; +- (void)setTextStorage:(id)arg1; +- (void)setTextStorage:(id)arg1 keepOldLayout:(BOOL)arg2; +- (void)setTextContainer:(id)arg1; +- (id)initWithCoder:(id)arg1; +- (void)dealloc; +- (id)initWithFrame:(struct CGRect)arg1 textContainer:(id)arg2; +- (void)_commonInitDVTSourceTextView; +- (id)menuForEvent:(id)arg1; +- (BOOL)shouldIndentPastedText:(id)arg1; +- (void)indentUserChangeBy:(long long)arg1; +- (id)accessibilityHitTest:(struct CGPoint)arg1; +- (id)accessibilityAttributeValue:(id)arg1; +- (id)accessibilityProxyForSelectedRange:(struct _NSRange)arg1; +- (id)_accessibilityProxiesByRange; +- (double)fmc_maxY; +- (double)fmc_startOfLine:(long long)arg1; +- (long long)fmc_lineNumberForPosition:(double)arg1; + +// Remaining properties +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) Class superclass; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTTextAnnotation.h b/SCXcodeMinimap/Xcode Headers/DVTTextAnnotation.h new file mode 100644 index 0000000..1b2993e --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTTextAnnotation.h @@ -0,0 +1,109 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTAnnotation.h" + +@class DVTMutableRangeArray, DVTSourceLandmarkItem, DVTTextDocumentLocation, NSArray, NSImage, NSMutableArray, NSMutableDictionary; + +@interface DVTTextAnnotation : DVTAnnotation +{ + NSMutableArray *_layoutManagers; + NSMutableDictionary *_themesByState; + DVTTextDocumentLocation *_location; + NSArray *_secondaryLocations; + DVTMutableRangeArray *_highlightedRanges; + struct _NSRange _paragraphRange; + unsigned long long _paragraphHash; + NSImage *_sidebarMarkerImage; + double _sidebarMarkerVerticalPadding; + double _sidebarMarkerHorizontalOffset; + double _sidebarMarkerOpacity; + unsigned long long _highlightSidebarStyle; + unsigned long long _severity; + struct { + unsigned int sidebarMarkerAlignment:4; + unsigned int wantsDisplayOverLineNumber:1; + unsigned int wantsReplaceLineNumber:1; + unsigned int wantsInvertedLineNumber:1; + unsigned int shouldDrawTemplateInverted:1; + unsigned int lineHighlightVisible:1; + unsigned int highlightedRangesVisible:1; + unsigned int userDraggable:1; + unsigned int userRemovable:1; + unsigned int isParagraphEdited:1; + } _taFlags; + BOOL _wantsScrollbarMarker; + BOOL _scrollbarMarkerHighlight; + BOOL _lazyInvalidation; + int _annotationStackPolicy; +} + ++ (void)drawLineHighlightForAnnotations:(id)arg1 highlightRanges:(BOOL)arg2 textView:(id)arg3 getParaRectBlock:(id)arg4; ++ (void)sortAndFilterSupressedAnnotationsInArray:(id)arg1 usingComparisonSelector:(SEL)arg2; ++ (id)logAspect; ++ (void)initialize; +@property BOOL lazyInvalidation; // @synthesize lazyInvalidation=_lazyInvalidation; +@property BOOL scrollbarMarkerHighlight; // @synthesize scrollbarMarkerHighlight=_scrollbarMarkerHighlight; +@property BOOL wantsScrollbarMarker; // @synthesize wantsScrollbarMarker=_wantsScrollbarMarker; +@property(nonatomic) double sidebarMarkerOpacity; // @synthesize sidebarMarkerOpacity=_sidebarMarkerOpacity; +@property(nonatomic) unsigned long long highlightSidebarStyle; // @synthesize highlightSidebarStyle=_highlightSidebarStyle; +@property(nonatomic) double sidebarMarkerHorizontalOffset; // @synthesize sidebarMarkerHorizontalOffset=_sidebarMarkerHorizontalOffset; +@property double sidebarMarkerVerticalPadding; // @synthesize sidebarMarkerVerticalPadding=_sidebarMarkerVerticalPadding; +@property(retain, nonatomic) NSImage *sidebarMarkerImage; // @synthesize sidebarMarkerImage=_sidebarMarkerImage; +@property int annotationStackPolicy; // @synthesize annotationStackPolicy=_annotationStackPolicy; +@property unsigned long long severity; // @synthesize severity=_severity; +@property(readonly) struct _NSRange paragraphRange; // @synthesize paragraphRange=_paragraphRange; +@property(retain, nonatomic) DVTTextDocumentLocation *location; // @synthesize location=_location; +- (id)annotationDisplayDescription; +- (BOOL)isFocusedInTextView:(id)arg1; +- (void)adjustParagraphIndexBy:(long long)arg1 lengthBy:(long long)arg2; +- (id)description; +- (void)fontAndColorThemeChanged:(id)arg1; +- (void)invalidateDisplayAndLayoutIfNeeded:(BOOL)arg1; +- (void)setNeedsInvalidate; +- (long long)comparePrecedenceAndLayering:(id)arg1; +- (struct CGRect)sidebarMarkerRectForFirstLineRect:(struct CGRect)arg1; +- (id)currentStateInTextView:(id)arg1; +- (void)drawHighlightedRangesInRect:(struct CGRect)arg1 textView:(id)arg2; +- (BOOL)drawsHighlightedRanges; +- (void)drawLineHighlightInRect:(struct CGRect)arg1 textView:(id)arg2; +- (BOOL)drawsLineHighlight; +- (void)drawSidebarMarkerIconInRect:(struct CGRect)arg1 textView:(id)arg2; +- (void)annotationWillDrawInTextView:(id)arg1; +@property(getter=isUserRemovable) BOOL userRemovable; +@property(getter=isUserDraggable) BOOL userDraggable; +- (void)synchronizeHighlightedRangesWithLocationsForTextStorage:(id)arg1; +- (void)removeAllHighlightedRanges; +- (void)removeHighlightedRange:(struct _NSRange)arg1; +- (void)removeHighlightedRangeAtIndex:(long long)arg1; +- (void)insertHighlightedRange:(struct _NSRange)arg1 atIndex:(long long)arg2; +- (void)addHighlightedRange:(struct _NSRange)arg1; +- (void)removeObjectFromHighlightedRangesAtIndex:(unsigned long long)arg1; +- (void)insertObject:(id)arg1 inHighlightedRangesAtIndex:(unsigned long long)arg2; +@property(copy) NSArray *highlightedRanges; // @synthesize highlightedRanges=_highlightedRanges; +@property(getter=isHighlightedRangesVisible) BOOL highlightedRangesVisible; +- (id)_highlightedRanges; +@property(getter=isLineHighlightVisible) BOOL lineHighlightVisible; +@property(readonly) DVTSourceLandmarkItem *enclosingLandmarkItem; +@property BOOL shouldDrawTemplateInverted; +@property BOOL wantsInvertedLineNumber; +@property BOOL wantsReplaceLineNumber; +@property BOOL wantsDisplayOverLineNumber; +- (void)setSidebarMarkerTopMargin:(double)arg1; +@property unsigned long long sidebarMarkerAlignment; +- (void)setVisible:(BOOL)arg1; +- (void)setTheme:(id)arg1 forState:(id)arg2; +- (id)themeForState:(id)arg1; +- (void)resolveLocationIfNeededForLayoutManager:(id)arg1; +@property(getter=isParagraphEdited) BOOL paragraphEdited; +@property(copy) NSArray *secondaryLocations; // @synthesize secondaryLocations=_secondaryLocations; +- (void)removeLayoutManager:(id)arg1; +- (void)addLayoutManager:(id)arg1; +@property(readonly) NSArray *layoutManagers; +- (void)dealloc; +- (id)init; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTTextDocumentLocation.h b/SCXcodeMinimap/Xcode Headers/DVTTextDocumentLocation.h new file mode 100644 index 0000000..f00c63c --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTTextDocumentLocation.h @@ -0,0 +1,38 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTDocumentLocation.h" + +@interface DVTTextDocumentLocation : DVTDocumentLocation +{ + long long _startingColumnNumber; + long long _endingColumnNumber; + long long _startingLineNumber; + long long _endingLineNumber; + struct _NSRange _characterRange; +} + +@property(readonly) struct _NSRange characterRange; // @synthesize characterRange=_characterRange; +@property(readonly) long long endingLineNumber; // @synthesize endingLineNumber=_endingLineNumber; +@property(readonly) long long startingLineNumber; // @synthesize startingLineNumber=_startingLineNumber; +@property(readonly) long long endingColumnNumber; // @synthesize endingColumnNumber=_endingColumnNumber; +@property(readonly) long long startingColumnNumber; // @synthesize startingColumnNumber=_startingColumnNumber; +- (id)copyWithURL:(id)arg1; +- (long long)compare:(id)arg1; +- (BOOL)isEqualDisregardingTimestamp:(id)arg1; +- (BOOL)isEqualToDocumentLocationDisregardingDocumentURL:(id)arg1; +- (BOOL)isEqual:(id)arg1; +@property(readonly) struct _NSRange lineRange; +- (id)description; +- (void)dvt_writeToSerializer:(id)arg1; +- (id)dvt_initFromDeserializer:(id)arg1; +- (void)encodeWithCoder:(id)arg1; +- (id)initWithCoder:(id)arg1; +- (id)initWithDocumentURL:(id)arg1 timestamp:(id)arg2 characterRange:(struct _NSRange)arg3; +- (id)initWithDocumentURL:(id)arg1 timestamp:(id)arg2 lineRange:(struct _NSRange)arg3; +- (id)initWithDocumentURL:(id)arg1 timestamp:(id)arg2 startingColumnNumber:(long long)arg3 endingColumnNumber:(long long)arg4 startingLineNumber:(long long)arg5 endingLineNumber:(long long)arg6 characterRange:(struct _NSRange)arg7; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTTextStorage.h b/SCXcodeMinimap/Xcode Headers/DVTTextStorage.h new file mode 100644 index 0000000..669faea --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTTextStorage.h @@ -0,0 +1,19 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTSourceModel.h" +#import "DVTSourceLanguageSourceModelService.h" + +@interface DVTTextStorage : NSTextStorage + +@property DVTSourceModel* sourceModel; +@property(readonly) id sourceModelService; // DVTSourceTextStorage + +-(NSColor*)colorAtCharacterIndex:(unsigned long long)charIndex effectiveRange:(NSRangePointer)range context:(id)context; + +-(short)nodeTypeAtCharacterIndex:(unsigned long long)charIndex effectiveRange:(NSRangePointer)range context:(id)context; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/DVTTextView.h b/SCXcodeMinimap/Xcode Headers/DVTTextView.h new file mode 100644 index 0000000..2c3ee8b --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTTextView.h @@ -0,0 +1,22 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +@interface DVTTextView : NSTextView +{ + BOOL _settingMinSizeForClipView; + BOOL _minWidthTracksClipView; + BOOL _minHeightTracksClipView; +} + +@property BOOL minHeightTracksClipView; // @synthesize minHeightTracksClipView=_minHeightTracksClipView; +@property BOOL minWidthTracksClipView; // @synthesize minWidthTracksClipView=_minWidthTracksClipView; +- (void)setMinSize:(struct CGSize)arg1; +- (void)_superviewClipViewFrameChanged:(id)arg1; +- (id)initWithCoder:(id)arg1; +- (id)initWithFrame:(struct CGRect)arg1 textContainer:(id)arg2; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/DVTViewController.h b/SCXcodeMinimap/Xcode Headers/DVTViewController.h new file mode 100644 index 0000000..8da4b8f --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/DVTViewController.h @@ -0,0 +1,50 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import + +@class DVTExtension, DVTStackBacktrace, NSString; + +@interface DVTViewController : NSViewController +{ + DVTExtension *_representedExtension; + BOOL _isViewLoaded; + BOOL _didCallViewWillUninstall; + void *_keepSelfAliveUntilCancellationRef; +} + ++ (id)defaultViewNibBundle; ++ (id)defaultViewNibName; ++ (void)initialize; +@property(retain, nonatomic) DVTExtension *representedExtension; // @synthesize representedExtension=_representedExtension; +@property BOOL isViewLoaded; // @synthesize isViewLoaded=_isViewLoaded; +- (void)primitiveInvalidate; +- (void)invalidate; +- (BOOL)commitEditingForAction:(int)arg1 errors:(id)arg2; +- (void)_willUninstallContentView:(id)arg1; +- (void)_didInstallContentView:(id)arg1; +- (void)viewWillUninstall; +- (void)viewDidInstall; +- (void)loadView; +- (void)setView:(id)arg1; +- (void)separateKeyViewLoops; +- (BOOL)delegateFirstResponder; +- (id)supplementalMainViewController; +- (id)description; +- (BOOL)becomeFirstResponder; +- (id)view; +- (id)initWithCoder:(id)arg1; +- (id)initWithNibName:(id)arg1 bundle:(id)arg2; +- (id)initUsingDefaultNib; +- (void)dvtViewController_commonInit; +@property(readonly) BOOL canBecomeMainViewController; + +// Remaining properties +@property(retain) DVTStackBacktrace *creationBacktrace; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; +@property(readonly, nonatomic, getter=isValid) BOOL valid; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEBreakpoint.h b/SCXcodeMinimap/Xcode Headers/IDEBreakpoint.h new file mode 100644 index 0000000..bff12aa --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEBreakpoint.h @@ -0,0 +1,78 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +@class DVTMapTable, DVTStackBacktrace, IDEBreakpointBucket, NSArray, NSMutableArray, NSMutableSet, NSSet, NSString; + +@interface IDEBreakpoint : NSObject +{ + NSString *_displayName; + IDEBreakpointBucket *_bucket; + NSMutableSet *_matchedModuleNames; + BOOL _shouldBeEnabled; + int _debuggerState; + unsigned long long _ignoreCount; + unsigned long long _hitCount; + NSString *_condition; + BOOL _continueAfterRunningActions; + NSMutableArray *_actions; + NSMutableArray *_locations; + DVTMapTable *_actionsToSetsOfObservers; + int _breakpointStackSelectionBehavior; + NSString *_customStopReasonString; +} + ++ (id)propertiesAffectingPersistenceState; ++ (void)initialize; +@property(retain) NSString *customStopReasonString; // @synthesize customStopReasonString=_customStopReasonString; +@property int breakpointStackSelectionBehavior; // @synthesize breakpointStackSelectionBehavior=_breakpointStackSelectionBehavior; +@property unsigned long long hitCount; // @synthesize hitCount=_hitCount; +@property BOOL continueAfterRunningActions; // @synthesize continueAfterRunningActions=_continueAfterRunningActions; +@property(copy) NSString *condition; // @synthesize condition=_condition; +@property unsigned long long ignoreCount; // @synthesize ignoreCount=_ignoreCount; +@property int debuggerState; // @synthesize debuggerState=_debuggerState; +@property(nonatomic) BOOL shouldBeEnabled; // @synthesize shouldBeEnabled=_shouldBeEnabled; +@property(retain) IDEBreakpointBucket *bucket; // @synthesize bucket=_bucket; +@property(copy) NSString *displayName; // @synthesize displayName=_displayName; +- (void)primitiveInvalidate; +- (void)addLocations:(id)arg1 fromXMLUnarchiver:(id)arg2; +- (void)addActions:(id)arg1 fromXMLUnarchiver:(id)arg2; +- (id)_actionArchivingProxiesArray; +- (void)dvt_encodeRelationshipsWithXMLArchiver:(id)arg1 version:(id)arg2; +- (void)setBreakpointStackSelectionBehaviorFromUTF8String:(char *)arg1 fromXMLUnarchiver:(id)arg2; +- (void)setContinueAfterRunningActionsFromUTF8String:(char *)arg1 fromXMLUnarchiver:(id)arg2; +- (void)setShouldBeEnabledFromUTF8String:(char *)arg1 fromXMLUnarchiver:(id)arg2; +- (BOOL)_booleanValueFromUTF8String:(char *)arg1; +- (void)dvt_encodeAttributesWithXMLArchiver:(id)arg1 version:(id)arg2; +- (id)initFromXMLUnarchiver:(id)arg1 archiveVersion:(float)arg2; +- (void)_handleActionsChanged:(id)arg1; +- (void)resetActionExpressionResults; +- (void)locationWasRemoved:(id)arg1; +- (void)_updateLocation:(id)arg1 fromLocation:(id)arg2; +- (void)_locationWasResolved:(id)arg1 currentLocations:(id)arg2; +- (unsigned long long)_indexOfSimilarBreakpointLocationMatching:(id)arg1 inLocations:(id)arg2; +- (void)locationWasResolved:(id)arg1; +- (void)setInitialResolvedLocations:(id)arg1; +@property(readonly) BOOL locationsProvideAdditionalInformation; +- (void)toggleShouldBeEnabled; +- (void)_notifyPersistencyStateChanged; +- (void)primitiveSetBucket:(id)arg1; +- (id)description; +- (id)copyWithZone:(struct _NSZone *)arg1; +- (id)init; +- (void)_dvt_commonInit; + +// Remaining properties +@property(copy) NSArray *actions; // @dynamic actions; +@property(retain) DVTStackBacktrace *creationBacktrace; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; +@property(readonly) NSArray *locations; // @dynamic locations; +@property(copy) NSSet *matchedModuleNames; // @dynamic matchedModuleNames; +@property(readonly) NSMutableArray *mutableActions; // @dynamic mutableActions; +@property(readonly) NSMutableArray *mutableLocations; // @dynamic mutableLocations; +@property(readonly) NSMutableSet *mutableMatchedModuleNames; // @dynamic mutableMatchedModuleNames; +@property(readonly, nonatomic, getter=isValid) BOOL valid; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEBuildIssueAnnotation.h b/SCXcodeMinimap/Xcode Headers/IDEBuildIssueAnnotation.h new file mode 100644 index 0000000..a3c5eb3 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEBuildIssueAnnotation.h @@ -0,0 +1,25 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTMessageBubbleAnnotation.h" + +@interface IDEBuildIssueAnnotation : DVTMessageBubbleAnnotation +{ +} + ++ (BOOL)scrollbarMarkerHighlight; ++ (BOOL)wantsScrollbarMarker; ++ (id)editedTheme; ++ (id)focusedTheme; ++ (id)normalTheme; ++ (id)sidebarIcon; ++ (unsigned long long)severity; ++ (double)precedence; +- (id)init; +- (id)annotationDisplayDescription; +- (id)annotationDisplayName; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEBuildIssueErrorAnnotation.h b/SCXcodeMinimap/Xcode Headers/IDEBuildIssueErrorAnnotation.h new file mode 100644 index 0000000..f881f70 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEBuildIssueErrorAnnotation.h @@ -0,0 +1,23 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "IDEBuildIssueAnnotation.h" + +@interface IDEBuildIssueErrorAnnotation : IDEBuildIssueAnnotation +{ +} + ++ (BOOL)scrollbarMarkerHighlight; ++ (BOOL)wantsScrollbarMarker; ++ (id)editedTheme; ++ (id)focusedTheme; ++ (id)normalTheme; ++ (id)sidebarIcon; ++ (unsigned long long)severity; ++ (double)precedence; +- (id)annotationDisplayName; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEBuildIssueWarningAnnotation.h b/SCXcodeMinimap/Xcode Headers/IDEBuildIssueWarningAnnotation.h new file mode 100644 index 0000000..7fee083 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEBuildIssueWarningAnnotation.h @@ -0,0 +1,23 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "IDEBuildIssueAnnotation.h" + +@interface IDEBuildIssueWarningAnnotation : IDEBuildIssueAnnotation +{ +} + ++ (BOOL)scrollbarMarkerHighlight; ++ (BOOL)wantsScrollbarMarker; ++ (id)editedTheme; ++ (id)focusedTheme; ++ (id)normalTheme; ++ (id)sidebarIcon; ++ (unsigned long long)severity; ++ (double)precedence; +- (id)annotationDisplayName; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEComparisonEditor.h b/SCXcodeMinimap/Xcode Headers/IDEComparisonEditor.h new file mode 100644 index 0000000..dbf697b --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEComparisonEditor.h @@ -0,0 +1,194 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "IDEEditor.h" + +@class DVTBindingToken, DVTComparisonDocumentLocation, DVTDispatchLock, DVTObservingToken, DVTPerformanceMetric, DVTReplacementView, IDEComparisonEditorAutoLayoutView, IDEComparisonEditorSubmode, IDEComparisonNavTimelineBar, IDEComparisonToolbar, IDEEditorDocument, IDENavigableItem, IDENavigableItemCoordinator, IDESourceControlConflictResolutionController, IDESourceControlInteractiveCommitController, NSArray, NSDictionary, NSMutableArray, NSMutableSet, NSSet, NSSplitView, NSString; + +@interface IDEComparisonEditor : IDEEditor +{ + IDEComparisonNavTimelineBar *_navTimelineBar; + IDEComparisonToolbar *_comparisonToolbar; + NSSplitView *_aboveView; + DVTReplacementView *_logReplacementView; + DVTReplacementView *_submodeReplacementView; + id _comparisonEditorDelegate; + id _dataSource; + DVTObservingToken *_frameResizeToken; + NSMutableArray *_navItemCoordinatorDidForgetItemsTokens; + IDENavigableItemCoordinator *_sharedNavigableItemCoordinator; + IDENavigableItemCoordinator *_primaryNavigableItemCoordinator; + IDENavigableItemCoordinator *_secondaryNavigableItemCoordinator; + IDENavigableItem *_primaryRootNavigableItem; + IDENavigableItem *_secondaryRootNavigableItem; + IDENavigableItem *_primarySubNavigableItem; + IDENavigableItem *_secondarySubNavigableItem; + NSMutableSet *_documentsToRelease; + NSMutableSet *_documentsToClose; + NSMutableSet *_documentsToDelete; + NSMutableSet *_readOnlyDocuments; + IDEEditorDocument *_primaryDocument; + id _primaryDocumentExportToken; + id _primaryPathControlUpdateToken; + IDEEditorDocument *_secondaryDocument; + id _secondaryDocumentExportToken; + id _secondaryPathControlUpdateToken; + IDEEditorDocument *_ancestorDocument; + id _ancestorDocumentExportToken; + DVTObservingToken *_diffSessionObservingToken; + int _editorSubmode; + IDEComparisonEditorAutoLayoutView *_layoutView; + DVTComparisonDocumentLocation *_internalComparisonDocumentLocation; + NSArray *_keyEditorDocumentLocations; + NSDictionary *_keyEditorAnnotationRepresentedObjectState; + unsigned long long _conflictCount; + IDESourceControlConflictResolutionController *_conflictResolutionController; + IDESourceControlInteractiveCommitController *_interactiveCommitController; + NSSet *_blacklistedAnnotationProviders; + BOOL _documentHasUnsavedChanges; + BOOL _hideToolBar; + BOOL _hideSubmodeSegmentedControl; + BOOL _hideNavTimelineBar; + BOOL _disableChangeSourceTree; + BOOL _disableChangeBranch; + BOOL _disableChangeRevision; + BOOL _ownsDataSource; + BOOL _shouldSelectFirstDiff; + BOOL _shouldTakeFocus; + BOOL _loadedSpecificRevision; + BOOL _hideDiffMenu; + BOOL _enableDiffToggles; + int _toggleAllDiffDescriptorsState; + unsigned long long _exportOperationsFinished; + unsigned long long _exportOperationsPending; + DVTObservingToken *_didScanToken; + DVTObservingToken *_localStatusUpdateToken; + id _refreshObservationToken; + id _refreshWhenSwitchingObservationToken; + DVTBindingToken *_logViewDocumentBindingToken; + DVTPerformanceMetric *_performanceMetric; + DVTDispatchLock *_performanceDispatchLock; + BOOL _nextFinishPerformanceTestFinishesTest; +} + ++ (id)keyPathsForValuesAffectingCurrentSelectedDocumentLocations; ++ (id)keyPathsForValuesAffectingPrimaryEditorInstance; ++ (id)keyPathsForValuesAffectingCurrentSelectedItems; ++ (id)keyPathsForValuesAffectingKeyEditor; ++ (BOOL)automaticallyNotifiesObserversOfInternalComparisonDocumentLocation; ++ (id)keyPathsForValuesAffectingSubmode; ++ (id)keyPathsForValuesAffectingIsThreeWayDiff; ++ (id)keyPathsForValuesAffectingSecondaryRootNavigableItem_arrayOfOne; ++ (id)keyPathsForValuesAffectingPrimaryRootNavigableItem_arrayOfOne; ++ (void)initialize; ++ (id)performanceLogAspect; ++ (id)comparisonEditorLogAspect; +@property(retain) IDENavigableItem *secondaryRootNavigableItem; // @synthesize secondaryRootNavigableItem=_secondaryRootNavigableItem; +@property(retain) IDENavigableItem *primaryRootNavigableItem; // @synthesize primaryRootNavigableItem=_primaryRootNavigableItem; +@property int toggleAllDiffDescriptorsState; // @synthesize toggleAllDiffDescriptorsState=_toggleAllDiffDescriptorsState; +@property BOOL enableDiffToggles; // @synthesize enableDiffToggles=_enableDiffToggles; +@property BOOL hideDiffMenu; // @synthesize hideDiffMenu=_hideDiffMenu; +@property(retain) NSSet *blacklistedAnnotationProviders; // @synthesize blacklistedAnnotationProviders=_blacklistedAnnotationProviders; +@property BOOL documentHasUnsavedChanges; // @synthesize documentHasUnsavedChanges=_documentHasUnsavedChanges; +@property unsigned long long conflictCount; // @synthesize conflictCount=_conflictCount; +@property BOOL shouldTakeFocus; // @synthesize shouldTakeFocus=_shouldTakeFocus; +@property(retain) NSDictionary *keyEditorAnnotationRepresentedObjectState; // @synthesize keyEditorAnnotationRepresentedObjectState=_keyEditorAnnotationRepresentedObjectState; +@property(copy) NSArray *keyEditorDocumentLocations; // @synthesize keyEditorDocumentLocations=_keyEditorDocumentLocations; +@property BOOL disableChangeRevision; // @synthesize disableChangeRevision=_disableChangeRevision; +@property BOOL disableChangeBranch; // @synthesize disableChangeBranch=_disableChangeBranch; +@property BOOL disableChangeSourceTree; // @synthesize disableChangeSourceTree=_disableChangeSourceTree; +@property(nonatomic) BOOL shouldSelectFirstDiff; // @synthesize shouldSelectFirstDiff=_shouldSelectFirstDiff; +@property(retain) DVTReplacementView *submodeReplacementView; // @synthesize submodeReplacementView=_submodeReplacementView; +@property(retain) DVTReplacementView *logReplacementView; // @synthesize logReplacementView=_logReplacementView; +@property(retain) IDEComparisonEditorAutoLayoutView *layoutView; // @synthesize layoutView=_layoutView; +@property(retain) NSSplitView *aboveView; // @synthesize aboveView=_aboveView; +@property(retain) IDEComparisonToolbar *comparisonToolbar; // @synthesize comparisonToolbar=_comparisonToolbar; +@property(retain) IDEComparisonNavTimelineBar *navTimelineBar; // @synthesize navTimelineBar=_navTimelineBar; +@property(retain) id comparisonEditorDelegate; // @synthesize comparisonEditorDelegate=_comparisonEditorDelegate; +@property(retain) IDEEditorDocument *ancestorDocument; // @synthesize ancestorDocument=_ancestorDocument; +@property(retain) IDEEditorDocument *secondaryDocument; // @synthesize secondaryDocument=_secondaryDocument; +@property(retain) IDEEditorDocument *primaryDocument; // @synthesize primaryDocument=_primaryDocument; +- (BOOL)pathCell:(id)arg1 shouldPopUpMenuForPathComponentCell:(id)arg2 item:(id)arg3; +- (BOOL)splitView:(id)arg1 shouldAdjustSizeOfSubview:(id)arg2; +- (BOOL)splitView:(id)arg1 shouldHideDividerAtIndex:(long long)arg2; +- (double)splitView:(id)arg1 constrainMaxCoordinate:(double)arg2 ofSubviewAt:(long long)arg3; +- (double)splitView:(id)arg1 constrainMinCoordinate:(double)arg2 ofSubviewAt:(long long)arg3; +- (BOOL)splitView:(id)arg1 canCollapseSubview:(id)arg2; +- (void)_setupEmptyEditors; +- (BOOL)isCurrentPrimaryRevisionInMemoryOrLocal; +- (void)takeFocus; +- (void)_unpackAndApplyAnnotationRepresentedObjectState; +- (void)navigateToAnnotationWithRepresentedObject:(id)arg1 wantsIndicatorAnimation:(BOOL)arg2 exploreAnnotationRepresentedObject:(id)arg3; +- (void)selectDocumentLocations:(id)arg1; +- (BOOL)_comparisonDocumentLocationContainsSourceControlDocumentLocations:(id)arg1; +- (id)currentSelectedDocumentLocations; +- (id)currentSelectedItems; +- (void)_exportAncestorDocument; +- (void)_exportSecondaryDocument; +- (void)_exportPrimaryDocument; +- (void)_disposeDocument:(id)arg1; +- (void)_trackDocument:(id)arg1 options:(int)arg2; +- (void)_updateSecondaryPathControl; +- (void)_updatePrimaryPathControl; +- (void)_updateBothPathControlsForcingReload:(BOOL)arg1; +- (id)_cleanupDocumentLocationFromStateSaving:(id)arg1; +- (void)_convertDocumentLocationToComparisonDocumentLocation:(id)arg1 completionBlock:(dispatch_block_t)arg2; +- (struct CGRect)overlayFrameForView:(id)arg1; +- (id)interactiveCommitController; +- (id)conflictResolutionController; +- (BOOL)disableBlame; +@property(readonly) BOOL isThreeWayDiff; +@property(readonly) NSArray *secondaryRootNavigableItem_arrayOfOne; +@property(readonly) NSArray *primaryRootNavigableItem_arrayOfOne; +- (id)secondaryEditorInstance; +- (id)primaryEditorInstance; +- (id)keyEditor; +@property(retain) IDENavigableItem *secondarySubNavigableItem; // @synthesize secondarySubNavigableItem=_secondarySubNavigableItem; +@property(retain) IDENavigableItem *primarySubNavigableItem; // @synthesize primarySubNavigableItem=_primarySubNavigableItem; +- (void)setInternalComparisonDocumentLocation:(id)arg1; +- (void)reloadComparisonEditorWithComparisonDocumentLocation:(id)arg1 force:(BOOL)arg2; +- (void)_finishPerformanceTest; +- (void)_exportOperationFinished; +- (void)_pendingExportOperations:(unsigned long long)arg1 withDocumentLocation:(id)arg2 force:(BOOL)arg3; +- (id)internalComparisonDocumentLocation; +@property(readonly) IDEComparisonEditorSubmode *submode; +@property int editorSubmode; +@property BOOL hideChangesStepperControl; +@property BOOL hideNavTimelineBar; +@property BOOL hideSubmodeSegmentedControl; // @synthesize hideSubmodeSegmentedControl=_hideSubmodeSegmentedControl; +@property BOOL hideToolBar; +- (void)_willOpenSpecifier:(id)arg1; +- (void)_validateAndUpdateOnSubmodeChange; +- (void)_updateOnSubmodeChange; +- (void)showRevision:(id)arg1; +- (void)compareCurrentRevisionToRevision:(id)arg1; +- (void)compareRevisionChange:(id)arg1; +- (void)setupFrameResizeObservation; +- (void)cancelFrameResizeToken; +- (void)_setupSupportViews; +- (void)_cleanupSupportViews; +- (void)_editorDocumentDirtyStatusDidChange:(id)arg1; +- (void)viewWillUninstall; +@property(retain) id dataSource; // @synthesize dataSource=_dataSource; +- (void)viewDidInstall; +- (void)loadView; +- (BOOL)secondaryEditorShowsDocumentPreview; +- (BOOL)primaryEditorShowsDocumentPreview; +- (BOOL)shouldShowAnnotationsFromProviderClass:(Class)arg1; +- (void)primitiveInvalidate; +- (id)initWithNibName:(id)arg1 bundle:(id)arg2 document:(id)arg3; +- (void)_setupNavItemCoordinators; +- (void)_cleanupNavItemCoordinators; +- (id)performanceMetric; + +// Remaining properties +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) Class superclass; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/IDEEditor.h b/SCXcodeMinimap/Xcode Headers/IDEEditor.h new file mode 100644 index 0000000..e841a9c --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEEditor.h @@ -0,0 +1,54 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "IDEViewController.h" + +@class DVTFindBar, DVTNotificationToken, DVTObservingToken, DVTScopeBarsManager, IDEEditorContext, IDEEditorDocument, IDEFileTextSettings, NSScrollView; + +@interface IDEEditor : IDEViewController +{ + IDEEditorDocument *_document; + IDEEditorDocument *_documentForNavBarStructure; + IDEEditorContext *_editorContext; + DVTFindBar *_findBar; + DVTNotificationToken *_documentDidChangeNotificationToken; + DVTNotificationToken *_documentForNavBarStructureDidChangeNotificationToken; + DVTObservingToken *_documentFileURLObservingToken; + IDEFileTextSettings *_fileTextSettings; + BOOL _discardsFindResultsWhenContentChanges; +} + ++ (BOOL)canProvideCurrentSelectedItems; +@property(retain, nonatomic) IDEFileTextSettings *fileTextSettings; // @synthesize fileTextSettings=_fileTextSettings; +@property(retain) IDEEditorContext *editorContext; // @synthesize editorContext=_editorContext; +@property(retain) IDEEditorDocument *document; // @synthesize document=_document; +@property(retain, nonatomic) IDEEditorDocument *documentForNavBarStructure; // @synthesize documentForNavBarStructure=_documentForNavBarStructure; +@property BOOL discardsFindResultsWhenContentChanges; // @synthesize discardsFindResultsWhenContentChanges=_discardsFindResultsWhenContentChanges; +- (id)relatedMenuItemsForNavItem:(id)arg1; +- (void)didSetupEditor; +- (void)navigateToAnnotationWithRepresentedObject:(id)arg1 wantsIndicatorAnimation:(BOOL)arg2 exploreAnnotationRepresentedObject:(id)arg3; +- (void)selectDocumentLocations:(id)arg1; +- (id)currentSelectedDocumentLocations; +- (id)currentSelectedItems; +- (void)primitiveInvalidate; +- (id)supplementalTargetForAction:(SEL)arg1 sender:(id)arg2; +@property(readonly) NSScrollView *mainScrollView; +@property(readonly) DVTScopeBarsManager *scopeBarsManager; +@property(readonly, getter=isPrimaryEditor) BOOL primaryEditor; +- (void)setupContextMenuWithMenu:(id)arg1 withContext:(id)arg2; +- (void)takeFocus; +@property(readonly) DVTFindBar *findBar; // @synthesize findBar=_findBar; +- (void)editorContextDidHideFindBar; +- (id)createFindBar; +@property(readonly) BOOL findBarSupported; +- (id)_getUndoManager:(BOOL)arg1; +- (id)undoManager; +- (id)initWithNibName:(id)arg1 bundle:(id)arg2 document:(id)arg3; +- (id)_initWithNibName:(id)arg1 bundle:(id)arg2; +- (id)initWithNibName:(id)arg1 bundle:(id)arg2; +- (id)initUsingDefaultNib; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEEditorArea.h b/SCXcodeMinimap/Xcode Headers/IDEEditorArea.h new file mode 100644 index 0000000..ec15b80 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEEditorArea.h @@ -0,0 +1,144 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "IDEViewController.h" + +@class DVTBorderedView, DVTLayoutView_ML, DVTObservingToken, DVTReplacementView, DVTSplitView, DVTSplitViewItem, DVTStateToken, IDEDebugArea, IDEDebugBar, IDEEditorContext, IDEEditorDocument, IDEEditorModeViewController, IDENavigableItemArchivableRepresentation, IDEWorkspaceTabControllerLayoutTree, NSMutableDictionary, NSString, NSView; + +@interface IDEEditorArea : IDEViewController +{ + NSView *_editorModeHostView; + IDEEditorModeViewController *_editorModeViewController; + int _editorMode; + int _versionEditorSubmode; + DVTObservingToken *_workspaceActivityObserver; + IDEEditorContext *_lastActiveEditorContext; + IDEDebugBar *_activeDebuggerBar; + IDEDebugArea *_activeDebuggerArea; + NSMutableDictionary *_defaultPersistentRepresentations; + NSString *_currentDefaultDebugAreaExtensionID; + DVTLayoutView_ML *_editorAreaAutoLayoutView; + DVTLayoutView_ML *_debuggerAreaAutoLayoutView; + DVTBorderedView *_debuggerBarBorderedView; + DVTBorderedView *_debuggerAreaBorderedView; + DVTReplacementView *_debuggerBarReplacementView; + DVTReplacementView *_debuggerAreaReplacementView; + DVTSplitView *_debuggerSplitView; + DVTSplitViewItem *_debugAreaSplitViewItem; + double _heightToReturnToDebuggerArea; + id _launchSessionObserver; + IDEWorkspaceTabControllerLayoutTree *_layoutTreeForNavigationHUD; + IDEWorkspaceTabControllerLayoutTree *_oldLayoutTreeFromStateSaving; + BOOL _didInstall; + BOOL _needsToRefreshContexts; + BOOL _didRestoreState; + BOOL _userWantsEditorVisible; + BOOL _showDebuggerArea; + IDEEditorContext *_navigationTargetedEditorContext; +} + ++ (long long)version; ++ (void)configureStateSavingObjectPersistenceByName:(id)arg1; ++ (id)keyPathsForValuesAffectingShowEditor; ++ (id)keyPathsForValuesAffectingSelectedNavigableItemArchivedRepresentation; ++ (id)keyPathsForValuesAffectingNavigationTargetedEditorDocument; ++ (id)keyPathsForValuesAffectingPrimaryEditorDocument; ++ (id)keyPathsForValuesAffectingPrimaryEditorContext; ++ (int)defaultVersionEditorSubmode; ++ (int)defaultEditorMode; ++ (BOOL)automaticallyNotifiesObserversOfLastActiveEditorContext; ++ (void)initialize; +@property(retain) IDEEditorContext *navigationTargetedEditorContext; // @synthesize navigationTargetedEditorContext=_navigationTargetedEditorContext; +@property(nonatomic) int versionEditorSubmode; // @synthesize versionEditorSubmode=_versionEditorSubmode; +@property(nonatomic) int editorMode; // @synthesize editorMode=_editorMode; +@property(retain) IDEDebugArea *activeDebuggerArea; // @synthesize activeDebuggerArea=_activeDebuggerArea; +@property(retain) IDEDebugBar *activeDebuggerBar; // @synthesize activeDebuggerBar=_activeDebuggerBar; +@property(retain, nonatomic) IDEEditorContext *lastActiveEditorContext; // @synthesize lastActiveEditorContext=_lastActiveEditorContext; +@property(readonly) DVTReplacementView *debuggerAreaReplacementView; // @synthesize debuggerAreaReplacementView=_debuggerAreaReplacementView; +@property(nonatomic) BOOL userWantsEditorVisible; // @synthesize userWantsEditorVisible=_userWantsEditorVisible; +@property(retain) IDEEditorModeViewController *editorModeViewController; // @synthesize editorModeViewController=_editorModeViewController; +- (void)_clearLayoutTreeForNavigationHUD; +- (void)setLayoutTreeForNavigationHUD:(IDEWorkspaceTabControllerLayoutTree *)arg1; +@property(readonly) IDEWorkspaceTabControllerLayoutTree *layoutTreeForNavigationHUD; +- (id)_generateLayoutTreeForNavigationHUD; +- (void)discardEditing; +- (BOOL)commitEditingForAction:(int)arg1 errors:(id)arg2; +- (void)commitStateToDictionary:(id)arg1; +- (void)revertStateWithDictionary:(id)arg1; +@property(retain) DVTStateToken *stateToken; // @dynamic stateToken; +- (void)_updateStateSavingRegistrations; +- (void)splitView:(id)arg1 resizeSubviewsWithOldSize:(struct CGSize)arg2; +- (void)_resizeSubviewsForHeightIncrease:(double)arg1; +- (void)_resizeSubviewsForHeightDecrease:(double)arg1; +- (id)splitView:(id)arg1 additionalEffectiveRectsOfDividerAtIndex:(long long)arg2; +- (double)splitView:(id)arg1 constrainSplitPosition:(double)arg2 ofSubviewAt:(long long)arg3; +- (BOOL)splitView:(id)arg1 canCollapseSubview:(id)arg2; +- (double)splitView:(id)arg1 constrainMaxCoordinate:(double)arg2 ofSubviewAt:(long long)arg3; +- (double)splitView:(id)arg1 constrainMinCoordinate:(double)arg2 ofSubviewAt:(long long)arg3; +- (void)compareRevisionChange:(id)arg1; +- (void)showBlame; +- (BOOL)validateUserInterfaceItem:(id)arg1; +- (void)toggleDebuggerVisibility:(id)arg1; +- (void)activateConsole:(id)arg1; +@property BOOL showDebuggerArea; +- (void)_setShowDebuggerArea:(BOOL)arg1 animate:(BOOL)arg2; +- (void)showDebuggerArea:(id)arg1; +@property BOOL showEditor; +- (void)_updateDebuggerBarVisibility; +- (void)_addDebuggerBarToDebuggerArea; +- (void)_addDebuggerBarToEditorArea; +- (void)_moveDebuggerBarToDebuggerArea; +- (void)_moveDebuggerBarToEditorArea; +- (void)_hideDebuggerBarAndResetSplitViewFrames; +- (void)_resetSplitViewFrames; +@property(readonly) BOOL showDebuggerBar; +- (id)_defaultPersistentRepresentationForDocumentExtensionIdentifier:(id)arg1 documentURL:(id)arg2; +- (void)_clearDefaultPersistentRepresentationForDocumentExtensionIdentifier:(id)arg1 documentURL:(id)arg2; +- (void)_cacheDefaultPersistentRepresentation:(id)arg1 forDocumentExtensionIdentifier:(id)arg2 documentURL:(id)arg3; +- (void)setStateSavingDefaultPersistentRepresentations:(id)arg1; +- (id)stateSavingDefaultPersistentRepresentations; +- (id)_editorContexts; +- (void)_openEditorOpenSpecifier:(id)arg1 editorContext:(id)arg2 takeFocus:(BOOL)arg3; +- (void)_openEditorHistoryItem:(id)arg1 editorContext:(id)arg2 takeFocus:(BOOL)arg3; +@property(readonly) IDENavigableItemArchivableRepresentation *selectedNavigableItemArchivedRepresentation; +@property(readonly) IDEEditorDocument *navigationTargetedEditorDocument; +@property(readonly) IDEEditorDocument *primaryEditorDocument; +@property(readonly) IDEEditorContext *primaryEditorContext; +- (void)_installDebugAreaWithExtensionID:(id)arg1 revertDebugAreaState:(BOOL)arg2; +- (void)installDebugAreaWithExtensionID:(id)arg1; +- (void)installNewDefaultDebugAreaWithExtensionID:(id)arg1; +- (void)_installDefaultDebugAreaAndRevertDebugAreaState:(BOOL)arg1; +- (void)installDefaultDebugArea; +- (void)_setEditorMode:(int)arg1; +- (void)editorContextWasRemoved:(id)arg1; +- (void)editorContextDidBecomeLastActiveEditor:(id)arg1; +- (void)viewWillUninstall; +- (void)viewDidInstall; +- (void)_refreshEditorContextsAndPreserveCurrentEditorHistoryStack:(BOOL)arg1; +- (void)_resetEditor; +- (BOOL)_canResetEditor; +- (void)_removeAssistantEditor; +- (BOOL)_canRemoveAssistantEditor; +- (id)_addNewAssistantEditor; +- (BOOL)_canAddNewAssistantEditor; +- (void)_addAssistantEditor; +- (BOOL)_canAddAssistantEditor; +- (void)_setAssistantEditorsLayout:(int)arg1; +- (BOOL)_canChangeAssistantEditorsLayout; +- (void)primitiveInvalidate; +- (void)_updateDebugAreaAfterDocumentOpened; +- (void)_updateDebugBarAfterDocumentOpened; +- (void)loadView; +- (void)_setEditorModeViewControllerWithPrimaryEditorContext:(id)arg1; + +// Remaining properties +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) Class superclass; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/IDEEditorContext.h b/SCXcodeMinimap/Xcode Headers/IDEEditorContext.h new file mode 100644 index 0000000..f4033b7 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEEditorContext.h @@ -0,0 +1,339 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "IDEViewController.h" + +@class CALayer, DVTBindingToken, DVTBorderedView, DVTFileDataType, DVTFindBar, DVTGradientImagePopUpButton, DVTNotificationToken, DVTObservingToken, DVTScopeBarsManager, DVTStackBacktrace, DVTStateRepository, IDEEditor, IDEEditorArea, IDEEditorGeniusResults, IDEEditorHistoryController, IDEEditorHistoryItem, IDEEditorIssueMenuController, IDEEditorMultipleContext, IDEEditorReadOnlyIndicatorController, IDEEditorSplittingController, IDEEditorStepperView, IDENavBar, IDENavigableItem, IDENavigableItemCoordinator, NSArray, NSArrayController, NSDictionary, NSIndexSet, NSMutableArray, NSScrollView, NSString, NSURL, NSView, _IDEGeniusResultsContext; + +@interface IDEEditorContext : IDEViewController +{ + NSView *_editorAndNavBarView; + IDENavBar *_navBar; + DVTBorderedView *_editorBorderedView; + DVTGradientImagePopUpButton *_relatedItemsPopUpButton; + IDEEditorStepperView *_stepperView; + DVTStateRepository *_stateRepository; + IDENavigableItem *_greatestDocumentAncestor; + DVTFileDataType *_cacheFromNavigation_greatestDocumentAncestorFileDataType; + NSArray *_documentSelectedItems; + DVTNotificationToken *_editorContextWillOpenNavigableItemNotificationToken; + DVTNotificationToken *_editorDocumentForNavBarStructureDidChangeNotificationToken; + DVTNotificationToken *_editorDocumentForNavBarStructureWillCloseNotificationToken; + DVTNotificationToken *_editorDocumentIsEditedStatusDidChangeNotificationToken; + DVTNotificationToken *_editorDocumentWillCloseNotificationToken; + DVTNotificationToken *_findStringChangedNotificationToken; + DVTNotificationToken *_navigableItemPropertyObserver; + DVTNotificationToken *_navigableItemCoordinatorDidForgetItemsNotificationToken; + DVTNotificationToken *_workspaceWillWriteNotificationToken; + DVTObservingToken *_editorDocumentForNavBarStructureChangedObservingToken; + DVTObservingToken *_windowMainViewControllerChangedObservingToken; + DVTNotificationToken *_windowDidBecomeKeyObserverToken; + DVTObservingToken *_lastActiveEditorContextChangedObservingToken; + DVTObservingToken *_currentSelectedItemsObservingToken; + id _deferredUpdateSubDocumentNavigableItemsCancellableToken; + DVTBindingToken *_navBarNavigableItemRootChildItemsBindingToken; + DVTBindingToken *_navBarNavigableItemBindingToken; + IDENavigableItem *_geniusResultsRootNavigableItem; + DVTObservingToken *_counterpartsObservingToken; + IDEEditorHistoryController *_historyController; + NSArrayController *_navigableItemSiblingsController; + IDEEditorReadOnlyIndicatorController *_readOnlyIndicatorController; + DVTObservingToken *_showReadOnlyIndicatorObserver; + DVTFindBar *_findBar; + NSDictionary *_editorStateDictionaryPreviousToFind; + IDEEditorIssueMenuController *_issueMenuController; + DVTObservingToken *_showIssueMenuControllerObserver; + IDEEditorSplittingController *_splittingController; + DVTObservingToken *_workspaceLoadingObservingToken; + IDEEditorHistoryItem *_beforeUninstallHistoryItem; + NSString *_emptyContentString; + NSMutableArray *_commandExtensions; + DVTStackBacktrace *_beganChangingNavigableItemBacktrace; + BOOL _changingNavBarNavigableItem; + BOOL _isPrimaryEditorContext; + BOOL _viewIsInstalled; + BOOL _shouldObserveDocumentChanges; + BOOL _editorProvidesPathCellMenuItems; + BOOL _isPerformingStateRestoration; + BOOL _isReplacingClosedDocument; + BOOL _isDraggingPathCell; + BOOL _isFetchingCurrentSelectedItems; + BOOL _shouldImmediatleyProcessCurrentSelectedItemsChange; + unsigned long long _currentSwipeAnimationGeneration; + char *_swipeAnimationAborted; + BOOL _disableGeniusResultUpdatesDuringSwipeAnimation; + NSView *_swipeLayerView; + CALayer *_swipeBackgroundLayer; + CALayer *_swipeForegroundLayer; + dispatch_block_t _swipeCompletionBlock; + NSDictionary *_editorStateDictionaryPreviousToSwipe; + BOOL _showRelatedItemsControl; + BOOL _showNavBarHistoryStepperControls; + BOOL _showSiblingStepperControl; + BOOL _showMiniIssueNavigator; + BOOL _showSplittingControls; + BOOL _canAddSplit; + BOOL _canRemoveSplit; + BOOL _hideWorkspaceLoadingProgressIndicator; + int _borderSides; + IDEEditorArea *_editorArea; + IDEEditor *_editor; + id _delegate; + IDENavigableItemCoordinator *_navigableItemCoordinator; + IDENavigableItem *_navigableItem; + NSArray *_defaultEditorCategories; + NSArray *_validEditorCategories; + DVTScopeBarsManager *_scopeBarsManager; + NSURL *_originalRequestedDocumentURL; + IDEEditorGeniusResults *_editorGeniusResults; + NSString *_documentExtensionIdentifier; + IDEEditorMultipleContext *_multipleContext; + _IDEGeniusResultsContext *_geniusResultsContext; + IDENavigableItem *_navBarNavigableItem; + IDENavigableItem *_navBarNavigableItemRoot; + NSArray *_navigableItemSiblings; + NSIndexSet *_navigableItemSiblingsSelectionIndexes; + dispatch_block_t _retryOpenOperationBlock; +} + ++ (id)_titleForNavigationUserInterfaceItem:(id)arg1 forEventBehavior:(int)arg2 fromPrimaryEditorContext:(BOOL)arg3; ++ (BOOL)_canEditEditorHistoryItem:(id)arg1 withEditorCategories:(id)arg2; ++ (BOOL)_canEditDocumentURL:(id)arg1 fileDataType:(id)arg2 documentExtensionIdentifier:(id)arg3 withEditorCategories:(id)arg4; ++ (id)_defaultDocumentExtensionForDocumentURL:(id)arg1 fileDataType:(id)arg2 withEditorCategories:(id)arg3; ++ (BOOL)automaticallyNotifiesObserversOfNavBarNavigableItem; ++ (BOOL)automaticallyNotifiesObserversOfNavigableItem; ++ (id)navigationLogAspect; ++ (void)initialize; ++ (BOOL)automaticallyNotifiesObserversOfGreatestDocumentAncestor; ++ (id)keyPathsForValuesAffectingIsLastActiveEditorContext; ++ (id)keyPathsForValuesAffectingValueForNavBarNavigableItemRootChildItems; ++ (id)keyPathsForValuesAffectingValueForOutputSelection; +@property(copy) dispatch_block_t retryOpenOperationBlock; // @synthesize retryOpenOperationBlock=_retryOpenOperationBlock; +@property(readonly) NSIndexSet *navigableItemSiblingsSelectionIndexes; // @synthesize navigableItemSiblingsSelectionIndexes=_navigableItemSiblingsSelectionIndexes; +@property(readonly) NSArray *navigableItemSiblings; // @synthesize navigableItemSiblings=_navigableItemSiblings; +@property(readonly) IDENavigableItem *navBarNavigableItemRoot; // @synthesize navBarNavigableItemRoot=_navBarNavigableItemRoot; +@property(readonly) IDENavigableItem *navBarNavigableItem; // @synthesize navBarNavigableItem=_navBarNavigableItem; +@property(retain) _IDEGeniusResultsContext *geniusResultsContext; // @synthesize geniusResultsContext=_geniusResultsContext; +@property(retain) IDEEditorMultipleContext *multipleContext; // @synthesize multipleContext=_multipleContext; +@property(readonly) NSString *documentExtensionIdentifier; // @synthesize documentExtensionIdentifier=_documentExtensionIdentifier; +@property(readonly) IDEEditorGeniusResults *editorGeniusResults; // @synthesize editorGeniusResults=_editorGeniusResults; +@property(retain) NSURL *originalRequestedDocumentURL; // @synthesize originalRequestedDocumentURL=_originalRequestedDocumentURL; +@property(readonly) DVTScopeBarsManager *scopeBarsManager; // @synthesize scopeBarsManager=_scopeBarsManager; +@property BOOL hideWorkspaceLoadingProgressIndicator; // @synthesize hideWorkspaceLoadingProgressIndicator=_hideWorkspaceLoadingProgressIndicator; +@property(nonatomic) BOOL canRemoveSplit; // @synthesize canRemoveSplit=_canRemoveSplit; +@property(nonatomic) BOOL canAddSplit; // @synthesize canAddSplit=_canAddSplit; +@property(nonatomic) BOOL showSplittingControls; // @synthesize showSplittingControls=_showSplittingControls; +@property(nonatomic) BOOL showMiniIssueNavigator; // @synthesize showMiniIssueNavigator=_showMiniIssueNavigator; +@property(nonatomic) BOOL showSiblingStepperControl; // @synthesize showSiblingStepperControl=_showSiblingStepperControl; +@property(nonatomic) BOOL showNavBarHistoryStepperControls; // @synthesize showNavBarHistoryStepperControls=_showNavBarHistoryStepperControls; +@property(nonatomic) BOOL showRelatedItemsControl; // @synthesize showRelatedItemsControl=_showRelatedItemsControl; +@property(nonatomic) int borderSides; // @synthesize borderSides=_borderSides; +@property(copy) NSArray *validEditorCategories; // @synthesize validEditorCategories=_validEditorCategories; +@property(copy) NSArray *defaultEditorCategories; // @synthesize defaultEditorCategories=_defaultEditorCategories; +@property(retain, nonatomic) IDENavigableItem *navigableItem; // @synthesize navigableItem=_navigableItem; +@property(readonly) IDENavigableItemCoordinator *navigableItemCoordinator; // @synthesize navigableItemCoordinator=_navigableItemCoordinator; +@property(retain) id delegate; // @synthesize delegate=_delegate; +@property(retain, nonatomic) IDEEditor *editor; // @synthesize editor=_editor; +@property(retain, nonatomic) IDEEditorArea *editorArea; // @synthesize editorArea=_editorArea; +- (void)stateRepositoryDidChange:(id)arg1; +- (id)_navigableItemForEditingFromArchivedRepresentation:(id)arg1 error:(id *)arg2; +- (void)discardEditing; +- (BOOL)commitEditingForAction:(int)arg1 errors:(id)arg2; +- (id)scopeBarsManagerForEditor:(id)arg1; +- (void)goBackInHistoryByCommandWithShiftPlusAlternate:(id)arg1; +- (void)goForwardInHistoryByCommandWithShiftPlusAlternate:(id)arg1; +- (void)goBackInHistoryByCommandWithAlternate:(id)arg1; +- (void)goForwardInHistoryByCommandWithAlternate:(id)arg1; +- (void)goBackInHistoryByCommand:(id)arg1; +- (void)goForwardInHistoryByCommand:(id)arg1; +- (void)_setShowNavBarHistoryStepperControls:(BOOL)arg1; +- (void)_setShowRelatedItemsControl:(BOOL)arg1; +- (void)_rebuildRightControlGroup; +- (void)_rebuildLeftControlGroup; +- (void)updateWithHistoryStack:(id)arg1; +- (id)currentHistoryStack; +- (void)_openEditorHistoryItemFromStateSaving:(id)arg1; +- (void)_giveEditorFocusIfNeeded; +- (BOOL)_editorHasFocus; +- (BOOL)_findBarHasFocus; +- (BOOL)_viewHasFocus:(id)arg1; +- (void)takeFocus; +- (id)supplementalMainViewController; +- (BOOL)canBecomeMainViewController; +- (id)viewToShowWrapOrEndOfFileBezelOn:(id)arg1; +- (struct _NSRange)selectedRangeForFindBar:(id)arg1; +- (id)startingLocationForFindBar:(id)arg1 findingBackwards:(BOOL)arg2; +- (void)dvtFindBar:(id)arg1 didUpdateCurrentResult:(id)arg2; +- (void)dvtFindBar:(id)arg1 didUpdateResults:(id)arg2; +- (void)dismissFindBar:(id)arg1 andRestoreSelection:(BOOL)arg2; +- (void)hideFindBar:(id)arg1; +- (void)_hideFindBarAndRestoreSelection:(BOOL)arg1 animate:(BOOL)arg2; +- (void)replaceAndFindPrevious:(id)arg1; +- (void)replaceAndFindNext:(id)arg1; +- (void)replaceAll:(id)arg1; +- (void)replace:(id)arg1; +- (void)findPrevious:(id)arg1; +- (void)findNext:(id)arg1; +- (void)findAndReplace:(id)arg1; +- (void)find:(id)arg1; +- (void)_uninstallFindBar; +- (void)_installFindBar; +- (id)_findScopeBar; +- (id)_findBar; +- (BOOL)dvtFindBar:(id)arg1 validateUserInterfaceItem:(id)arg2; +@property(readonly) NSScrollView *scopeBarsAdjustableScrollView; +@property(readonly) NSView *scopeBarsBaseView; +- (void)primitiveInvalidate; +- (BOOL)validateUserInterfaceItem:(id)arg1; +- (BOOL)_validateOpenInAdjacentEditorCommandForUserInterfaceItem:(id)arg1 forEventBehavior:(int)arg2; +- (void)showMiniIssuesNavigatorMenu:(id)arg1; +- (void)showDocumentItemsMenu:(id)arg1; +- (void)showGroupFilesMenu:(id)arg1; +- (void)showTopLevelItemsMenu:(id)arg1; +- (void)showNextFilesHistoryMenu:(id)arg1; +- (void)showNextHistoryMenu:(id)arg1; +- (void)showPreviousFilesHistoryMenu:(id)arg1; +- (void)showPreviousHistoryMenu:(id)arg1; +- (void)showRelatedItemsMenu:(id)arg1; +- (void)ide_unlockDocument:(id)arg1; +- (void)_popUpMenuForNavigableItem:(id)arg1; +- (void)closeDocument:(id)arg1; +- (BOOL)_canAskDocumentToClose; +- (void)openInAdjacentEditorWithShiftPlusAlternate:(id)arg1; +- (void)openInAdjacentEditorWithAlternate:(id)arg1; +- (void)_openInAdjacentEditorWithEventBehavior:(int)arg1; +- (void)scrollWheel:(id)arg1; +- (void)_moveOverlayToMatchGestureAmount:(double)arg1 imageOfCurrentEditorOnTop:(BOOL)arg2; +- (void)_hideSwipeOverlay; +- (BOOL)_showSwipeOverlayForDirection:(BOOL)arg1 imageOfCurrentEditorOnTop:(char *)arg2; +- (id)_imageOfCurrentEditor; +- (void)_preloadSwipeInfrastructure; +- (struct CGRect)_swipeLayerViewFrame; +- (BOOL)wantsScrollEventsForSwipeTrackingOnAxis:(long long)arg1; +- (void)swipeWithEvent:(id)arg1; +- (void)_swipeToGoForward:(BOOL)arg1; +- (void)jumpToInstructionPointer:(id)arg1; +- (void)fixPreviousIssue:(id)arg1; +- (void)fixNextIssue:(id)arg1; +- (void)jumpToPreviousIssue:(id)arg1; +- (void)jumpToNextIssue:(id)arg1; +- (void)jumpToPreviousCounterpartWithShiftPlusAlternate:(id)arg1; +- (void)jumpToPreviousCounterpartWithAlternate:(id)arg1; +- (void)jumpToPreviousCounterpart:(id)arg1; +- (void)jumpToNextCounterpartWithShiftPlusAlternate:(id)arg1; +- (void)jumpToNextCounterpartWithAlternate:(id)arg1; +- (void)jumpToNextCounterpart:(id)arg1; +- (void)_jumpToCounterpartUp:(BOOL)arg1; +- (BOOL)pathControl:(id)arg1 acceptDrop:(id)arg2; +- (unsigned long long)pathControl:(id)arg1 validateDrop:(id)arg2; +- (id)pathControlPasteboardReadingOptions; +- (unsigned long long)draggingSourceOperationMaskForLocal:(BOOL)arg1; +- (void)pathCell:(id)arg1 didEndDragForComponentCell:(id)arg2; +- (BOOL)pathCell:(id)arg1 beginDragForComponentCell:(id)arg2; +- (id)pathCell:(id)arg1 menuItemForNavigableItem:(id)arg2 defaultMenuItem:(id)arg3; +- (BOOL)pathCell:(id)arg1 shouldEnableSelection:(id)arg2; +- (id)pathCell:(id)arg1 childItemsForItem:(id)arg2; +- (void)pathCell:(id)arg1 didUpdateMenu:(id)arg2; +- (id)_hiddenMenuItemForCommandExtension:(id)arg1; +- (BOOL)pathCell:(id)arg1 shouldInitiallyShowMenuSearch:(id)arg2; +- (BOOL)pathCell:(id)arg1 shouldSeparateDisplayOfChildItemsForItem:(id)arg2; +- (void)_currentSelectedItemsChanged; +- (void)_checkShouldCoalesceUpdatesForCurrentSelectedItemsChanged; +- (BOOL)_isCurrentEventARepeatKeyDownEvent; +- (void)_updateSubDocumentNavigableItems; +- (void)_selectNavigableItem:(id)arg1 updateOutputSelection:(id)arg2; +- (void)removeSplitForSplittingController:(id)arg1; +- (void)addSplitForSplittingController:(id)arg1; +- (void)setEmptyContentString:(id)arg1; +- (struct CGRect)grabRect; +- (void)_setSupportsReadOnlyIndicator:(BOOL)arg1; +- (void)_setCanRemoveSplit:(BOOL)arg1; +- (void)_setCanAddSplit:(BOOL)arg1; +- (void)_setShowSplittingControls:(BOOL)arg1; +- (void)_setShowMiniIssueNavigator:(BOOL)arg1; +- (void)_setShowSiblingStepperControl:(BOOL)arg1; +- (void)_updateSiblingStepperControlVisibility; +- (void)menuNeedsUpdate:(id)arg1; +- (void)_clearRecentEditorDocumentsList:(id)arg1; +- (void)_changeMaximumRecentFilesLimit:(id)arg1; +- (id)_recentEditorDocumentsCapacityPreferenceMenuItem; +- (void)_navigateToRelatedNavigableItem:(id)arg1; +- (void)setNavigableItemSiblingsSelectionIndexes:(NSIndexSet *)arg1; +- (void)_importNavigableItem:(id)arg1; +- (BOOL)_notifyDelegateAndOpenEditorHistoryItem:(id)arg1 previousHistoryItemOrNil:(id)arg2 alwaysReplaceExistingNavigableItem:(BOOL)arg3 skipSubDocumentNavigationUnlessEditorIsReplaced:(BOOL)arg4; +- (BOOL)_notifyDelegateAndOpenEditorHistoryItem:(id)arg1 updateHistory:(BOOL)arg2 skipSubDocumentNavigationUnlessEditorIsReplaced:(BOOL)arg3; +- (BOOL)_notifyDelegateAndOpenEditorOpenSpecifier:(id)arg1 updateHistory:(BOOL)arg2; +- (BOOL)_notifyDelegateAndOpenNavigableItem:(id)arg1 withContentsURL:(id)arg2 documentExtensionIdentifier:(id)arg3 locationToSelect:(id)arg4 annotationRepresentedObject:(id)arg5 stateDictionary:(id)arg6 annotationWantsIndicatorAnimation:(BOOL)arg7 exploreAnnotationRepresentedObject:(id)arg8 highlightSelection:(BOOL)arg9 alwaysReplaceExistingNavigableItem:(BOOL)arg10 skipSubDocumentNavigationUnlessEditorIsReplaced:(BOOL)arg11; +- (BOOL)_canEditEditorHistoryItem:(id)arg1; +- (BOOL)_canEditEditorOpenSpecifier:(id)arg1; +- (BOOL)_canEditEditorOpenSpecifier:(id)arg1 withEditorCategories:(id)arg2; +- (void)_applyEditorStateDictionary:(id)arg1 forDocumentExtensionIdentifier:(id)arg2 atDocumentURLToCurrentEditor:(id)arg3; +- (int)_openNavigableItem:(id)arg1 documentExtension:(id)arg2 document:(id)arg3 shouldInstallEditorBlock:(dispatch_block_t)arg4; +- (int)_openNavigableItem:(id)arg1 withContentsOfURL:(id)arg2 documentExtension:(id)arg3 shouldInstallEditorBlock:(dispatch_block_t)arg4; +- (id)_newEditorDocumentWithClass:(Class)arg1 forURL:(id)arg2 withContentsOfURL:(id)arg3 ofType:(id)arg4 extension:(id)arg5 error:(id *)arg6; +- (int)_openNavigableItem:(id)arg1 withContentsOfURL:(id)arg2 shouldInstallEditorBlock:(dispatch_block_t)arg3; +- (id)_defaultDocumentExtensionForNavigableItem:(id)arg1; +- (void)_navigateAwayFromCurrentDocumentWithURL:(id)arg1; +- (BOOL)openEditorHistoryItem:(id)arg1; +- (BOOL)openEditorOpenSpecifier:(id)arg1; +- (BOOL)_openEditorOpenSpecifier:(id)arg1 updateHistory:(BOOL)arg2; +- (BOOL)_openEditorHistoryItem:(id)arg1 previousHistoryItemOrNil:(id)arg2 alwaysReplaceExistingNavigableItem:(BOOL)arg3 skipSubDocumentNavigationUnlessEditorIsReplaced:(BOOL)arg4; +- (void)_navigableItemChanged; +- (BOOL)_openEditorHistoryItem:(id)arg1 updateHistory:(BOOL)arg2; +- (BOOL)_openEmptyEditor; +- (void)_teardownDocumentNotifications; +- (void)_registerForDocumentNotificationsForDocument:(id)arg1; +- (void)_navigateAwayFromDocument:(id)arg1 historyItem:(id)arg2; +- (void)_updateNavBarNavigableItemForNavItem:(id)arg1; +- (void)_setEmptyRootNavigableItem; +- (void)_clearWorkspaceloadingObservation; +- (void)_primitiveSetNavBarRootNavigableItem:(id)arg1 selectedNavigableItem:(id)arg2; +- (void)setNavBarNavigableItem:(IDENavigableItem *)arg1; +- (id)currentHistoryItemWithImageOfCurrentEditor; +- (id)currentHistoryItem; +- (id)_currentSelectedDocumentLocations; +- (void)_updateSiblingInfoFromNavigableItem; +- (void)_performBlockInsideReentrantGuard:(dispatch_block_t)arg1; +- (BOOL)_canChangeNavigableItem; +- (void)setupNewEditor:(id)arg1; +- (void)_mainViewControllerChanged; +- (void)_removeFromLastActiveEditorContexts; +- (void)_syncGradientStyleForJumpBarControls; +@property(readonly, getter=isPrimaryEditorContext) BOOL primaryEditorContext; +- (BOOL)isLastActiveEditorContext; +- (void)viewWillUninstall; +- (void)viewDidInstall; +- (BOOL)_enableJumpToCounterpartMenuItems; +- (id)_jumpToCounterpartsCategoryNavigableItem; +- (void)_setEditorGeniusResultsGenerationEnabled:(BOOL)arg1; +- (BOOL)_editorGeniusResultsGenerationEnabled; +- (void)_writeCurrentStateToLastUsedDictionaryIfNeeded; +- (id)_defaultEditorStateDictionaryForDocumentExtensionIdentifier:(id)arg1 forDocumentURL:(id)arg2; +- (id)navigableItemCoordinator:(id)arg1 editorDocumentForNavigableItem:(id)arg2; +- (void)_greatestDocumentAncestorWasForgotten; +- (id)willPresentError:(id)arg1; +- (BOOL)presentError:(id)arg1; +- (void)presentError:(id)arg1 modalForWindow:(id)arg2 delegate:(id)arg3 didPresentSelector:(SEL)arg4 contextInfo:(void *)arg5; +- (id)workspace; +- (void)loadView; +- (void)_setEditorView; +- (id)initWithNibName:(id)arg1 bundle:(id)arg2; +- (void)_adjustSubviewBorders; +- (void)setGreatestDocumentAncestor:(IDENavigableItem *)arg1; +@property(readonly) IDENavigableItem *greatestDocumentAncestor; +- (id)navBarNavigableItemRootChildItems; +- (void)setOutputSelection:(id)arg1; +- (id)outputSelection; +- (id)_generateNodeAndAddMappingToWorkspaceTabControllerLayoutTree:(id)arg1; + +// Remaining properties +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) Class superclass; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/IDEEditorDocument.h b/SCXcodeMinimap/Xcode Headers/IDEEditorDocument.h new file mode 100644 index 0000000..e5ff83e --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEEditorDocument.h @@ -0,0 +1,187 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import + +@class DVTDispatchLock, DVTExtension, DVTFileDataType, DVTFilePath, DVTMapTable, DVTNotificationToken, DVTStackBacktrace, DVTUndoManager, NSDictionary, NSMutableArray, NSMutableSet, NSSet, NSString, NSURL; + +@interface IDEEditorDocument : NSDocument +{ + DVTDispatchLock *_editorDocumentLock; + DVTExtension *_extension; + DVTFileDataType *_ide_hintedFileDataType; + DVTFilePath *_filePath; + DVTFilePath *autosavedContentsFilePath; + DVTMapTable *_readOnlyClientsForRegistrationBacktrace; + DVTNotificationToken *_willRedoChangeNotificationToken; + DVTNotificationToken *_willUndoChangeNotificationToken; + DVTStackBacktrace *_addedToDocumentControllerBacktrace; + DVTStackBacktrace *_autosaveWithImplicitCancellabilityCallerBacktrace; + DVTStackBacktrace *_beginUnlockingBacktrace; + DVTStackBacktrace *_canCloseDocumentCallPriorToClosingDocumentStackBacktrace; + DVTStackBacktrace *_continueActivityCallerBacktrace; + DVTStackBacktrace *_continueAsynchronousWorkOnMainThreadCallerBacktrace; + DVTStackBacktrace *_continueFileAccessCallerBacktrace; + DVTStackBacktrace *_creationBacktrace; + DVTStackBacktrace *_firstPerformActivityMessageBacktrace; + DVTStackBacktrace *_invalidationBacktrace; + DVTStackBacktrace *_lastUndoChangeNotificationBacktrace; + DVTUndoManager *_dvtUndoManager; + int _readOnlyStatus; + NSDictionary *_willCloseNotificationUserInfo; + NSMutableArray *_pendingChanges; + NSMutableSet *_documentEditors; + NSURL *_ide_representedURL; + id _filePresenterWriter; + BOOL _cachedHasRecentChanges; + BOOL _didDisableAutomaticTermination; + BOOL _ide_isTemporaryDocument; + BOOL _inSetUndoManager; + BOOL _inWriteSafelyToURL; + BOOL _isAttemptingToRespondToSaveDocumentAction; + BOOL _isClosing; + BOOL _isClosingForRevert; + BOOL _isInvalidated; + BOOL _isRespondingToFSChanges; + BOOL _isSafeToCallClose; + BOOL _isUndoingAfterFailureToUnlockDocument; + BOOL _isWritingToDisk; + BOOL _shouldAssertIfNotInvalidatedBeforeDealloc; + BOOL _trackFileSystemChanges; + BOOL _wholeDocumentChanged; + NSSet *_readOnlyClients; + DVTFilePath *_autosavedContentsFilePath; +} + ++ (BOOL)_presentsVersionsUserInterface; ++ (BOOL)autosavesInPlace; ++ (id)editedFileContents; ++ (id)readableTypes; ++ (BOOL)_validateDocumentExtension:(id)arg1; ++ (BOOL)_shouldShowUtilititesAreaAtLoadForSimpleFilesFocusedWorkspace; ++ (BOOL)shouldTrackFileSystemChanges; ++ (BOOL)shouldUnlockFileURLBeforeMakingChanges; ++ (void)initialize; +@property(retain, nonatomic) DVTExtension *extension; // @synthesize extension=_extension; +@property(retain) DVTStackBacktrace *creationBacktrace; // @synthesize creationBacktrace=_creationBacktrace; +@property(retain) DVTFilePath *autosavedContentsFilePath; // @synthesize autosavedContentsFilePath=_autosavedContentsFilePath; +@property(retain) DVTFilePath *filePath; // @synthesize filePath=_filePath; +@property int readOnlyStatus; // @synthesize readOnlyStatus=_readOnlyStatus; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; // @synthesize invalidationBacktrace=_invalidationBacktrace; +@property BOOL trackFileSystemChanges; // @synthesize trackFileSystemChanges=_trackFileSystemChanges; +- (void)restoreStateWithCoder:(id)arg1; +- (void)encodeRestorableStateWithCoder:(id)arg1; +- (void)restoreDocumentWindowWithIdentifier:(id)arg1 state:(id)arg2 completionHandler:(id)arg3; +- (void)unregisterReadOnlyClient:(id)arg1; +- (void)registerReadOnlyClient:(id)arg1; +@property(readonly) NSSet *readOnlyClients; // @synthesize readOnlyClients=_readOnlyClients; +- (BOOL)makeWritableWithError:(id *)arg1; +@property(readonly) NSURL *readOnlyItemURL; +- (void)_updateReadOnlyStatus; +- (void)exportDocument:(id)arg1; +@property(readonly) BOOL canExportDocument; +- (void)duplicateDocument:(id)arg1; +- (void)revertDocumentToSaved:(id)arg1; +- (BOOL)_checkAutosavingPossibilityAndReturnError:(id *)arg1; +- (BOOL)checkAutosavingSafetyAndReturnError:(id *)arg1; +- (BOOL)editingShouldAutomaticallyDuplicate; +- (id)duplicateAndReturnError:(id *)arg1; +- (id)printOperationWithSettings:(id)arg1 error:(id *)arg2; +- (BOOL)readFromData:(id)arg1 ofType:(id)arg2 error:(id *)arg3; +- (id)dataOfType:(id)arg1 error:(id *)arg2; +- (void)presentedItemDidChange; +- (void)presentedItemDidMoveToURL:(id)arg1; +- (BOOL)canRevert; +- (id)editedContents; +- (id)diffDataSource; +- (id)updatedLocationFromLocation:(id)arg1 toTimestamp:(double)arg2; +- (id)emptyPrivateCopy; +- (id)privateCopy; +- (void)updateChangedLocation:(id)arg1; +- (void)_sendOutDocumentUpdateLocation; +- (void)updateChangeCountWithToken:(id)arg1 forSaveOperation:(unsigned long long)arg2; +- (void)updateChangeCount:(unsigned long long)arg1; +- (void)ide_didFixupChangeCountWithWasEdited:(BOOL)arg1 didHaveEditsSinceLastUserInitiatedSave:(BOOL)arg2 changeString:(id)arg3; +- (BOOL)hasBeenEditedSinceLastUserInitiatedSave; +- (void)ide_revertDocumentToSaved:(id)arg1; +- (void)ide_moveDocumentTo:(id)arg1; +- (void)ide_renameDocument:(id)arg1; +- (void)ide_saveDocumentAs:(id)arg1; +- (void)ide_duplicateDocument:(id)arg1; +- (void)ide_saveDocument:(id)arg1; +- (BOOL)validateUserInterfaceItem:(id)arg1; +@property(readonly) BOOL canSaveAs; +@property(readonly) BOOL canSave; +- (BOOL)isClosingForRevert; +- (void)didExternallyRelocateFileContent; +- (void)willExternallyRelocateFileContent; +- (void)closeToRevert; +@property(readonly, getter=isClosed) BOOL closed; +- (void)close; +- (BOOL)_isClosing; +- (void)closePrivateDocumentSynchronously; +- (void)tryCloseAsynchronouslyWithCompletionBlock:(id)arg1; +- (void)_tryCloseAsynchronouslyToRevert:(BOOL)arg1 withCompletionBlock:(id)arg2; +- (void)_tryCloseAsynchronouslyToRevert:(BOOL)arg1 promptForUnsavedChanges:(BOOL)arg2 withCompletionBlock:(id)arg3; +- (void)_canCloseAsynchronouslyToRevert:(BOOL)arg1 promptForUnsavedChanges:(BOOL)arg2 withCompletionBlock:(id)arg3; +- (void)performActivityWithSynchronousWaiting:(BOOL)arg1 usingBlock:(id)arg2; +- (void)_didAddToDocumentController; +- (void)canCloseDocumentWithDelegate:(id)arg1 shouldCloseSelector:(SEL)arg2 contextInfo:(void *)arg3; +- (void)ide_editorDocument:(id)arg1 shouldClose:(BOOL)arg2 contextInfo:(void *)arg3; +@property(readonly) NSString *messageForIsValidAssertion; +- (void)editorDocumentDidClose; +- (void)editorDocumentWillClose; +- (void)saveDocumentAs:(id)arg1; +- (void)saveDocument:(id)arg1; +- (id)initForURL:(id)arg1 withContentsOfURL:(id)arg2 ofType:(id)arg3 error:(id *)arg4; +- (id)initWithContentsOfURL:(id)arg1 ofType:(id)arg2 error:(id *)arg3; +- (id)initWithType:(id)arg1 error:(id *)arg2; +- (void)_handleDocumentFileChanges:(id)arg1; +- (id)windowForSheet; +- (BOOL)_windowForSheet:(id *)arg1 workspaceForSheet:(id *)arg2 editor:(id *)arg3; +- (id)ide_displayName; +- (void)setAutosavedContentsFileURL:(id)arg1; +- (id)autosavedContentsFileURL; +- (void)setFileURL:(id)arg1; +- (id)fileURL; +- (void)relinquishPresentedItemToWriter:(id)arg1; +- (void)_respondToFileChangeOnDiskWithFilePath:(id)arg1; +- (void)saveForOperation:(unsigned long long)arg1 withCompletionHandler:(id)arg2; +- (void)saveToURL:(id)arg1 ofType:(id)arg2 forSaveOperation:(unsigned long long)arg3 completionHandler:(id)arg4; +- (void)ide_finishSaving:(BOOL)arg1 forSaveOperation:(unsigned long long)arg2 previousPath:(id)arg3; +- (BOOL)writeSafelyToURL:(id)arg1 ofType:(id)arg2 forSaveOperation:(unsigned long long)arg3 error:(id *)arg4; +- (id)fileNameExtensionForType:(id)arg1 saveOperation:(unsigned long long)arg2; +- (BOOL)revertToContentsOfURL:(id)arg1 ofType:(id)arg2 error:(id *)arg3; +- (void)unregisterDocumentEditor:(id)arg1; +- (void)registerDocumentEditor:(id)arg1; +- (id)_documentEditors; +- (void)undoManagerWillModifyItself:(id)arg1; +- (void)setHasUndoManager:(BOOL)arg1; +- (void)setUndoManager:(id)arg1; +- (void)ide_setUndoManager:(id)arg1; +- (id)undoManager; +- (void)teardownUndoManager:(id)arg1; +- (void)setupUndoManager:(id)arg1; +- (id)newUndoManager; +- (void)_startUnlockIfNeededForWorkspace:(id)arg1 window:(id)arg2 completionBlock:(id)arg3; +- (void)_unlockIfNeededCompletionBlock:(id)arg1; +- (id)init; +- (void)_changeWasRedone:(id)arg1; +- (void)_changeWasUndone:(id)arg1; +- (void)_changeWasDone:(id)arg1; +- (void)autosaveWithImplicitCancellability:(BOOL)arg1 completionHandler:(id)arg2; +- (void)continueAsynchronousWorkOnMainThreadUsingBlock:(id)arg1; +- (void)continueActivityUsingBlock:(id)arg1; +- (void)continueFileAccessUsingBlock:(id)arg1; +- (void)setSdefSupport_displayName:(id)arg1; +- (id)sdefSupport_displayName; +@property(retain) DVTFileDataType *ide_hintedFileDataType; +@property(copy) NSURL *ide_representedURL; +@property(readonly) BOOL ide_isTextRepresentation; +- (void)convertToDocumentAtFilePath:(id)arg1 forFileDataType:(id)arg2 completionBlock:(id)arg3; +@property BOOL ide_isTemporaryDocument; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEEditorModeViewController.h b/SCXcodeMinimap/Xcode Headers/IDEEditorModeViewController.h new file mode 100644 index 0000000..95fc391 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEEditorModeViewController.h @@ -0,0 +1,67 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "IDEViewController.h" + +@class DVTStateToken, IDEEditorArea, IDEEditorContext, NSDictionary; + +@interface IDEEditorModeViewController : IDEViewController +{ + IDEEditorContext *_primaryEditorContext; + IDEEditorContext *_selectedAlternateEditorContext; + NSDictionary *_lastSetEditorLayoutConfiguration; + NSDictionary *_lastSetPersistentRepresentation; + IDEEditorArea *_editorArea; +} + ++ (long long)version; ++ (void)configureStateSavingObjectPersistenceByName:(id)arg1; ++ (id)stateSavingIdentifiers; +@property(retain) IDEEditorContext *selectedAlternateEditorContext; // @synthesize selectedAlternateEditorContext=_selectedAlternateEditorContext; +@property(retain, nonatomic) IDEEditorContext *primaryEditorContext; // @synthesize primaryEditorContext=_primaryEditorContext; +@property(retain, nonatomic) IDEEditorArea *editorArea; // @synthesize editorArea=_editorArea; + +- (void)editorContext:(id)arg1 editorStateRepositoryDidChange:(id)arg2; +- (void)commitStateToDictionary:(id)arg1; +- (void)revertStateWithDictionary:(id)arg1; +- (void)_setPersistentRepresentation:(id)arg1 forIdentifier:(id)arg2; +- (id)_persistentRepresentationForIdentifier:(id)arg1; +- (void)_setPersistentRepresentation:(id)arg1; +- (id)_persistentRepresentation; +- (void)_stampEditorLayoutConfiguration:(id)arg1 forIdentifier:(id)arg2; +- (id)_liftEditorLayoutConfigurationForIdentifier:(id)arg1; +- (void)_stampEditorLayoutConfiguration:(id)arg1; +- (id)_liftEditorLayoutConfiguration; +- (BOOL)_getStateSavingStateDictionaries:(id *)arg1 selected:(id *)arg2 geometry:(id *)arg3 forPersistentRepresentation:(id)arg4; +- (id)_persistentRepresentationForStateSavingStateDictionaries:(id)arg1 selected:(id)arg2 geometry:(id)arg3; +- (BOOL)_getEditorHistoryStacks:(id *)arg1 selected:(id *)arg2 geometry:(id *)arg3 forEditorLayoutConfiguration:(id)arg4; +- (id)_editorLayoutConfigurationForEditorHistoryStacks:(id)arg1 selected:(id)arg2 geometry:(id)arg3; +- (BOOL)_getItems:(id *)arg1 itemsKey:(id)arg2 selected:(id *)arg3 geometry:(id *)arg4 inConfigurationDictionary:(id)arg5; +- (id)_configurationDictionaryWithItems:(id)arg1 itemsKey:(id)arg2 selected:(id)arg3 geometry:(id)arg4; +- (void)primitiveInvalidate; +- (id)_stealPrimaryEditorContext; +- (id)editorContexts; +- (BOOL)openEditorOpenSpecifier:(id)arg1 editorContext:(id)arg2; +- (BOOL)openEditorHistoryItem:(id)arg1 editorContext:(id)arg2; +@property(readonly) struct CGSize minimumContentViewFrameSize; +- (BOOL)canCreateSplitForNavigationHUD; +- (void)resetEditor; +- (BOOL)canResetEditor; +- (void)removeAssistantEditor; +- (id)addNewAssistantEditor; +- (BOOL)canAddNewAssistantEditor; +- (BOOL)canRemoveAssistantEditor; +- (void)addAssistantEditor; +- (BOOL)canAddAssistantEditor; +- (void)setAssistantEditorsLayout:(int)arg1; +- (BOOL)canChangeAssistantEditorsLayout; +- (id)_initWithPrimaryEditorContext:(id)arg1; + +// Remaining properties +@property(retain) DVTStateToken *stateToken; // @dynamic stateToken; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/IDEFileBreakpoint.h b/SCXcodeMinimap/Xcode Headers/IDEFileBreakpoint.h new file mode 100644 index 0000000..d7b73f6 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEFileBreakpoint.h @@ -0,0 +1,52 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "IDEBreakpoint.h" + +@class DVTObservingToken, DVTTextDocumentLocation, NSString, NSURL; + +@interface IDEFileBreakpoint : IDEBreakpoint +{ + NSURL *_documentURL; + DVTTextDocumentLocation *_location; + NSString *_filePath; + NSString *_timestampString; + long long _startingColumnNumber; + long long _endingColumnNumber; + long long _startingLineNumber; + long long _endingLineNumber; + NSString *_characterRangeString; + NSString *_landmarkName; + unsigned long long _landmarkType; + DVTObservingToken *_fileReferenceToken; + DVTObservingToken *_workspaceToken; +} + ++(id)keyPathsForValuesAffectingDisplayName; ++ (BOOL)automaticallyNotifiesObserversOfLocation; ++ (id)propertiesAffectingPersistenceState; +@property unsigned long long landmarkType; // @synthesize landmarkType=_landmarkType; +@property(copy) NSString *landmarkName; // @synthesize landmarkName=_landmarkName; +@property(copy, nonatomic) DVTTextDocumentLocation *location; // @synthesize location=_location; +@property(readonly) NSURL *documentURL; // @synthesize documentURL=_documentURL; +- (id)ideModelObjectTypeIdentifier; +- (id)zeroBasedLocation; +- (void)dvt_encodeRelationshipsWithXMLArchiver:(id)arg1 version:(id)arg2; +- (void)dvt_encodeAttributesWithXMLArchiver:(id)arg1 version:(id)arg2; +- (void)_updateFilePath; +- (id)initFromXMLUnarchiver:(id)arg1 archiveVersion:(float)arg2; +- (void)dvt_awakeFromXMLUnarchiver:(id)arg1; +- (id)description; +- (void)setLocationFromZeroBasedLocation:(id)arg1; +- (id)copyWithZone:(struct _NSZone *)arg1; +- (id)displayName; +- (void)baseSetLocation:(id)arg1; +- (void)_watchNewURL:(id)arg1; +- (void)_watchFileRefs:(id)arg1; +- (void)primitiveInvalidate; +- (id)initWithDocumentTextLocation:(id)arg1; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEFileTextSettings.h b/SCXcodeMinimap/Xcode Headers/IDEFileTextSettings.h new file mode 100644 index 0000000..b05c1e1 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEFileTextSettings.h @@ -0,0 +1,49 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import + +@class DVTStackBacktrace, IDEFileReference; + +@interface IDEFileTextSettings : NSObject +{ + IDEFileReference *_fileReference; + unsigned long long _textEncoding; + long long _tabWidth; + long long _indentWidth; + unsigned long long _lineEndings; + BOOL _usesTabs; + BOOL _wrapsLines; +} + ++ (void)initialize; +@property BOOL wrapsLines; // @synthesize wrapsLines=_wrapsLines; +@property long long indentWidth; // @synthesize indentWidth=_indentWidth; +@property long long tabWidth; // @synthesize tabWidth=_tabWidth; +@property BOOL usesTabs; // @synthesize usesTabs=_usesTabs; +@property unsigned long long textEncoding; // @synthesize textEncoding=_textEncoding; +@property unsigned long long lineEndings; // @synthesize lineEndings=_lineEndings; +@property(retain, nonatomic) IDEFileReference *fileReference; // @synthesize fileReference=_fileReference; +- (id)description; +- (void)updateWrapLines; +- (void)updateIndentWidth; +- (void)updateTabWidth; +- (void)updateUsesTabs; +- (void)updateTextEncoding; +- (void)updateLineEndings; +- (id)_textPreferences; +- (void)primitiveInvalidate; +- (void)_clearFileReferenceObservations; +- (id)init; +- (void)unregisterObserversWithSourceTextView:(id)arg1 textStorage:(id)arg2; +- (void)registerObserversWithSourceTextView:(id)arg1 textStorage:(id)arg2; + +// Remaining properties +@property(retain) DVTStackBacktrace *creationBacktrace; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; +@property(readonly, nonatomic, getter=isValid) BOOL valid; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEIssueAnnotationProvider.h b/SCXcodeMinimap/Xcode Headers/IDEIssueAnnotationProvider.h new file mode 100644 index 0000000..85318d4 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEIssueAnnotationProvider.h @@ -0,0 +1,30 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTAnnotationProvider.h" + +@class IDEAnnotationContext; + +@interface IDEIssueAnnotationProvider : DVTAnnotationProvider +{ + IDEAnnotationContext *_context; +} + ++ (id)annotationProviderForContext:(id)arg1 error:(id *)arg2; +@property(retain) IDEAnnotationContext *context; // @synthesize context=_context; +- (void)providerWillUninstall; +- (void)_rebuildAnnotations; +- (id)initWithContext:(id)arg1; +- (id)init; +- (void)didDeleteOrReplaceParagraphForAnnotation:(id)arg1; +- (void)_revealInIssueNavigator:(id)arg1; +- (double)sidebarMarkerOpacityForAnnotation:(id)arg1; +- (id)contextMenuItemsForAnnotation:(id)arg1 inTextSidebarView:(id)arg2; +- (BOOL)shouldMoveCursorForAnnotation:(id)arg1; +- (void)didClickAnnotation:(id)arg1 inTextSidebarView:(id)arg2 event:(id)arg3; +- (void)didClickMessageBubbleForAnnotation:(id)arg1 onIcon:(BOOL)arg2 inTextView:(id)arg3 event:(id)arg4; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDESourceCodeComparisonEditor.h b/SCXcodeMinimap/Xcode Headers/IDESourceCodeComparisonEditor.h new file mode 100644 index 0000000..b3230c4 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDESourceCodeComparisonEditor.h @@ -0,0 +1,44 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "IDEComparisonEditor.h" + +@class DVTSourceTextView, NSDictionary, NSString; + +@interface IDESourceCodeComparisonEditor : IDEComparisonEditor +{ + NSDictionary *_previouslyRestoredStateDictionary; +} + ++ (long long)version; ++ (void)configureStateSavingObjectPersistenceByName:(id)arg1; ++ (id)keyPathsForValuesAffectingKeyTextView; ++ (unsigned long long)assertionBehaviorAfterEndOfEventForSelector:(SEL)arg1; +- (void)find:(id)arg1; +- (id)currentEditorContext; +- (id)documentLocationForOpenQuicklyQuery:(id)arg1; +- (id)startingLocationForFindBar:(id)arg1 findingBackwards:(BOOL)arg2; +- (void)dvtFindBar:(id)arg1 didUpdateCurrentResult:(id)arg2; +- (void)dvtFindBar:(id)arg1 didUpdateResults:(id)arg2; +- (void)revertStateWithDictionary:(id)arg1; +- (void)restoreInternalComparisonDocumentLocationWithStateDictionary:(id)arg1; +- (void)commitStateToDictionary:(id)arg1; +- (void)setEditorSubmode:(int)arg1; +@property(readonly) DVTSourceTextView *keyTextView; +- (void)_updateViewBasedOnSubmode; +- (struct CGRect)overlayFrameForView:(id)arg1; +- (id)pathCell:(id)arg1 menuItemForNavigableItem:(id)arg2 defaultMenuItem:(id)arg3; +- (BOOL)pathCell:(id)arg1 shouldInitiallyShowMenuSearch:(id)arg2; +- (BOOL)pathCell:(id)arg1 shouldSeparateDisplayOfChildItemsForItem:(id)arg2; + +// Remaining properties +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) Class superclass; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/IDESourceCodeDocument.h b/SCXcodeMinimap/Xcode Headers/IDESourceCodeDocument.h new file mode 100644 index 0000000..f9c6902 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDESourceCodeDocument.h @@ -0,0 +1,164 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "IDEEditorDocument.h" + +@class DVTDelayedInvocation, DVTFileDataType, DVTGeneratedContentProvider, DVTNotificationToken, DVTObservingToken, DVTPerformanceMetric, DVTSourceCodeLanguage, DVTTextStorage, IDEDiagnosticController, IDEGeneratedContentStatusContext, IDESourceCodeAdjustNodeTypesRequest, NSArray, NSMutableSet; + +@interface IDESourceCodeDocument : IDEEditorDocument +{ + DVTTextStorage *_textStorage; + DVTSourceCodeLanguage *_language; + IDEDiagnosticController *_diagnosticController; + NSArray *_sourceLandmarks; + NSMutableSet *_pendingAdjustNodeTypeRequests; + IDESourceCodeAdjustNodeTypesRequest *_lastAdjustNodeTypesRequest; + struct _NSRange _prefetchedNodeTypesLineRange; + DVTGeneratedContentProvider *_generatedContentProvider; + IDEGeneratedContentStatusContext *_generatedContentStatusContext; + BOOL _generatesContent; + DVTObservingToken *_generatedContentProviderDisplayNameObserver; + DVTNotificationToken *_indexDidIndexWorkspaceObserver; + DVTNotificationToken *_indexDidChangeObserver; + unsigned long long _lineEndings; + unsigned long long _textEncoding; + BOOL _usesLanguageFromFileDataType; + BOOL _languageSupportsSymbolColoring; + BOOL _setUpPrintInfoDefaults; + BOOL _isUnicodeWithBOM; + BOOL _isUnicodeBE; + BOOL _droppedRecomputableState; + DVTDelayedInvocation *_dropRecomputableState; + BOOL _notifiesWhenClosing; +} + ++ (id)syntaxColoringPrefetchLogAspect; ++ (id)topLevelStructureLogAspect; ++ (void)initialize; +@property BOOL notifiesWhenClosing; // @synthesize notifiesWhenClosing=_notifiesWhenClosing; +@property(retain) IDEGeneratedContentStatusContext *generatedContentStatusContext; // @synthesize generatedContentStatusContext=_generatedContentStatusContext; +@property BOOL generatesContent; // @synthesize generatesContent=_generatesContent; +@property(readonly) struct _NSRange prefetchedNodeTypesLineRange; // @synthesize prefetchedNodeTypesLineRange=_prefetchedNodeTypesLineRange; +@property(nonatomic) unsigned long long lineEndings; // @synthesize lineEndings=_lineEndings; +@property unsigned long long textEncoding; // @synthesize textEncoding=_textEncoding; +@property(nonatomic) BOOL usesLanguageFromFileDataType; // @synthesize usesLanguageFromFileDataType=_usesLanguageFromFileDataType; +@property(retain, nonatomic) DVTSourceCodeLanguage *language; // @synthesize language=_language; +@property(readonly) DVTTextStorage *textStorage; // @synthesize textStorage=_textStorage; +- (void)_delayedDropRecomputableState:(id)arg1; +- (void)_restoreRecomputableState; +- (void)_dropRecomputableState; +- (void)_documentMovingToForeground; +- (void)_documentMovingToBackground:(BOOL)arg1; +- (void)registerDocumentEditor:(id)arg1; +- (void)unregisterDocumentEditor:(id)arg1; +- (id)sourceCodeGenerator:(id)arg1 commitInsertionOfSourceCodeForCompositeResult:(id)arg2 error:(id *)arg3; +- (id)sourceCodeGenerator:(id)arg1 prepareToAddObjectiveCAtSynthesizeWithName:(id)arg2 inClassNamed:(id)arg3 options:(id)arg4 error:(id *)arg5; +- (id)sourceCodeGenerator:(id)arg1 prepareToAddObjectiveCPropertyDeclarationWithName:(id)arg2 type:(id)arg3 inClassNamed:(id)arg4 options:(id)arg5 error:(id *)arg6; +- (id)sourceCodeGenerator:(id)arg1 prepareToAddObjectiveCPropertyReleaseForTeardownWithName:(id)arg2 type:(id)arg3 inClassNamed:(id)arg4 options:(id)arg5 error:(id *)arg6; +- (id)sourceCodeGenerator:(id)arg1 prepareToAddObjectiveCInstanceVariableReleaseForTeardownWithName:(id)arg2 inClassNamed:(id)arg3 options:(id)arg4 error:(id *)arg5; +- (id)_primitiveAddObjectiveCReleaseForTeardownMethodWithSourceCodeGenerator:(id)arg1 withReleaseCallCode:(id)arg2 inClassNamed:(id)arg3 options:(id)arg4 error:(id *)arg5; +- (id)sourceCodeGenerator:(id)arg1 prepareToAddObjectiveCInstanceVariableDeclarationWithName:(id)arg2 type:(id)arg3 inClassNamed:(id)arg4 options:(id)arg5 error:(id *)arg6; +- (id)sourceCodeGenerator:(id)arg1 prepareToAddObjectiveCClassMethodDefinitionWithName:(id)arg2 inClassNamed:(id)arg3 options:(id)arg4 error:(id *)arg5; +- (id)sourceCodeGenerator:(id)arg1 prepareToAddObjectiveCClassMethodDeclarationWithName:(id)arg2 inClassNamed:(id)arg3 options:(id)arg4 error:(id *)arg5; +- (id)sourceCodeGenerator:(id)arg1 prepareToAddObjectiveCInstanceMethodDefinitionWithName:(id)arg2 inClassNamed:(id)arg3 options:(id)arg4 error:(id *)arg5; +- (id)_primitiveAppendObjectiveCSourceCode:(id)arg1 afterItem:(id)arg2 prependNewLine:(BOOL)arg3; +- (id)sourceCodeGenerator:(id)arg1 prepareToAddObjectiveCInstanceMethodDeclarationWithName:(id)arg2 inClassNamed:(id)arg3 options:(id)arg4 error:(id *)arg5; +- (id)_primitiveAddObjectiveCMethodSourceCode:(id)arg1 toClassItem:(id)arg2 withOptions:(id)arg3 error:(id *)arg4; +- (id)_primitiveAddObjectiveCSourceCode:(id)arg1 toClassItem:(id)arg2 withOptions:(id)arg3 insertAdditionalNewlineWhenInsertingWithAfterBeforeHint:(BOOL)arg4 insertAtEndWhenInsertingWithoutHint:(BOOL)arg5 insertAfterObjCBlockWhenInsertingAtBeginning:(BOOL)arg6 ignoreHintItemsConformingToSpecifications:(id)arg7 onlyConsiderItemsConformingToSpecifications:(id)arg8 error:(id *)arg9; +- (id)_insertObjectiveCSourceCode:(id)arg1 inTeardownMethodForClassNamed:(id)arg2 options:(id)arg3 error:(id *)arg4; +- (id)_teardownMethodNameForSourceCodeGeneratorWithOptions:(id)arg1; +- (BOOL)_hasObjCMethodImplementationForName:(id)arg1 forClassNamed:(id)arg2; +- (id)_objCMethodImplementationItemForName:(id)arg1 inClassItem:(id)arg2; +- (id)_insertObjCSourceCode:(id)arg1 inTopLevelOfClassItem:(id)arg2 withInsertAfterHint:(id)arg3 andInsertBeforeHint:(id)arg4 ignoreHintItemsConformingToSpecifications:(id)arg5 onlyConsiderItemsConformingToSpecifications:(id)arg6 insertAdditionalNewline:(BOOL)arg7 insertAtEndWhenInsertingWithoutHint:(BOOL)arg8 insertAfterObjCBlockWhenInsertingAtBeginning:(BOOL)arg9; +- (id)_insertObjCSourceCode:(id)arg1 inContainingSourceModelItem:(id)arg2 withInsertAfterHint:(id)arg3 andInsertBeforeHint:(id)arg4 ignoreHintItemsConformingToSpecifications:(id)arg5 onlyConsiderItemsConformingToSpecifications:(id)arg6 insertAdditionalNewline:(BOOL)arg7 fallbackInsertionBlock:(id)arg8; +- (long long)_insertionHintMatchPriorityForObjCSourceModelItem:(id)arg1 givenInsertionHintItemName:(id)arg2 andLanguageSpecification:(id)arg3 ignoreItemsConformingToSpecifications:(id)arg4 onlyConsiderItemsConformingToSpecifications:(id)arg5; +- (id)_insertObjCSourceCode:(id)arg1 inTopLevelOfClassItem:(id)arg2 asCloseAsPossibleToLineNumber:(unsigned long long)arg3 error:(id *)arg4; +- (id)_insertObjCSourceCode:(id)arg1 inContainingSourceModelItem:(id)arg2 asCloseAsPossibleToLineNumber:(unsigned long long)arg3 firstPossibleItemToInsertBefore:(id)arg4 error:(id *)arg5; +- (id)_insertionHintForObjCSourceModelItem:(id)arg1; +- (id)_firstObjCSourceModelItemToInsertBeforeInInstanceVariableBlock:(id)arg1; +- (id)_firstTopLevelObjCInterfaceSourceModelItemToInsertBeforeInClassItem:(id)arg1; +- (id)_insertSourceCode:(id)arg1 atBeginningOfClassSourceModelItem:(id)arg2 insertOnNextLine:(BOOL)arg3 insertAfterObjCBlock:(BOOL)arg4; +- (id)_insertSourceCode:(id)arg1 atEndOfClassSourceModelItem:(id)arg2 insertOnNextLine:(BOOL)arg3; +- (id)_insertSourceCode:(id)arg1 atEndOfContainingSourceModelItem:(id)arg2 insertOnNextLine:(BOOL)arg3 beforeItemMatchingPredicateBlock:(id)arg4; +- (id)_insertSourceCode:(id)arg1 atBeginningOfContainingSourceModelItem:(id)arg2 insertOnNextLine:(BOOL)arg3 afterItemMatchingPredicateBlock:(id)arg4; +- (id)_primitiveInsertSourceCode:(id)arg1 atBeginning:(BOOL)arg2 ofContainingSourceModelItem:(id)arg3 insertOnNextLine:(BOOL)arg4 afterOrBeforeItemMatchingPredicateBlock:(id)arg5; +- (id)_textDocumentLocationForInsertingSourceCode:(id)arg1 atLocation:(unsigned long long)arg2; +- (id)_instanceVariableDeclarationBlockItemForClassItem:(id)arg1; +- (id)_objCCategoryImplementationClassModelItemForClassNamed:(id)arg1 categoryName:(id)arg2 error:(id *)arg3; +- (id)_objCCategoryInterfaceClassModelItemForClassNamed:(id)arg1 categoryName:(id)arg2 options:(id)arg3 error:(id *)arg4; +- (id)_objCImplementationClassModelItemForClassNamed:(id)arg1 error:(id *)arg2; +- (id)_objCInterfaceClassModelItemForClassNamed:(id)arg1 error:(id *)arg2; +- (id)_classModelItemForClassNamed:(id)arg1 withConditionBlock:(id)arg2; +- (id)_errorForNotFindingClassItemForClassNamed:(id)arg1 humanReadableClassItemType:(id)arg2; +- (id)supportedSourceCodeLanguagesForSourceCodeGeneration; +- (long long)defaultPropertyAccessControl; +- (id)emptyPrivateCopy; +- (id)privateCopy; +- (id)diffDataSource; +- (id)textViewWillReturnPrintJobTitle:(id)arg1; +- (id)printOperationWithSettings:(id)arg1 error:(id *)arg2; +- (BOOL)textStorageShouldAllowEditing:(id)arg1; +- (void)textStorageDidUpdateSourceLandmarks:(id)arg1; +- (void)textStorageDidProcessEditing:(id)arg1; +- (void)updateChangeCount:(unsigned long long)arg1; +- (BOOL)replaceTextWithContentsOfURL:(id)arg1 error:(id *)arg2; +- (BOOL)replaceFindResults:(id)arg1 inSelection:(struct _NSRange)arg2 withString:(id)arg3 withError:(id *)arg4; +- (BOOL)replaceFindResults:(id)arg1 withString:(id)arg2 withError:(id *)arg3; +- (BOOL)replaceFindResults:(id)arg1 withString:(id)arg2 inSelection:(struct _NSRange)arg3 withError:(id *)arg4; +- (id)findStringMatchingDescriptor:(id)arg1 backwards:(BOOL)arg2 from:(id)arg3 to:(id)arg4; +- (id)documentLocationFromCharacterRange:(struct _NSRange)arg1; +- (struct _NSRange)characterRangeFromDocumentLocation:(id)arg1; +- (id)updatedLocationFromLocation:(id)arg1 toTimestamp:(double)arg2; +- (void)prefetchNodeTypesExtraLines:(unsigned long long)arg1 upDirection:(BOOL)arg2 withContext:(id)arg3; +- (void)initialPrefetchNodeTypesForLineRange:(struct _NSRange)arg1 withContext:(id)arg2; +- (void)_prefetchNodeTypesForLineRange:(struct _NSRange)arg1 withContext:(id)arg2; +- (long long)nodeTypeForItem:(id)arg1 withContext:(id)arg2; +- (void)_adjustNodeTypeForIdentifierItem:(id)arg1 withContext:(id)arg2; +- (void)editorDocumentWillClose; +- (id)dataOfType:(id)arg1 error:(id *)arg2; +- (BOOL)writeToURL:(id)arg1 ofType:(id)arg2 error:(id *)arg3; +- (BOOL)readFromData:(id)arg1 ofType:(id)arg2 error:(id *)arg3; +- (BOOL)readFromURL:(id)arg1 ofType:(id)arg2 error:(id *)arg3; +- (void)_configureDocumentReadFromURL:(id)arg1 orData:(id)arg2 ofType:(id)arg3 usedEncoding:(unsigned long long)arg4 preferredLineEndings:(unsigned long long)arg5 readOutAttributes:(id)arg6; +- (id)_readOptionsDictionaryForURL:(id)arg1 preferredEncoding:(unsigned long long)arg2 inOutData:(id *)arg3; +- (unsigned long long)_lineEndingUsedInString:(id)arg1; +- (BOOL)canSaveAs; +- (BOOL)canSave; +@property(readonly) DVTPerformanceMetric *openingPerformanceMetric; +- (id)editedContents; +- (id)description; +@property(readonly) NSArray *knownFileReferences; +- (struct _NSRange)lineRangeOfSourceLandmark:(id)arg1; +- (id)sourceLandmarkItemAtLineNumber:(unsigned long long)arg1; +- (id)sourceLandmarkItemAtCharacterIndex:(unsigned long long)arg1; +@property(readonly) NSArray *ideTopLevelStructureObjects; +- (void)invalidateAndDisableDiagnosticController; +- (void)invalidateDiagnosticController; +@property(retain) IDEDiagnosticController *diagnosticController; // @synthesize diagnosticController=_diagnosticController; +- (id)printInfo; +- (void)setTextEncoding:(unsigned long long)arg1 convertContents:(BOOL)arg2; +@property(readonly) DVTFileDataType *fileDataType; +- (id)init; +- (void)setSdefSupport_text:(id)arg1; +- (id)sdefSupport_text; +- (void)setSdefSupport_selection:(id)arg1; +- (id)sdefSupport_selection; +- (void)setSdefSupport_selectedParagraphRange:(id)arg1; +- (id)sdefSupport_selectedParagraphRange; +- (void)setSdefSupport_selectedCharacterRange:(id)arg1; +- (id)sdefSupport_selectedCharacterRange; +- (void)setSdefSupport_notifiesWhenClosing:(BOOL)arg1; +- (BOOL)sdefSupport_notifiesWhenClosing; +- (void)setSdefSupport_contents:(id)arg1; +- (id)sdefSupport_contents; +- (void)setSdefSupport_editorSettings:(id)arg1; +- (id)sdefSupport_editorSettings; +- (id)objectSpecifier; + +// Remaining properties +@property unsigned long long supportedMatchingOptions; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDESourceCodeEditor.h b/SCXcodeMinimap/Xcode Headers/IDESourceCodeEditor.h new file mode 100644 index 0000000..2730912 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDESourceCodeEditor.h @@ -0,0 +1,283 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "IDEEditor.h" +#import "IDESourceCodeEditorContainerView.h" + +@class DVTDispatchLock, DVTLayoutManager, DVTNotificationToken, DVTObservingToken, DVTOperation, DVTScopeBarController, DVTSourceExpression, DVTSourceTextView, DVTStackBacktrace, DVTTextDocumentLocation, DVTTextSidebarView, DVTWeakInterposer, IDEAnalyzerResultsExplorer, IDENoteAnnotationExplorer, IDESingleFileProcessingToolbarController, IDESourceCodeDocument, IDESourceCodeEditorAnnotationProvider, IDESourceCodeEditorContainerView, IDESourceCodeHelpNavigationRequest, IDESourceCodeNavigationRequest, IDESourceCodeSingleLineBlameProvider, IDESourceControlLogDetailViewController, NSArray, NSDictionary, NSMutableArray, NSOperationQueue, NSPopover, NSProgressIndicator, NSScrollView, NSString, NSTimer, NSTrackingArea, NSView; + +@interface IDESourceCodeEditor : IDEEditor +{ + NSScrollView *_scrollView; + DVTSourceTextView *_textView; + DVTLayoutManager *_layoutManager; + IDESourceCodeEditorContainerView *_containerView; + DVTTextSidebarView *_sidebarView; + NSArray *_currentSelectedItems; + NSDictionary *_syntaxColoringContext; + DVTSourceExpression *_selectedExpression; + DVTSourceExpression *_mouseOverExpression; + IDESourceCodeNavigationRequest *_currentNavigationRequest; + IDESourceCodeHelpNavigationRequest *_helpNavigationRequest; + struct dispatch_queue_s *_symbolLookupQueue; + NSMutableArray *_stateChangeObservingTokens; + DVTObservingToken *_topLevelItemsObserverToken; + DVTObservingToken *_firstResponderObserverToken; + DVTObservingToken *_editorLiveIssuesEnabledObserverToken; + DVTObservingToken *_navigatorLiveIssuesEnabledObserverToken; + DVTNotificationToken *_workspaceLiveSourceIssuesEnabledObserver; + DVTObservingToken *_needsDiagnosisObserverToken; + DVTObservingToken *_diagnosticItemsObserverToken; + NSOperationQueue *_diagnoseRelatedFilesQueue; + DVTOperation *_findRelatedFilesOperation; + DVTObservingToken *_sessionInProgressObserverToken; + DVTNotificationToken *_blueprintDidChangeNotificationObservingToken; + DVTNotificationToken *_textStorageDidProcessEndingObserver; + DVTNotificationToken *_textViewBoundsDidChangeObservingToken; + DVTNotificationToken *_sourceCodeDocumentWillSaveNotificationToken; + DVTNotificationToken *_sourceCodeDocumentDidSaveNotificationToken; + DVTNotificationToken *_indexDidChangeNotificationToken; + IDESourceCodeEditorAnnotationProvider *_annotationProvider; + IDEAnalyzerResultsExplorer *_analyzerResultsExplorer; + DVTWeakInterposer *_analyzerResultsScopeBar_dvtWeakInterposer; + BOOL _hidingAnalyzerExplorer; + IDENoteAnnotationExplorer *_noteAnnotationExplorer; + IDESourceCodeSingleLineBlameProvider *_blameProvider; + NSPopover *_blameLogPopover; + IDESourceControlLogDetailViewController *_blameDetailController; + IDESingleFileProcessingToolbarController *_singleFileProcessingToolbarController; + NSView *_emptyView; + NSProgressIndicator *_contentGenerationProgressIndicator; + NSTimer *_contentGenerationProgressTimer; + NSOperationQueue *_tokenizeQueue; + DVTDispatchLock *_tokenizeAccessLock; + unsigned long long _tokenizeGeneration; + NSTrackingArea *_mouseTracking; + NSDictionary *_previouslyRestoredStateDictionary; + long long _previousLineNumber; + unsigned long long _lastFocusedAnnotationIndex; + struct _NSRange _lastEditedCharRange; + DVTTextDocumentLocation *_continueToHereDocumentLocation; + DVTTextDocumentLocation *_continueToLineDocumentLocation; + DVTWeakInterposer *_hostViewController_dvtWeakInterposer; + struct { + unsigned int wantsDidScroll:1; + unsigned int wantsDidFinishAnimatingScroll:1; + unsigned int supportsContextMenuCustomization:1; + unsigned int supportsAnnotationContextCreation:1; + unsigned int wantsDidLoadAnnotationProviders:1; + unsigned int reserved:3; + } _hvcFlags; + BOOL _trackingMouse; + BOOL _initialSetupDone; + BOOL _nodeTypesPrefetchingStarted; + BOOL _isUninstalling; +} + ++ (id)keyPathsForValuesAffectingIsWorkspaceBuilding; ++ (void)revertStateWithDictionary:(id)arg1 withSourceTextView:(id)arg2 withEditorDocument:(id)arg3; ++ (void)commitStateToDictionary:(id)arg1 withSourceTextView:(id)arg2; ++ (long long)version; ++ (void)configureStateSavingObjectPersistenceByName:(id)arg1; +@property(retain) IDESingleFileProcessingToolbarController *singleFileProcessingToolbarController; // @synthesize singleFileProcessingToolbarController=_singleFileProcessingToolbarController; +@property(retain) IDEAnalyzerResultsExplorer *analyzerResultsExplorer; // @synthesize analyzerResultsExplorer=_analyzerResultsExplorer; +@property(retain, nonatomic) DVTSourceExpression *mouseOverExpression; // @synthesize mouseOverExpression=_mouseOverExpression; +@property(retain) IDESourceCodeEditorContainerView *containerView; // @synthesize containerView=_containerView; +@property(retain) DVTSourceTextView *textView; // @synthesize textView=_textView; +@property(retain) NSScrollView *scrollView; // @synthesize scrollView=_scrollView; +- (BOOL)editorWantsAnnotationsFromProviderClass:(Class)arg1; +- (BOOL)editorDocumentIsCurrentRevision; +- (BOOL)editorIsHostedInComparisonEditor; +- (id)_documentLocationForLineNumber:(long long)arg1; +- (void)_createFileBreakpointAtLocation:(long long)arg1; +- (id)_breakpointManager; +- (long long)_currentOneBasedLineNubmer; +- (id)currentEditorContext; +- (id)documentLocationForOpenQuicklyQuery:(id)arg1; +- (void)openQuicklyScoped:(id)arg1; +- (void)debugLogJumpToDefinitionState:(id)arg1; +- (id)_jumpToDefinitionOfExpression:(id)arg1 fromScreenPoint:(struct CGPoint)arg2 clickCount:(long long)arg3 modifierFlags:(unsigned long long)arg4; +- (void)_cancelHelpNavigationRequest; +- (void)_cancelCurrentNavigationRequest; +- (void)contextMenu_revealInSymbolNavigator:(id)arg1; +- (void)jumpToSelection:(id)arg1; +- (void)jumpToDefinitionWithShiftPlusAlternate:(id)arg1; +- (void)jumpToDefinitionWithAlternate:(id)arg1; +- (void)jumpToDefinition:(id)arg1; +- (void)revealInSymbolNavigator:(id)arg1; +- (unsigned long long)_insertionIndexUnderMouse; +- (id)_documentLocationUnderMouse; +- (id)_calculateContinueToDocumentLocationFromDocumentLocation:(id)arg1; +- (id)_calculateContinueToLineDocumentLocation; +- (id)_calculateContinueToHereDocumentLocation; +- (BOOL)validateMenuItem:(id)arg1; +- (void)menuNeedsUpdate:(id)arg1; +- (void)mouseExited:(id)arg1; +- (void)mouseEntered:(id)arg1; +- (void)mouseMoved:(id)arg1; +- (void)deregisterForMouseEvents; +- (void)registerForMouseEvents; +- (struct CGRect)expressionFrameForExpression:(id)arg1; +- (id)importStringInExpression:(id)arg1; +- (BOOL)isExpressionModuleImport:(id)arg1; +- (BOOL)isExpressionPoundImport:(id)arg1; +- (BOOL)_isExpressionImport:(id)arg1 module:(BOOL)arg2; +- (BOOL)expressionContainsExecutableCode:(id)arg1; +- (BOOL)isExpressionFunctionOrMethodCall:(id)arg1; +- (BOOL)isExpressionInFunctionOrMethodBody:(id)arg1; +- (BOOL)isLocationInFunctionOrMethodBody:(id)arg1; +- (BOOL)isExpressionFunctionOrMethodDefinition:(id)arg1; +- (BOOL)isExpressionInPlainCode:(id)arg1; +- (BOOL)isExpressionWithinComment:(id)arg1; +- (void)symbolsForExpression:(id)arg1 inQueue:(struct dispatch_queue_s *)arg2 completionBlock:(id)arg3; +@property(readonly, nonatomic) NSString *selectedText; +@property(readonly, nonatomic) struct CGRect currentSelectionFrame; +- (void)_sendDelayedSelectedExpressionDidChangeMessage; +@property(retain, nonatomic) DVTSourceExpression *selectedExpression; // @synthesize selectedExpression=_selectedExpression; +- (void)_invalidateMouseOverExpression; +@property(readonly) DVTSourceExpression *quickHelpExpression; +@property(readonly) DVTSourceExpression *contextMenuExpression; +- (void)_updatedMouseOverExpression; +- (void)_updateSelectedExpression; +- (BOOL)_expression:(id)arg1 representsTheSameLocationAsExpression:(id)arg2; +- (id)_expressionAtCharacterIndex:(unsigned long long)arg1; +- (id)refactoringExpressionUsingContextMenu:(BOOL)arg1; +- (id)selectedTestsAndTestables; +- (id)_testFromModelItem:(id)arg1 fromTests:(id)arg2; +- (void)specialPaste:(id)arg1; +- (id)_specialPasteContext; +- (void)_changeSourceCodeLanguageAction:(id)arg1; +- (void)_useSourceCodeLanguageFromFileDataTypeAction:(id)arg1; +- (void)_askToPromoteToUnicodeSheetDidEnd:(id)arg1 returnCode:(long long)arg2 contextInfo:(void *)arg3; +- (void)_askToPromoteToUnicode; +- (void)_applyPerFileTextSettings; +- (void)textView:(id)arg1 doubleClickedOnCell:(id)arg2 inRect:(struct CGRect)arg3 atIndex:(unsigned long long)arg4; +- (void)textView:(id)arg1 clickedOnCell:(id)arg2 inRect:(struct CGRect)arg3 atIndex:(unsigned long long)arg4; +- (void)contextMenu_toggleIssueShown:(id)arg1; +- (void)toggleIssueShown:(id)arg1; +- (void)_enumerateDiagnosticAnnotationsInSelection:(id)arg1; +- (id)_jumpToAnnotationWithSelectedRange:(struct _NSRange)arg1 fixIt:(BOOL)arg2 backwards:(BOOL)arg3; +- (void)fixAllInScope:(id)arg1; +- (id)fixableDiagnosticAnnotationsInScope; +- (id)_diagnosticAnnotationsInScopeFixableOnly:(BOOL)arg1; +- (id)_diagnosticAnnotationsInRange:(struct _NSRange)arg1 fixableOnly:(BOOL)arg2; +- (void)popoverWillClose:(id)arg1; +- (id)viewWindow; +- (BOOL)detailShouldShowOpenBlameView; +- (void)openBlameView; +- (void)openComparisonView; +- (void)blameSelectedLine:(id)arg1; +- (void)_showDocumentationForSelectedSymbol:(id)arg1; +- (void)showQuickHelp:(id)arg1; +- (void)continueToCurrentLine:(id)arg1; +- (void)continueToHere:(id)arg1; +- (void)toggleInvisibleCharactersShown:(id)arg1; +- (void)toggleBreakpointAtCurrentLine:(id)arg1; +- (void)_stopShowingContentGenerationProgressInidcator; +- (void)_showContentGenerationProgressIndicatorWithDelay:(double)arg1; +- (void)_contentGenerationProgressTimerFired:(id)arg1; +- (void)_hideEmptyView; +- (void)_showEmptyViewWithMessage:(id)arg1; +- (void)_centerViewInSuperView:(id)arg1; +- (void)compileCurrentFile; +- (void)analyzeCurrentFile; +- (void)preprocessCurrentFile; +- (void)assembleCurrentFile; +- (void)_processCurrentFileUsingBuildCommand:(int)arg1; +- (id)_singleFileProcessingFilePath; +- (void)startSingleProcessingModeForURL:(id)arg1; +@property(readonly) BOOL isWorkspaceBuilding; +- (BOOL)canAssembleFile; +- (BOOL)canPreprocessFile; +- (BOOL)canAnalyzeFile; +- (BOOL)canCompileFile; +- (void)stopNoteExplorer; +- (void)startNoteExplorerForItem:(id)arg1; +- (void)showErrorsOnly:(id)arg1; +- (void)showAllIssues:(id)arg1; +- (void)toggleMessageBubbles:(id)arg1; +- (void)hideAnalyzerExplorerAnimate:(BOOL)arg1; +- (void)showAnalyzerExplorerForMessage:(id)arg1 animate:(BOOL)arg2; +- (void)_startPrefetchingNodeTypesInUpDirection:(BOOL)arg1 initialLineRange:(struct _NSRange)arg2 noProgressIterations:(unsigned long long)arg3; +- (void)revertStateWithDictionary:(id)arg1; +- (void)commitStateToDictionary:(id)arg1; +- (void)configureStateSavingObservers; +- (id)_transientStateDictionaryForDocument:(id)arg1; +- (id)_stateDictionariesForDocuments; +- (id)cursorForAltTemporaryLink; +- (void)_textViewDidLoseFirstResponder; +- (BOOL)completingTextViewHandleCancel:(id)arg1; +- (void)textViewDidScroll:(id)arg1; +- (void)textViewDidFinishAnimatingScroll:(id)arg1; +- (id)textView:(id)arg1 menu:(id)arg2 forEvent:(id)arg3 atIndex:(unsigned long long)arg4; +- (void)tokenizableItemsForItemAtRange:(struct _NSRange)arg1 completionBlock:(id)arg2; +- (void)textViewBoundsDidChange:(id)arg1; +- (void)textView:(id)arg1 handleMouseDidExitSidebar:(id)arg2; +- (void)textView:(id)arg1 handleMouseDidMoveOverSidebar:(id)arg2 atLineNumber:(unsigned long long)arg3; +- (void)textView:(id)arg1 handleMouseDownInSidebar:(id)arg2 atLineNumber:(unsigned long long)arg3; +- (id)completingTextView:(id)arg1 documentLocationForWordStartLocation:(unsigned long long)arg2; +- (void)completingTextView:(id)arg1 willPassContextToStrategies:(id)arg2 atWordStartLocation:(unsigned long long)arg3; +- (void)textView:(id)arg1 didClickOnTemporaryLinkAtCharacterIndex:(unsigned long long)arg2 event:(id)arg3 isAltEvent:(BOOL)arg4; +- (void)_doubleClickOnTemporaryHelpLinkTimerExpired; +- (void)_doubleClickOnTemporaryLinkTimerExpired; +- (BOOL)textView:(id)arg1 shouldShowTemporaryLinkForCharacterAtIndex:(unsigned long long)arg2 proposedRange:(struct _NSRange)arg3 effectiveRanges:(id *)arg4; +- (void)textView:(id)arg1 didRemoveAnnotations:(id)arg2; +- (void)textViewDidLoadAnnotationProviders:(id)arg1; +- (id)annotationContextForTextView:(id)arg1; +- (id)syntaxColoringContextForTextView:(id)arg1; +- (BOOL)textView:(id)arg1 shouldChangeTextInRange:(struct _NSRange)arg2 replacementString:(id)arg3; +- (void)setupTextViewContextMenuWithMenu:(id)arg1; +- (void)setupGutterContextMenuWithMenu:(id)arg1; +- (void)textViewDidChangeSelection:(id)arg1; +- (void)textDidChange:(id)arg1; +- (void)removeVisualization:(id)arg1 fadeOut:(BOOL)arg2 completionBlock:(id)arg3; +- (void)addVisualization:(id)arg1 fadeIn:(BOOL)arg2 completionBlock:(id)arg3; +@property(readonly) NSArray *visualizations; +- (id)pathCell:(id)arg1 menuItemForNavigableItem:(id)arg2 defaultMenuItem:(id)arg3; +- (BOOL)pathCell:(id)arg1 shouldInitiallyShowMenuSearch:(id)arg2; +- (BOOL)pathCell:(id)arg1 shouldSeparateDisplayOfChildItemsForItem:(id)arg2; +- (struct _NSRange)selectedRangeForFindBar:(id)arg1; +- (id)startingLocationForFindBar:(id)arg1 findingBackwards:(BOOL)arg2; +- (void)dvtFindBar:(id)arg1 didUpdateCurrentResult:(id)arg2; +- (void)dvtFindBar:(id)arg1 didUpdateResults:(id)arg2; +- (void)_sourceCodeDocumentDidSave:(id)arg1; +- (void)_sourceCodeDocumentWillSave:(id)arg1; +- (void)didSetupEditor; +- (void)takeFocus; +- (BOOL)canBecomeMainViewController; +- (id)undoManagerForTextView:(id)arg1; +- (void)viewWillUninstall; +- (void)viewDidInstall; +- (void)contentViewDidCompleteLayout; +- (void)_doInitialSetup; +- (void)_liveIssuesPreferencesUpdatedInvalidateDiagnosticController:(BOOL)arg1; +- (void)_blueprintDidChangeForSourceCodeEditor:(id)arg1; +- (void)_endObservingDiagnosticItems; +- (void)_startObservingDiagnosticItems; +- (void)primitiveInvalidate; +- (void)selectDocumentLocations:(id)arg1 highlightSelection:(BOOL)arg2; +- (void)selectAndHighlightDocumentLocations:(id)arg1; +- (void)selectDocumentLocations:(id)arg1; +- (void)navigateToAnnotationWithRepresentedObject:(id)arg1 wantsIndicatorAnimation:(BOOL)arg2 exploreAnnotationRepresentedObject:(id)arg3; +- (id)currentSelectedDocumentLocations; +- (id)_currentSelectedLandmarkItem; +- (void)setCurrentSelectedItems:(id)arg1; +- (id)currentSelectedItems; +- (void)_refreshCurrentSelectedItemsIfNeeded; +- (BOOL)_isCurrentSelectedItemsValid; +@property(readonly) IDESourceCodeEditorAnnotationProvider *annotationProvider; // @synthesize annotationProvider=_annotationProvider; +- (id)mainScrollView; +@property(readonly) IDESourceCodeDocument *sourceCodeDocument; +- (void)loadView; +- (id)initWithNibName:(id)arg1 bundle:(id)arg2 document:(id)arg3; +@property __weak DVTScopeBarController *analyzerResultsScopeBar; + +// Remaining properties +@property(retain) DVTStackBacktrace *creationBacktrace; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; +@property(readonly, nonatomic, getter=isValid) BOOL valid; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDESourceCodeEditorContainerView.h b/SCXcodeMinimap/Xcode Headers/IDESourceCodeEditorContainerView.h new file mode 100644 index 0000000..57bd178 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDESourceCodeEditorContainerView.h @@ -0,0 +1,27 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + + +@class DVTStackBacktrace, IDESourceCodeEditor, IDEViewController; + +@interface IDESourceCodeEditorContainerView : NSView +{ + IDESourceCodeEditor *_editor; + IDEViewController *_toolbarViewController; +} + ++ (void)initialize; +@property(retain) IDESourceCodeEditor *editor; // @synthesize editor=_editor; +- (void)primitiveInvalidate; +- (void)showToolbarWithViewController:(id)arg1; +- (void)didCompleteLayout; + +// Remaining properties +@property(retain) DVTStackBacktrace *creationBacktrace; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; +@property(readonly, nonatomic, getter=isValid) BOOL valid; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEViewController.h b/SCXcodeMinimap/Xcode Headers/IDEViewController.h new file mode 100644 index 0000000..69501aa --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEViewController.h @@ -0,0 +1,39 @@ +/* + * Generated by class-dump 3.3.4 (64 bit). + * + * class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard. + */ + +#import "DVTViewController.h" + +@class DVTStateToken, IDESelection, IDEWorkspace, IDEWorkspaceDocument, IDEWorkspaceTabController; + +@interface IDEViewController : DVTViewController +{ + IDEWorkspaceTabController *_workspaceTabController; + id _outputSelection; + id _contextMenuSelection; + DVTStateToken *_stateToken; +} + ++ (void)configureStateSavingObjectPersistenceByName:(id)arg1; ++ (long long)version; +@property(retain, nonatomic) IDEWorkspaceTabController *workspaceTabController; // @synthesize workspaceTabController=_workspaceTabController; +@property(copy) IDESelection *contextMenuSelection; // @synthesize contextMenuSelection=_contextMenuSelection; +@property(copy) IDESelection *outputSelection; // @synthesize outputSelection=_outputSelection; +- (void)setStateToken:(id)arg1; +- (BOOL)_knowsAboutInstalledState; +- (void)revertState; +- (void)commitState; +- (void)commitStateToDictionary:(id)arg1; +- (void)revertStateWithDictionary:(id)arg1; +- (void)primitiveInvalidate; +@property(readonly) BOOL automaticallyInvalidatesChildViewControllers; +- (void)_invalidateSubViewControllersForView:(id)arg1; +- (id)supplementalTargetForAction:(SEL)arg1 sender:(id)arg2; +@property(readonly) IDEWorkspace *workspace; +@property(readonly) IDEWorkspaceDocument *workspaceDocument; +- (id)workspaceDocumentProvider; +- (id)initWithNibName:(id)arg1 bundle:(id)arg2; + +@end diff --git a/SCXcodeMinimap/Xcode Headers/IDEWorkspaceTabController.h b/SCXcodeMinimap/Xcode Headers/IDEWorkspaceTabController.h new file mode 100644 index 0000000..e495f18 --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEWorkspaceTabController.h @@ -0,0 +1,338 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import "IDEViewController.h" + +@class DVTFilePath, DVTMutableOrderedSet, DVTNotificationToken, DVTObservingToken, DVTReplacementView, DVTSplitView, DVTSplitViewItem, IDEARCConversionAssistantContext, IDEAppChooserWindowController, IDEBuildAlertMonitor, IDEEditorArea, IDEExecutionHoldAlertHelper, IDELaunchSession, IDENavigatorArea, IDEObjCModernizationAssistantContext, IDERunAlertMonitor, IDESwiftMigrationAssistantContext, IDEUnitTestsModernizationAssistantContext, IDEWorkspace, IDEWorkspaceDocument, IDEWorkspaceWindowController, NSAlert, NSDocument, NSMapTable, NSMutableArray, NSString; + +@interface IDEWorkspaceTabController : IDEViewController +{ + DVTSplitView *_designAreaSplitView; + DVTReplacementView *_navReplacementView; + DVTSplitView *_utilityAreaSplitView; + DVTSplitViewItem *_navigatorAreaSplitViewItem; + DVTSplitViewItem *_utilitiesAreaSplitViewItem; + DVTReplacementView *_inspectorReplacementView; + DVTReplacementView *_libraryReplacementView; + DVTMutableOrderedSet *_cursorRectInterceptors; + NSMapTable *_additionControllersForLaunchSessionTable; + NSMutableArray *_debuggingUIControllerLifeCycleObservers; + NSString *_userDefinedTabLabel; + NSString *_lastValidUserDefinedName; + NSMapTable *_observerTokenForLaunchSessionTable; + NSMapTable *_observerTokenForLaunchSessionsDebuggingAdditionsTable; + NSMutableArray *_uiControllerObserverEntries; + DVTObservingToken *_mainCurrentLaunchSessionObserverToken; + DVTObservingToken *_currentLaunchSessionStateObserverToken; + DVTObservingToken *_launchSessionAlertErrorObservingToken; + DVTObservingToken *_debugSessionObserverToken; + DVTObservingToken *_debugSessionCoalescedStateObservingToken; + DVTObservingToken *_firstTimeSnapshotObserverToken; + DVTNotificationToken *_codesignFailureObserver; + NSAlert *_stoppingExecutionAlert; + id _pendingExecutionNotificationToken; + IDEBuildAlertMonitor *_buildAlertMonitor; + IDERunAlertMonitor *_runAlertMonitor; + IDEARCConversionAssistantContext *_conversionAssistantContext; + IDEObjCModernizationAssistantContext *_objcModernizationAssistantContext; + IDEUnitTestsModernizationAssistantContext *_unitTestsModernizationAssistantContext; + IDESwiftMigrationAssistantContext *_swiftMigrationAssistantContext; + BOOL _userWantsUtilitiesVisible; + BOOL _userWantsNavigatorVisible; + BOOL _isAnimatingUtilities; + BOOL _tabLoadingCompleted; + BOOL _stateRestoreCompleted; + int _assistantEditorsLayout; + IDEWorkspaceDocument *_workspaceDocument; + NSString *_name; + IDELaunchSession *_currentLaunchSession; + DVTReplacementView *_editorReplacementView; + DVTObservingToken *_documentLoadingObservationToken; + DVTObservingToken *_firstIssueObservationToken; + DVTObservingToken *_buildCompleteObservationToken; + NSString *_savedTabLabel; + DVTFilePath *_savedTabFilePath; + IDEAppChooserWindowController *_appChooserWindowController; + IDEExecutionHoldAlertHelper *_executionHoldAlertHelper; +} + ++ (id)keyPathsForValuesAffectingTabLabel; ++ (void)initialize; ++ (id)keyPathsForValuesAffectingEditorArea; ++ (id)keyPathsForValuesAffectingNavigatorArea; ++ (id)keyPathsForValuesAffectingWindowController; ++ (id)keyPathsForValuesAffectingShowNavigator; ++ (id)keyPathsForValuesAffectingShowUtilities; ++ (id)keyPathsForValuesAffectingWorkspace; ++ (BOOL)automaticallyNotifiesObserversOfCurrentLaunchSession; ++ (long long)version; ++ (void)configureStateSavingObjectPersistenceByName:(id)arg1; ++ (int)defaultAssistantEditorsLayout; ++ (void)setDefaultAssistantEditorsLayout:(int)arg1; ++ (BOOL)automaticallyNotifiesObserversOfSavedTabFilePath; ++ (BOOL)automaticallyNotifiesObserversOfSavedTabLabel; +@property(retain) IDEExecutionHoldAlertHelper *executionHoldAlertHelper; // @synthesize executionHoldAlertHelper=_executionHoldAlertHelper; +@property(retain) IDEAppChooserWindowController *appChooserWindowController; // @synthesize appChooserWindowController=_appChooserWindowController; +@property(retain, nonatomic) DVTFilePath *savedTabFilePath; // @synthesize savedTabFilePath=_savedTabFilePath; +@property(copy, nonatomic) NSString *savedTabLabel; // @synthesize savedTabLabel=_savedTabLabel; +@property(retain) DVTObservingToken *buildCompleteObservationToken; // @synthesize buildCompleteObservationToken=_buildCompleteObservationToken; +@property(retain) DVTObservingToken *firstIssueObservationToken; // @synthesize firstIssueObservationToken=_firstIssueObservationToken; +@property(retain) DVTObservingToken *documentLoadingObservationToken; // @synthesize documentLoadingObservationToken=_documentLoadingObservationToken; +@property BOOL stateRestoreCompleted; // @synthesize stateRestoreCompleted=_stateRestoreCompleted; +@property(retain) DVTReplacementView *editorReplacementView; // @synthesize editorReplacementView=_editorReplacementView; +@property(nonatomic) BOOL tabLoadingCompleted; // @synthesize tabLoadingCompleted=_tabLoadingCompleted; +@property(nonatomic) int assistantEditorsLayout; // @synthesize assistantEditorsLayout=_assistantEditorsLayout; +@property(retain, nonatomic) IDELaunchSession *currentLaunchSession; // @synthesize currentLaunchSession=_currentLaunchSession; +@property(copy) NSString *name; // @synthesize name=_name; +@property BOOL isAnimatingUtilities; // @synthesize isAnimatingUtilities=_isAnimatingUtilities; +@property(nonatomic) BOOL userWantsNavigatorVisible; // @synthesize userWantsNavigatorVisible=_userWantsNavigatorVisible; +@property(nonatomic) BOOL userWantsUtilitiesVisible; // @synthesize userWantsUtilitiesVisible=_userWantsUtilitiesVisible; +@property(retain) DVTReplacementView *navigatorReplacementView; // @synthesize navigatorReplacementView=_navReplacementView; +@property(copy) NSString *userDefinedTabLabel; // @synthesize userDefinedTabLabel=_userDefinedTabLabel; +@property(retain) IDEWorkspaceDocument *workspaceDocument; // @synthesize workspaceDocument=_workspaceDocument; +- (void)discardEditing; +- (BOOL)commitEditingForAction:(int)arg1 errors:(id)arg2; +@property(readonly) DVTFilePath *tabFilePath; +@property(readonly) NSString *tabLabel; +@property(retain) NSDocument *document; +- (void)codesignFailureNotification:(id)arg1 continuationBlock:(dispatch_block_t)arg2; +- (id)_codesigningInfoDelegateProvider; +- (void)moveKeyboardFocusToPreviousArea:(id)arg1; +- (void)moveKeyboardFocusToNextArea:(id)arg1; +- (void)_moveKeyboardFocusToNextAreaForward:(BOOL)arg1; +- (id)_keyboardFocusAreas; +- (id)_currentFirstResponderArea; +- (void)performCloseWorkspace:(id)arg1; +- (void)_workspaceDocument:(id)arg1 shouldClose:(BOOL)arg2 contextInfo:(void *)arg3; +- (void)setShowDisassemblyWhenDebugging:(id)arg1; +- (void)reloadConsole:(id)arg1; +- (void)clearConsole:(id)arg1; +- (void)viewMemory:(id)arg1; +- (void)_swiftMigrationFoundErrorsAlertDidEnd:(id)arg1 returnCode:(long long)arg2 contextInfo:(void *)arg3; +- (void)showSwiftMigrationAssistant:(id)arg1; +- (void)_unitTestsModernizationFoundErrorsAlertDidEnd:(id)arg1 returnCode:(long long)arg2 contextInfo:(void *)arg3; +- (void)showModernUnitTestsConversionAssistant:(id)arg1; +- (void)_objCModernizationFoundErrorsAlertDidEnd:(id)arg1 returnCode:(long long)arg2 contextInfo:(void *)arg3; +- (void)showModernObjectiveCConversionAssistant:(id)arg1; +- (void)showARCConversionAssistant:(id)arg1; +- (void)showSharedLibrariesPopUp:(id)arg1; +- (void)attachByPIDOrName:(id)arg1; +- (void)attachToProcess:(id)arg1; +- (void)backgroundFetchEvent:(id)arg1; +- (void)stepOut:(id)arg1; +- (void)stepOverInstruction:(id)arg1; +- (void)stepOverThread:(id)arg1; +- (void)stepOver:(id)arg1; +- (void)stepIntoInstruction:(id)arg1; +- (void)stepIntoThread:(id)arg1; +- (void)stepInto:(id)arg1; +- (void)detach:(id)arg1; +- (void)pauseOrContinue:(id)arg1; +- (void)toggleBreakpoints:(id)arg1; +- (void)createTestFailureBreakpoint:(id)arg1; +- (void)createSymbolicBreakpoint:(id)arg1; +- (void)createExceptionBreakpoint:(id)arg1; +- (void)restoreSnapshot:(id)arg1; +- (void)createSnapshot:(id)arg1; +- (void)editWorkspaceUserSettings:(id)arg1; +- (void)newRunContext:(id)arg1; +- (void)takeScreenshot:(id)arg1; +- (void)createBot:(id)arg1; +- (void)manageRunContexts:(id)arg1; +- (void)selectPreviousDestination:(id)arg1; +- (void)selectNextDestination:(id)arg1; +- (void)selectPreviousRunContext:(id)arg1; +- (void)selectNextRunContext:(id)arg1; +- (dispatch_block_t)_prevIndex; +- (dispatch_block_t)_nextIndex; +- (void)_selectDestination:(dispatch_block_t)arg1; +- (void)_selectRunContext:(dispatch_block_t)arg1; +- (void)editActiveRunContext:(id)arg1; +- (void)editAndAnalyzeActiveRunContext:(id)arg1; +- (void)editBuildAndIntegrateActiveRunContext:(id)arg1; +- (void)editBuildAndArchiveActiveRunContext:(id)arg1; +- (void)editAndBuildForTestingActiveRunContext:(id)arg1; +- (void)editAndTestActiveRunContext:(id)arg1; +- (void)editAndBuildForProfilingActiveScheme:(id)arg1; +- (void)editAndProfileActiveScheme:(id)arg1; +- (void)editAndBuildForRunningActiveRunContext:(id)arg1; +- (void)editAndRunActiveRunContext:(id)arg1; +- (void)_doCommandForEditAndSchemeCommand:(id)arg1; +- (void)_doCommandForEditAndSchemeCommand:(id)arg1 schemeTask:(int)arg2; +- (void)showAppChooserIfNecessaryForScheme:(id)arg1 runDestination:(id)arg2 command:(id)arg3 onCompletion:(dispatch_block_t)arg4; +- (BOOL)_shouldShowAppChooserForScheme:(id)arg1 command:(id)arg2; +- (void)_showAppChooserForCurrentSchemeIfNecessaryForCommand:(id)arg1 launch:(dispatch_block_t)arg2; +- (void)showModalAlertForScheme:(id)arg1; +- (void)runWithoutBuildingForSchemeIdentifier:(id)arg1 runDestination:(id)arg2 invocationRecord:(id)arg3; +- (void)compileFileAtPath:(id)arg1 forSchemeCommand:(id)arg2; +- (void)analyzeFileAtPath:(id)arg1; +- (void)generateAssemblyCodeForFilePath:(id)arg1 forSchemeCommand:(id)arg2; +- (void)generatePreprocessedFileForFilePath:(id)arg1 forSchemeCommand:(id)arg2; +- (void)cleanBuildFolder:(id)arg1; +- (void)reallyCleanBuildFolder; +- (void)cleanActiveRunContext:(id)arg1; +- (void)installActiveRunContext:(id)arg1; +- (void)analyzeActiveRunContext:(id)arg1; +- (void)buildAndRunToGenerateOptimizationProfileActiveRunContext:(id)arg1; +- (void)buildForInstallActiveRunContext:(id)arg1; +- (void)buildAndIntegrateActiveRunContext:(id)arg1; +- (void)buildAndArchiveActiveRunContext:(id)arg1; +- (void)buildActiveRunContext:(id)arg1; +- (void)testActiveRunContextWithoutBuilding:(id)arg1; +- (void)buildForTestActiveRunContext:(id)arg1; +- (void)profileUsingActiveRunContextWithOverridingTestingSpecifiers:(id)arg1; +- (void)testUsingActiveRunContextWithOverridingTestingSpecifiers:(id)arg1; +- (void)testActiveRunContext:(id)arg1; +- (void)profileActiveSchemeWithoutBuilding:(id)arg1; +- (void)buildForProfileActiveRunContext:(id)arg1; +- (void)profileActiveScheme:(id)arg1; +- (void)runActiveRunContextWithoutBuilding:(id)arg1; +- (void)_runWithoutBuildingForScheme:(id)arg1 runDestination:(id)arg2 invocationRecord:(id)arg3; +- (void)buildForRunActiveRunContext:(id)arg1; +- (void)_alertNonExistentWorkingDirectoryBeforeRunOrProfileForContext:(id)arg1 workingDirectory:(id)arg2 title:(id)arg3 defaultButton:(id)arg4 usingBlock:(dispatch_block_t)arg5; +- (void)_alertNonExistentWorkingDirectoryBeforeProfileForContext:(id)arg1 usingBlock:(dispatch_block_t)arg2; +- (void)_alertNonExistentWorkingDirectoryBeforeRunForContext:(id)arg1 usingBlock:(dispatch_block_t)arg2; +- (void)_askShouldBuildBeforeRunOrProfileForContext:(id)arg1 title:(id)arg2 defaultButton:(id)arg3 usingBlock:(dispatch_block_t)arg4; +- (void)runActiveRunContext:(id)arg1; +- (void)_runScheme:(id)arg1 runDestination:(id)arg2 invocationRecord:(id)arg3; +- (BOOL)_needToSwitchSchemeActionToLLDB:(id)arg1; +- (BOOL)textView:(id)arg1 clickedOnLink:(id)arg2 atIndex:(unsigned long long)arg3; +- (void)_silentlySwitchToLLDBIfNecessary:(id)arg1; +- (void)_performDebuggableSchemeTask:(int)arg1 onScheme:(id)arg2 runDestination:(id)arg3 command:(id)arg4 commandName:(id)arg5 buildCommand:(int)arg6 filePath:(id)arg7 overridingTestingSpecifiers:(id)arg8 invocationRecord:(id)arg9 completionBlock:(dispatch_block_t)arg10; +- (void)_debugSessionCoalescedStateChanged:(id)arg1 forDebugSession:(id)arg2; +- (BOOL)isActiveWorkspaceTabController; +- (id)debuggingAdditionUIControllersForLaunchSession:(id)arg1; +- (id)currentDebuggingAdditionUIControllers; +- (id)debugSessionController; +- (BOOL)_contentSizeCanBeZeroSize; +- (void)_performContextTask:(int)arg1 command:(id)arg2 commandName:(id)arg3 buildCommand:(int)arg4 filePath:(id)arg5 invocationRecord:(id)arg6 completionBlock:(dispatch_block_t)arg7; +- (void)_performSchemeTask:(int)arg1 onScheme:(id)arg2 runDestination:(id)arg3 command:(id)arg4 commandName:(id)arg5 buildCommand:(int)arg6 filePath:(id)arg7 overridingTestingSpecifiers:(id)arg8 invocationRecord:(id)arg9 completionBlock:(dispatch_block_t)arg10; +- (BOOL)_launchingOrProfiling:(int)arg1 withNonExistentWorkingDirectory:(id)arg2; +- (void)_showWarningForBuild:(BOOL)arg1 forTest:(BOOL)arg2 forOtherExecution:(BOOL)arg3 trackersToStop:(id)arg4 taskActionBlock:(dispatch_block_t)arg5; +- (void)_runAnotherInstance:(id)arg1; +- (void)_acceptStoppingExecutionAlert:(id)arg1; +- (void)_rejectStoppingExecutionAlert:(id)arg1; +- (void)_cleanupAfterStoppingExecutionAlert; +- (void)_actuallyPerformSchemeTask:(int)arg1 onScheme:(id)arg2 runDestination:(id)arg3 command:(id)arg4 commandName:(id)arg5 buildCommand:(int)arg6 filePath:(id)arg7 overridingTestingSpecifiers:(id)arg8 invocationRecord:(id)arg9 completionBlock:(dispatch_block_t)arg10; +- (void)invalidateAllBuildAlertMonitors; +- (BOOL)_cleanBuildFolderWithExecutionContext:(id)arg1 commandName:(id)arg2 error:(id *)arg3; +- (void)observeBuildOperationForRestoringState:(id)arg1; +- (void)switchNavigatorOnBuild; +- (void)_newWindow:(id)arg1; +- (void)hideUtilitiesArea:(id)arg1; +- (void)showUtilitiesArea:(id)arg1; +- (BOOL)isUtilitiesAreaVisible; +- (void)toggleUtilitiesVisibilityAlternate:(id)arg1; +- (void)toggleUtilitiesVisibility:(id)arg1; +- (void)hideNavigator:(id)arg1; +- (BOOL)isNavigatorVisible; +- (void)toggleNavigatorsVisibility:(id)arg1; +- (void)changeToBreakpointsNavigator:(id)arg1; +- (void)changeToDebuggerNavigator:(id)arg1; +- (void)changeToFindNavigator:(id)arg1; +- (void)changeToTestNavigator:(id)arg1; +- (void)changeToIssuesNavigator:(id)arg1; +- (void)changeToLogsNavigator:(id)arg1; +- (void)changeToSymbolsNavigator:(id)arg1; +- (void)changeToStructureNavigator:(id)arg1; +- (void)showNavigatorWithIdentifier:(id)arg1; +- (void)changeToNavigatorWithIdentifier:(id)arg1 sender:(id)arg2; +- (void)_splitViewDidToggleClosed; +- (BOOL)performKeyEquivalent:(id)arg1; +- (id)_choiceWithKeyEquivalent:(id)arg1 modifierFlags:(unsigned long long)arg2 inUtilityArea:(id)arg3; +- (void)showLibraryWithChoiceFromSender:(id)arg1; +- (void)showInspectorWithChoiceFromSender:(id)arg1; +- (void)showInspectorCategoryWithExtensionIdentifier:(id)arg1; +- (void)showLibraryWithChoice:(id)arg1; +- (void)showInspectorWithChoice:(id)arg1; +- (id)libraryArea; +- (id)inspectorArea; +- (void)filterInNavigator:(id)arg1; +- (void)filterInLibrary:(id)arg1; +- (void)focusOnLibraryFilter; +- (void)changeToAssistantLayout_BH:(id)arg1; +- (void)changeToAssistantLayout_BV:(id)arg1; +- (void)changeToAssistantLayout_TH:(id)arg1; +- (void)changeToAssistantLayout_TV:(id)arg1; +- (void)changeToAssistantLayout_LH:(id)arg1; +- (void)changeToAssistantLayout_LV:(id)arg1; +- (void)changeToAssistantLayout_RH:(id)arg1; +- (void)changeToAssistantLayout_RV:(id)arg1; +- (void)_changeToAssistantLayoutForActionSelector:(SEL)arg1; +- (void)changeToVersionEditorLogView:(id)arg1; +- (void)changeToVersionEditorBlameView:(id)arg1; +- (void)changeToVersionEditorComparisonView:(id)arg1; +- (void)_changeToVersionEditorSubmode:(int)arg1; +- (void)changeToVersionEditor:(id)arg1; +- (void)changeToGeniusEditor:(id)arg1; +- (void)changeToStandardEditor:(id)arg1; +- (void)_changeToEditorMode:(int)arg1; +- (void)cancelCurrentExecution:(id)arg1; +- (void)resetEditor:(id)arg1; +- (void)removeAssistantEditor:(id)arg1; +- (void)addAssistantEditor:(id)arg1; +@property(readonly) IDEWorkspaceTabController *structureEditWorkspaceTabController; +@property(readonly) IDEWorkspace *structureEditWorkspace; +- (BOOL)validateUserInterfaceItem:(id)arg1; +- (BOOL)_validateEditorLayoutUserInterfaceItem:(id)arg1 forActionSelector:(SEL)arg2; +- (id)supplementalTargetForAction:(SEL)arg1 sender:(id)arg2; +@property(readonly) IDEEditorArea *editorArea; +@property(readonly) IDENavigatorArea *navigatorArea; +@property(readonly) IDEWorkspaceWindowController *windowController; +- (id)splitView:(id)arg1 needsRectanglesForViewsWithState:(id)arg2 forSize:(struct CGSize)arg3; +- (void)splitView:(id)arg1 resizeSubviewsWithOldSize:(struct CGSize)arg2; +- (void)_adjustUtilityAreaSplitViewWithOldSize:(struct CGSize)arg1; +- (void)_adjustDesignAreaSplitViewWithOldSize:(struct CGSize)arg1; +- (id)_framesForDesignAreaWithNavigatorState:(int)arg1 editorAreaState:(int)arg2 utilityAreaState:(int)arg3 forSize:(struct CGSize)arg4; +- (id)splitView:(id)arg1 additionalEffectiveRectsOfDividerAtIndex:(long long)arg2; +- (double)splitView:(id)arg1 constrainSplitPosition:(double)arg2 ofSubviewAt:(long long)arg3; +- (BOOL)splitView:(id)arg1 canCollapseSubview:(id)arg2; +- (double)splitView:(id)arg1 constrainMaxCoordinate:(double)arg2 ofSubviewAt:(long long)arg3; +- (double)splitView:(id)arg1 constrainMinCoordinate:(double)arg2 ofSubviewAt:(long long)arg3; +- (struct CGSize)minimumSizeForView:(id)arg1; +- (void)updateMinimumWindowSize:(BOOL)arg1; +- (struct CGSize)minimumSizeForDesignArea; +- (struct CGSize)minimumSizeForDesignAreaIfNavigatorVisible:(BOOL)arg1 editorVisisble:(BOOL)arg2 andUtilityAreaVisible:(BOOL)arg3; +- (void)_removeCursorRectInterceptor:(id)arg1; +- (void)_addCursorRectInterceptor:(id)arg1; +- (void)_interceptWillInvalidateCursorRectsForViewsWithNoTrackingAreas; +- (void)_interceptWillInvalidateCursorRectsForView:(id)arg1; +- (BOOL)_interceptAddCursorRect:(struct CGRect)arg1 cursor:(id)arg2 forView:(id)arg3 inWindow:(id)arg4; +- (BOOL)_interceptSetCursorForMouseLocation:(struct CGPoint)arg1 inWindow:(id)arg2; +- (void)_pushDefaultPrimaryEditorFrameSize; +@property BOOL showNavigator; +@property BOOL showUtilities; +- (id)workspace; +- (void)_removePendingDebuggingAdditionUIControllerObserversForLaunchSession:(id)arg1; +- (void)_notifyAndRemoveObserversForCreatedUIController:(id)arg1 inLaunchSession:(id)arg2; +- (id)debuggingAdditionUIControllerMatchingID:(id)arg1 forLaunchSession:(id)arg2 handler:(dispatch_block_t)arg3; +- (id)_createDebuggingAdditionUIControllersForDebuggingAddition:(id)arg1; +- (void)_createDebuggingAdditionUIControllersForLaunchSession:(id)arg1; +- (void)dismissExecutionHoldAlert; +- (void)showExecutionHoldAlertWithError:(id)arg1; +- (void)showAlertModallyInWorkspaceForError:(id)arg1; +- (void)replacementView:(id)arg1 willInstallViewController:(id)arg2; +- (void)primitiveInvalidate; +- (void)viewWillUninstall; +- (void)workspaceWindowIsClosing; +- (void)viewDidInstall; +- (void)_performExtraViewDidInstallWork; +- (void)commitStateToDictionary:(id)arg1; +- (void)revertStateWithDictionary:(id)arg1; +- (void)_revertStateForNewWindowWithDictionary:(id)arg1 simpleEditorWindowLayout:(BOOL)arg2; +- (void)_primitiveSetAssistantEditorsLayout:(int)arg1; +- (void)loadView; +- (void)setSplitGroupAccessibility; +- (id)initWithNibName:(id)arg1 bundle:(id)arg2; + +// Remaining properties +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) Class superclass; + +@end + diff --git a/SCXcodeMinimap/Xcode Headers/IDEWorkspaceWindowController.h b/SCXcodeMinimap/Xcode Headers/IDEWorkspaceWindowController.h new file mode 100644 index 0000000..5ffc59d --- /dev/null +++ b/SCXcodeMinimap/Xcode Headers/IDEWorkspaceWindowController.h @@ -0,0 +1,256 @@ +// +// Generated by class-dump 3.5 (64 bit). +// +// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. +// + +#import + +@class DVTBarBackground, DVTNotificationToken, DVTObservingToken, DVTStackBacktrace, DVTStateToken, DVTTabBarEnclosureView, DVTWeakInterposer, IDEEditorArea, IDEEditorDocument, IDEToolbarDelegate, IDEWorkspace, IDEWorkspaceTabController, IDEWorkspaceWindow, NSMapTable, NSMutableArray, NSString, NSTabView, NSTimer, _IDEWindowFullScreenSavedDebuggerTransitionValues; + +@interface IDEWorkspaceWindowController : NSWindowController +{ + NSTimer *_springToFrontTimer; + int _debugSessionState; + NSMutableArray *_windowsOrderedOutForMiniDebugging; + struct CGRect _restoreFrame; + struct CGSize _originalMinSize; + struct CGPoint _miniRestoreOrigin; + struct CGSize _collapsedRestoreSize; + struct CGSize _mediumRestoreSize; + double _miniWindowBarHeight; + double _toolbarHeightDelta; + struct CGSize _contentViewFrozenSize; + NSMutableArray *_topLevelViewOrder; + NSMapTable *_viewHeightsForResizing; + NSMutableArray *_stateChangeObservingTokens; + IDEEditorDocument *_lastObservedEditorDocument; + IDEWorkspaceTabController *_activeWorkspaceTabController; + DVTObservingToken *_toolbarVisibleToken; + IDEToolbarDelegate *_toolbarDelegate; + BOOL _showToolbar; + DVTObservingToken *_workspaceSimpleFilesFocusedObservingToken; + DVTObservingToken *_workspaceRepresentingFilePathObservingToken; + DVTObservingToken *_workspaceFinishedLoadingObservingToken; + DVTObservingToken *_navigationTargetedEditorDocumentObservingToken; + DVTNotificationToken *_editorDocumentIsEditedNotificationToken; + DVTObservingToken *_userWantsMiniDebuggingConsoleObservingToken; + DVTObservingToken *_userWantsAppFocusInMiniDebuggingObservingToken; + IDEWorkspace *_workspace; + _IDEWindowFullScreenSavedDebuggerTransitionValues *_fullScreenSavedDebuggerTransitionValues; + unsigned int _coalescedUpdateMask; + int _contentViewFrozenMode; + BOOL _performingCoalescedUpdates; + BOOL _readyToUpdateKeyboardLoop; + BOOL _tabBarInTransition; + BOOL _tabBarShownForTabDrag; + BOOL _keepTabBarHiddenWhenCreatingTab; + BOOL _isInMorphingToDebugging; + BOOL _createdCollapsedRestoreFrame; + BOOL _createdMediumRestoreFrame; + BOOL _inTotalCollapsedFrame; + BOOL _tabBarForcedClosed; + BOOL _capturedStatesBeforeMiniDebugging; + BOOL _wasShowingNavigatorBeforeMiniDebugging; + BOOL _wasShowingUtilitiesBeforeMiniDebugging; + BOOL _wasShowingEditorBeforeMiniDebugging; + BOOL _isClosing; + BOOL _enteringFullScreenMode; + BOOL _exitingFullScreenMode; + BOOL _fullScreenTabBarAlwaysVisible; + BOOL _inMiniDebuggingMode; + BOOL _createNewTabUponLoadIfNoTabsExist; + BOOL _didSetupFirstResponderInterposer; + BOOL _shouldPerformWindowClose; + DVTTabBarEnclosureView *_tabBarEnclosureView; + NSTabView *_tabView; + NSString *_uniqueIdentifier; + DVTWeakInterposer *_firstResponderInterposer; + DVTBarBackground *_tabBarView; + DVTStateToken *_stateToken; +} + ++ (id)keyPathsForValuesAffectingUserWantsBreakpointsActivated; ++ (void)initialize; ++ (id)workspaceWindowControllerForWindow:(id)arg1; ++ (long long)version; ++ (void)configureStateSavingObjectPersistenceByName:(id)arg1; ++ (id)workspaceWindowControllers; +@property BOOL shouldPerformWindowClose; // @synthesize shouldPerformWindowClose=_shouldPerformWindowClose; +@property(retain) DVTStateToken *stateToken; // @synthesize stateToken=_stateToken; +@property(retain, nonatomic) DVTBarBackground *tabBarView; // @synthesize tabBarView=_tabBarView; +@property BOOL didSetupFirstResponderInterposer; // @synthesize didSetupFirstResponderInterposer=_didSetupFirstResponderInterposer; +@property(retain) DVTWeakInterposer *firstResponderInterposer; // @synthesize firstResponderInterposer=_firstResponderInterposer; +@property(nonatomic) BOOL showToolbar; // @synthesize showToolbar=_showToolbar; +@property BOOL createNewTabUponLoadIfNoTabsExist; // @synthesize createNewTabUponLoadIfNoTabsExist=_createNewTabUponLoadIfNoTabsExist; +@property(copy, nonatomic) NSString *uniqueIdentifier; // @synthesize uniqueIdentifier=_uniqueIdentifier; +@property(readonly, getter=isInMiniDebuggingMode) BOOL inMiniDebuggingMode; // @synthesize inMiniDebuggingMode=_inMiniDebuggingMode; +@property(retain, nonatomic) NSTabView *tabView; // @synthesize tabView=_tabView; +@property(retain, nonatomic) DVTTabBarEnclosureView *tabBarEnclosureView; // @synthesize tabBarEnclosureView=_tabBarEnclosureView; +- (void)moveFocusToEditor:(id)arg1; +- (void)dicardEditing; +- (BOOL)commitEditingForAction:(int)arg1 errors:(id)arg2; +- (void)_updateWindowTitle; +- (void)_userWantsMiniDebuggingConsoleChanged; +- (void)_userWantsAppFocusInMiniDebuggingChanged; +- (void)_updateTitleRepresentedPath; +@property BOOL userWantsBreakpointsActivated; +- (void)changeFromDebugSessionState:(int)arg1 to:(int)arg2 fromDebuggingWindowBehavior:(int)arg3 to:(int)arg4; +- (void)_makeWindowLookKeyWhenKey; +- (void)windowDidExitFullScreen:(id)arg1; +- (void)windowWillExitFullScreen:(id)arg1; +- (void)windowWillEnterFullScreen:(id)arg1; +- (void)windowDidEnterFullScreen:(id)arg1; +- (void)_workaround8217584; +- (BOOL)_isTargetApplicationActive; +- (void)_changeWindowsLevelFrom:(int)arg1 to:(int)arg2; +- (void)_changeFrom:(int)arg1 toNormalOrXcodeBehindDebugging:(int)arg2; +- (void)_changeToMiniDebugging:(int)arg1; +- (void)_morphToMedium:(int)arg1; +- (struct CGRect)_mediumFrame; +- (void)_morphToNonCollapsed:(struct CGRect)arg1 frozenMode:(int)arg2 toolbarHeightDelta:(double)arg3; +- (void)_morphToCollapsed; +- (void)_setInTotalCollapsed:(BOOL)arg1; +- (void)_reSnapshotContentViewToNewFrame:(struct CGRect)arg1 hideTabBarBeforeSnapshot:(BOOL)arg2 toolbarHeightDelta:(double)arg3; +- (void)_createCollapsedRestoreFrame; +- (void)_performSpringToFront; +- (void)_cancelSpringToFront; +- (void)_scheduleSpringToFront; +- (id)_screenForWindow; +- (void)morphingDragImage:(id)arg1 exitedWindow:(id)arg2; +- (void)morphingDragImage:(id)arg1 enteredWindow:(id)arg2; +- (BOOL)morphingDragImage:(id)arg1 performDragOperation:(id)arg2; +- (void)morphingDragImage:(id)arg1 draggingExited:(id)arg2; +- (unsigned long long)morphingDragImage:(id)arg1 draggingUpdated:(id)arg2; +- (unsigned long long)morphingDragImage:(id)arg1 draggingEntered:(id)arg2; +- (void)workspaceWindowWillInvalidateCursorRectsForViewsWithNoTrackingAreas:(id)arg1; +- (void)workspaceWindow:(id)arg1 willInvalidateCursorRectsForView:(id)arg2; +- (BOOL)workspaceWindow:(id)arg1 interceptAddCursorRect:(struct CGRect)arg2 cursor:(id)arg3 forView:(id)arg4; +- (BOOL)workspaceWindow:(id)arg1 interceptSetCursorForMouseLocation:(struct CGPoint)arg2; +- (void)workspaceWindowDidRecalculateKeyViewLoop:(id)arg1; +- (void)windowWillClose:(id)arg1; +- (void)windowDidMove:(id)arg1; +- (void)windowDidResize:(id)arg1; +- (struct CGSize)windowWillResize:(id)arg1 toSize:(struct CGSize)arg2; +- (BOOL)windowShouldZoom:(id)arg1 toFrame:(struct CGRect)arg2; +- (void)_recordRestoreFrame; +- (struct CGRect)window:(id)arg1 willPositionSheet:(id)arg2 usingRect:(struct CGRect)arg3; +- (void)workspaceWindowIsClosing:(id)arg1; +- (void)_pushDefaultPrimaryEditorFrameSizes; +- (BOOL)_isLastWindowControllerOfDocument; +- (void)primitiveInvalidate; +- (void)_prepareBarsToExitFullScreen; +- (void)_prepareBarsToEnterFullScreen; +- (BOOL)isEnteringOrInFullScreenMode; +- (BOOL)isInFullScreenMode; +- (void)synchronizeWindowTitleWithDocumentName; +- (void)_performCloseAll; +- (BOOL)_shouldCloseWindowEvaluatingOtherWindows; +- (void)_closeWindowIfNoTabs; +- (double)tabBarHeight; +- (void)moveTabFromOtherWindow:(id)arg1 toIndex:(unsigned long long)arg2 andSelect:(BOOL)arg3; +- (void)replaceEmptyTabWithTabs:(id)arg1; +- (void)_closeOtherTabsWithoutConfirming:(id)arg1; +- (void)closeTabOrWindow:(id)arg1; +- (void)_closeTabWithoutConfirming:(id)arg1; +- (void)_closeTabWithoutConfirming:(id)arg1 andInvalidate:(BOOL)arg2; +- (void)closeTab:(id)arg1; +- (id)_findTabForView:(id)arg1; +- (void)selectTab:(id)arg1; +- (BOOL)_moreThanOneTabShowing; +- (BOOL)closeKeyEquivalentClosesTab; +- (id)_createTabWithViewController:(id)arg1 atIndex:(unsigned long long)arg2 andShow:(BOOL)arg3; +- (void)_toggleTabBarWithAnimation:(BOOL)arg1 isShowing:(BOOL)arg2 forceMaintainFullHeight:(BOOL)arg3; +- (void)_toggleTabBarWithAnimation:(BOOL)arg1 isShowing:(BOOL)arg2; +- (id)_setAutoresizingMasksForOrderedViews:(id)arg1 toResizeOnly:(id)arg2; +- (void)_collectViewInfoForResizing; +- (void)_updateAuxiliaryToolbarViewSizes; +- (double)_originalHeightForView:(id)arg1; +- (id)showTabNamed:(id)arg1; +- (id)_showTab:(id)arg1; +- (void)_moveTabToNewWindow:(id)arg1; +- (id)_setUpTabForViewController:(id)arg1 atIndex:(unsigned long long)arg2; +- (id)_setUpTabForViewController:(id)arg1 addToRightSide:(BOOL)arg2; +- (id)_setUpTabForViewController:(id)arg1; +- (id)createTabWithViewController:(id)arg1 andShow:(BOOL)arg2 addToRightSide:(BOOL)arg3; +- (id)createInactiveTabWithFrameName:(id)arg1; +- (id)createInactiveTab; +- (id)createTabWithFrameName:(id)arg1 andShow:(BOOL)arg2 addToRightSide:(BOOL)arg3; +- (id)instantiateTabControllerAndRegisterForStateSavingWithName:(id)arg1 inDocument:(id)arg2; +- (id)createTabWithFrameName:(id)arg1; +- (id)createTab; +- (unsigned long long)selectedTabIndex; +- (void)closeTabFromMenu:(id)arg1; +- (id)selectedTab; +- (id)orderedTabViewItems; +- (void)cancelUpdateTabTitlesSoon; +- (void)_performCoalescedUpdates; +- (void)_cancelCoalescedUpdate:(int)arg1; +- (void)_performCoalescedUpdateSoon:(int)arg1; +- (void)tabBarViewUpdateTabTitlesNow; +- (void)tabBarViewUpdateTabTitlesSoon; +- (BOOL)canCreateNewTab; +- (void)_showTabBarIfNeeded; +- (void)_automaticallyHideTabBarForTabDrag; +- (void)_automaticallyShowTabBarForTabDrag; +- (void)_setTabBarVisible:(BOOL)arg1; +- (BOOL)_alwaysShowTabBar; +- (BOOL)canCloseSelectedTab; +- (BOOL)_canCloseTab:(id)arg1; +- (void)toggleTabBar:(id)arg1; +- (void)selectPreviousTab:(id)arg1; +- (void)selectNextTab:(id)arg1; +- (void)_selectNextTabGoingForward:(BOOL)arg1; +- (void)moveTabToNewWindowFromMenu:(id)arg1; +- (void)closeOtherTabs:(id)arg1; +- (void)closeOtherTabsFromMenu:(id)arg1; +- (void)closeCurrentTab:(id)arg1; +- (id)newTabWithName:(id)arg1 cloneExisting:(BOOL)arg2; +- (void)newTabWithinWindow:(id)arg1; +- (void)newTab:(id)arg1; +- (BOOL)validateMenuItem:(id)arg1; +- (BOOL)canCloseOtherTabs; +- (struct CGRect)adjustedFrameForCascade:(struct CGRect)arg1 fromWindow:(id)arg2; +- (struct CGRect)adjustedFrameForSaving:(struct CGRect)arg1; +- (BOOL)_windowIsFullHeight; +- (void)setTabBarVisible:(BOOL)arg1; +- (BOOL)isTabBarVisible; +- (void)_toggleTabBarWithAnimation:(BOOL)arg1; +- (BOOL)_shouldShowTabBar; +- (BOOL)canReceiveDragFromTabbedWindowControlling:(id)arg1; +- (void)_setUpTabBar; +- (void)autocreateContexts:(id)arg1; +- (id)supplementalTargetForAction:(SEL)arg1 sender:(id)arg2; +- (BOOL)window:(id)arg1 shouldRestoreStateForResponder:(id)arg2; +@property(readonly) IDEWorkspaceWindow *workspaceWindow; +- (id)_uniqueNameForNewWorkspaceTabController; +@property(readonly) IDEEditorArea *editorArea; +- (void)activateWorkspaceTabController:(id)arg1; +@property(readonly) IDEWorkspaceTabController *activeWorkspaceTabController; +- (void)_didChangeActiveWorkspaceTabController; +- (id)workspaceTabControllers; +- (void)setStateSavingWindowFrame:(id)arg1; +- (id)stateSavingWindowFrame; +- (void)commitStateToDictionary:(id)arg1; +- (void)_configureStateSavingObservers; +- (void)revertStateWithDictionary:(id)arg1; +- (void)_revertForNewWindowWithTabStateContext:(id)arg1 documentURL:(id)arg2 simpleEditorWindowLayout:(BOOL)arg3; +- (void)_changeSizeForSimpleEditorWindowLayoutWithEditorDocumentURLOrNil:(id)arg1 forSingleFile:(BOOL)arg2 workspaceTabController:(id)arg3; +- (void)_updateToolbarIsVisible; +- (void)toggleToolbarShown:(id)arg1; +- (void)windowDidLoad; +- (void)_showWindowBehindWorkspaceWindow:(id)arg1; +- (void)observeValueForKeyPath:(id)arg1 ofObject:(id)arg2 change:(id)arg3 context:(void *)arg4; +- (id)init; + +// Remaining properties +@property(retain) DVTStackBacktrace *creationBacktrace; +@property(readonly, copy) NSString *debugDescription; +@property(readonly, copy) NSString *description; +@property(readonly) unsigned long long hash; +@property(readonly) DVTStackBacktrace *invalidationBacktrace; +@property(readonly) Class superclass; +@property(readonly, nonatomic, getter=isValid) BOOL valid; + +@end +