├── .gitignore ├── Images ├── demo.gif └── dependency.png ├── LICENSE ├── README.md ├── monad 心得.md ├── monad 心得_2.md ├── monad 心得_3.md ├── one ├── Pretty.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── Pretty │ ├── AppDelegate.swift │ ├── Controller │ └── ViewController.swift │ ├── Extension │ ├── Array+Extension.swift │ ├── CharacterSet+Extension.swift │ ├── Color+Difference.swift │ ├── NSPoint+Extension.swift │ ├── NSRect+Dependency.swift │ └── PrettyRelation+Extension.swift │ ├── Info.plist │ ├── Model │ ├── DependencyNode.swift │ └── PrettyRelation.swift │ ├── Parser │ ├── Parser+Extension.swift │ ├── Parser+Runes.swift │ ├── Parser.swift │ ├── PodLockFileParser.swift │ └── Runes.swift │ ├── Pretty.entitlements │ ├── RandomColors │ ├── ColorDefinition.swift │ ├── Hue.swift │ ├── Luminosity.swift │ ├── RandomColor.h │ └── RandomColor.swift │ ├── Resource │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── icon_128x128.png │ │ │ ├── icon_128x128@2x.png │ │ │ ├── icon_16x16.png │ │ │ ├── icon_16x16@2x.png │ │ │ ├── icon_256x256.png │ │ │ ├── icon_256x256@2x.png │ │ │ ├── icon_32x32.png │ │ │ ├── icon_32x32@2x.png │ │ │ ├── icon_512x512.png │ │ │ └── icon_512x512@2x.png │ │ └── Contents.json │ └── Base.lproj │ │ └── Main.storyboard │ ├── Utils │ ├── ColorDifference.swift │ ├── ColorSpaceConversion.swift │ ├── DependencySort.swift │ └── HexColors.swift │ └── View │ ├── RelationItemView.swift │ └── RelationView.swift ├── three ├── Pretty.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── Pretty │ ├── AppDelegate.swift │ ├── Controller │ └── ViewController.swift │ ├── Extension │ ├── Array+Extension.swift │ ├── CharacterSet+Extension.swift │ ├── NSPoint+Extension.swift │ └── NSRect+Dependency.swift │ ├── Info.plist │ ├── Pretty.entitlements │ ├── Resource │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── icon_128x128.png │ │ │ ├── icon_128x128@2x.png │ │ │ ├── icon_16x16.png │ │ │ ├── icon_16x16@2x.png │ │ │ ├── icon_256x256.png │ │ │ ├── icon_256x256@2x.png │ │ │ ├── icon_32x32.png │ │ │ ├── icon_32x32@2x.png │ │ │ ├── icon_512x512.png │ │ │ └── icon_512x512@2x.png │ │ └── Contents.json │ ├── Base.lproj │ │ └── Main.storyboard │ └── one.json │ └── View │ └── RelationItemView.swift ├── two ├── Pretty.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── Pretty │ ├── AppDelegate.swift │ ├── Controller │ └── ViewController.swift │ ├── Extension │ ├── Array+Extension.swift │ ├── CharacterSet+Extension.swift │ ├── Color+Difference.swift │ ├── NSPoint+Extension.swift │ ├── NSRect+Dependency.swift │ └── PrettyRelation+Extension.swift │ ├── Info.plist │ ├── Model │ ├── DependencyNode.swift │ └── PrettyRelation.swift │ ├── Parser │ └── Parser.swift │ ├── Pretty.entitlements │ ├── RandomColors │ ├── ColorDefinition.swift │ ├── Hue.swift │ ├── Luminosity.swift │ ├── RandomColor.h │ └── RandomColor.swift │ ├── Resource │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── icon_128x128.png │ │ │ ├── icon_128x128@2x.png │ │ │ ├── icon_16x16.png │ │ │ ├── icon_16x16@2x.png │ │ │ ├── icon_256x256.png │ │ │ ├── icon_256x256@2x.png │ │ │ ├── icon_32x32.png │ │ │ ├── icon_32x32@2x.png │ │ │ ├── icon_512x512.png │ │ │ └── icon_512x512@2x.png │ │ └── Contents.json │ └── Base.lproj │ │ └── Main.storyboard │ ├── Utils │ ├── ColorDifference.swift │ ├── ColorSpaceConversion.swift │ ├── DependencySort.swift │ └── HexColors.swift │ └── View │ ├── RelationItemView.swift │ └── RelationView.swift └── 结构.md /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/xcode,macos,swift 3 | 4 | ### macOS ### 5 | *.DS_Store 6 | .AppleDouble 7 | .LSOverride 8 | 9 | # Icon must end with two \r 10 | Icon 11 | 12 | # Thumbnails 13 | ._* 14 | 15 | # Files that might appear in the root of a volume 16 | .DocumentRevisions-V100 17 | .fseventsd 18 | .Spotlight-V100 19 | .TemporaryItems 20 | .Trashes 21 | .VolumeIcon.icns 22 | .com.apple.timemachine.donotpresent 23 | 24 | # Directories potentially created on remote AFP share 25 | .AppleDB 26 | .AppleDesktop 27 | Network Trash Folder 28 | Temporary Items 29 | .apdisk 30 | 31 | ### Swift ### 32 | # Xcode 33 | # 34 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 35 | 36 | ## Build generated 37 | build/ 38 | DerivedData/ 39 | 40 | ## Various settings 41 | *.pbxuser 42 | !default.pbxuser 43 | *.mode1v3 44 | !default.mode1v3 45 | *.mode2v3 46 | !default.mode2v3 47 | *.perspectivev3 48 | !default.perspectivev3 49 | xcuserdata/ 50 | 51 | ## Other 52 | *.moved-aside 53 | *.xccheckout 54 | *.xcscmblueprint 55 | 56 | ## Obj-C/Swift specific 57 | *.hmap 58 | *.ipa 59 | *.dSYM.zip 60 | *.dSYM 61 | 62 | ## Playgrounds 63 | timeline.xctimeline 64 | playground.xcworkspace 65 | 66 | # Swift Package Manager 67 | # 68 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 69 | # Packages/ 70 | # Package.pins 71 | .build/ 72 | 73 | # CocoaPods - Refactored to standalone file 74 | 75 | # Carthage - Refactored to standalone file 76 | 77 | # fastlane 78 | # 79 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 80 | # screenshots whenever they are needed. 81 | # For more information about the recommended setup visit: 82 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 83 | 84 | fastlane/report.xml 85 | fastlane/Preview.html 86 | fastlane/screenshots 87 | fastlane/test_output 88 | 89 | ### Xcode ### 90 | # Xcode 91 | # 92 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 93 | 94 | ## Build generated 95 | 96 | ## Various settings 97 | 98 | ## Other 99 | 100 | ### Xcode Patch ### 101 | *.xcodeproj/* 102 | !*.xcodeproj/project.pbxproj 103 | !*.xcodeproj/xcshareddata/ 104 | !*.xcworkspace/contents.xcworkspacedata 105 | /*.gcno 106 | 107 | 108 | # End of https://www.gitignore.io/api/xcode,macos,swift -------------------------------------------------------------------------------- /Images/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coyingcat/podfile_lock_resolution/33e1e2b5674dda74613466127a0cc643b76635ca/Images/demo.gif -------------------------------------------------------------------------------- /Images/dependency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coyingcat/podfile_lock_resolution/33e1e2b5674dda74613466127a0cc643b76635ca/Images/dependency.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 CopyCat 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # podfile_lock_resolution 2 | 我叫邓江. , 有参考 octree/pretty 3 | 4 | 5 | 6 | 7 | #### 有参考 octree/pretty ( 这个库的精华,是数据解析部分 ) 8 | 9 | 10 | 一个根据 Podfile.lock 生成依赖图的 Mac App。 11 | 12 | 13 | > 和节点颜色相同的线连接子节点。 14 | 15 | 16 | > 被拖拽的节点,红色连接子节点,蓝色连接父节点。 17 | 18 | ## Demo 19 | 20 | 21 | 效果: 22 | 23 | 24 |  25 | 26 | 27 | 使用: 28 | 29 |  30 | 31 | ## How To Use 32 | 33 | > Dowload & Build 34 | -------------------------------------------------------------------------------- /monad 心得.md: -------------------------------------------------------------------------------- 1 | 理解 haskell, 2 | 3 | 4 | 就是不断的,函数展开 5 | 6 | 7 | 8 |