allewun / Xcode-GitGutter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitGutter for Xcode

Documenting my progress... zero experience with non-iOS Cocoa development.

  • 7/27/2014
    • Looks like someone got there first... check out GitDiff!
  • 4/22/2014
    • Added AWRulerView to the right of the line numbers. Next: try to figure out how to use the NSRuler properly (hooking up its clientView property to the source code view).
  • 4/14/2014
    • Swizzled some methods of DVTTextSidebarView to see what can be modified. Doesn't look like I can do much, next steps: retry to add a new view (NSRuler) next to the original gutter.
    • Found Xcode Explorer, could be useful
  • 4/7/2014
    • Tried to move the editorScrollView to the right to make room for a new sibling view (a new gutter), the frame seems to be tied to the editorContainerView, changing scrollview's frame changes the containerview's frame for some reason. Looked at SCMiniMapView.m's show/hide methods to see how they do it
  • 4/6/2014
    • Used SCXodeMiniMap as reference to see how they added stuff
    • Development is annoying... build > quit Xcode > restart Xcode > look at the system log to view print statements
    • Use tail -f /var/log/system.log to view NSLog's from the plugin... seems like there's no other way to debug
    • Poked around by printing out/traversing the view hierarchy, printing out the methods and properties that the classes contain. Trying to find the left gutter element.
    • Found the gutter, it's a DVTTextSidebarView : NSRulerView. Looks like it has a lot of properties. Was able to change the font of the line numbers in the gutter successfully.
    • Next steps: try to add a new NSRulerView to the right of the existing one
    • Other useful links:
  • 4/5/2014
    • Initialized with template for Xcode5 plugins
    • Installed UI Browser to try to inspect Xcode's "DOM" (as if I were inspecting Firefox's chrome), not too helpful, but learned that the gutter is a "ruler" element
    • Found some info about class-dump to reverse engineer Apple's code

About


Languages

Language:Objective-C 100.0%