Githawk: Cyclomatic complexity

Created on 23 Oct 2017  路  5Comments  路  Source: GitHawkApp/GitHawk

Research topic I've been exploring a little. Cyclomatic complexity is a measure of how complicated code is. The tool lizard can find a Cyclomatic Complexity Number (CCN) on a lot of different languages, including Swift.

I ran this tool on GitHawk and found some interesting stuff:

=========================================================================================
!!!! Warnings (cyclomatic_complexity > 15 or length > 1000 or parameter_count > 100) !!!!
================================================
NLOC    CCN   token  PARAM  length  location  
------------------------------------------------------------------------------------------
  85     22    496      9     100    travelAST@198-297@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
  83     21    581      3      87    PushAttributes@12-98@./Issues/Comments/Markdown/MMElement+Attributes.swift
 204     23   1448      3     209    timelineViewModels@54-262@./Issues/Issue+IssueType.swift
  25     19    225      2      26    listAdapter@470-495@./Issues/IssuesViewController.swift
 256     28   1841      3     268    timelineViewModels@58-325@./Issues/PullRequest+IssueType.swift


Total nloc   Avg.NLOC  AvgCCN  Avg.token   Fun Cnt  Warning cnt   Fun Rt   nloc Rt
------------------------------------------------------------------------------------------
 16489      10.3     1.8       66.6     1168            5      0.00    0.05

Nothing to action yet, just neat seeing a measure of complicated functions.


Full report

================================================
  NLOC    CCN   token  PARAM  length  location  
------------------------------------------------
      15      1     64      6      15 init@29-43@./Bookmark/BookmarkModel.swift
      17      1    129      1      18 init@53-70@./Bookmark/BookmarkModel.swift
       4      1     25      1       4 isEqual@76-79@./Bookmark/BookmarkModel.swift
       9      6     92      1      11 match@83-93@./Bookmark/BookmarkModel.swift
       8      2     34      0       8 init@26-33@./Bookmark/BookmarkStore.swift
       4      1     17      1       4 add@37-40@./Bookmark/BookmarkStore.swift
       4      1     17      1       4 remove@42-45@./Bookmark/BookmarkStore.swift
       4      1     13      0       4 clear@47-50@./Bookmark/BookmarkStore.swift
       3      1     17      0       3 archive@58-60@./Bookmark/BookmarkStore.swift
       4      1     25      1       4 init@25-28@./Bookmark/BookmarksViewController.swift
      16      1    100      0      18 viewDidLoad@36-53@./Bookmark/BookmarksViewController.swift
       6      1     29      1       6 viewWillAppear@55-60@./Bookmark/BookmarksViewController.swift
       3      1     18      0       3 updateRightBarItem@64-66@./Bookmark/BookmarksViewController.swift
      16      1     95      1      18 onClearAll@68-85@./Bookmark/BookmarksViewController.swift
       9      2     42      1       9 filter@87-95@./Bookmark/BookmarksViewController.swift
       8      2     25      0       8 getBookmarks@97-104@./Bookmark/BookmarksViewController.swift
       3      1     17      0       3 didSingleTapTab@108-110@./Bookmark/BookmarksViewController.swift
       3      1     10      0       3 didDoubleTapTab@112-114@./Bookmark/BookmarksViewController.swift
       3      1     22      2       3 tableView@118-120@./Bookmark/BookmarksViewController.swift
      20      3    180      2      24 tableView@122-145@./Bookmark/BookmarksViewController.swift
       3      2     24      2       3 tableView@147-149@./Bookmark/BookmarksViewController.swift
       8      2     58      3       8 tableView@151-158@./Bookmark/BookmarksViewController.swift
      24      3    136      2      26 tableView@162-187@./Bookmark/BookmarksViewController.swift
       4      1     39      2       5 searchBar@191-195@./Bookmark/BookmarksViewController.swift
       3      1     19      1       3 searchBarTextDidBeginEditing@197-199@./Bookmark/BookmarksViewController.swift
       6      1     44      1       7 searchBarSearchButtonClicked@201-207@./Bookmark/BookmarksViewController.swift
       6      1     35      1       6 searchBarCancelButtonClicked@209-214@./Bookmark/BookmarksViewController.swift
      10      1     65      3      13 create@40-52@./Image Upload/ImageUploadTableViewController.swift
      19      3     92      0      31 viewDidLoad@54-84@./Image Upload/ImageUploadTableViewController.swift
      10      1     49      0      11 setRightBarItemIdle@89-99@./Image Upload/ImageUploadTableViewController.swift
      10      1     49      0      11 setLeftBarItem@101-111@./Image Upload/ImageUploadTableViewController.swift
      19      3    107      0      23 didPressCancel@113-135@./Image Upload/ImageUploadTableViewController.swift
      34      4    175      0      47 didPressUpload@137-183@./Image Upload/ImageUploadTableViewController.swift
       4      1     18      1       4 textFieldShouldReturn@188-191@./Image Upload/ImageUploadTableViewController.swift
      16      2    102      5      18 request@22-39@./Image Upload/ImgurClient.swift
      15      2     95      1      20 canUploadImage@41-60@./Image Upload/ImgurClient.swift
      26      1    147      5      29 uploadImage@62-90@./Image Upload/ImgurClient.swift
       9      1     76      1      10 init@16-25@./Issues/Assignees/IssueAssigneeAvatarCell.swift
       4      1     15      0       4 layoutSubviews@31-34@./Issues/Assignees/IssueAssigneeAvatarCell.swift
       3      1     17      1       3 configure@38-40@./Issues/Assignees/IssueAssigneeAvatarCell.swift
       4      1     24      2       4 init@22-25@./Issues/Assignees/IssueAssigneesModel.swift
       3      1     13      0       3 diffIdentifier@29-31@./Issues/Assignees/IssueAssigneesModel.swift
       3      1     13      1       3 isEqual@33-35@./Issues/Assignees/IssueAssigneesModel.swift
       5      1     16      0       5 init@18-22@./Issues/Assignees/IssueAssigneesSectionController.swift
      22      5    157      2      28 sectionController@26-53@./Issues/Assignees/IssueAssigneesSectionController.swift
       9      1     55      3       9 sectionController@55-63@./Issues/Assignees/IssueAssigneesSectionController.swift
      17      4    103      3      17 sectionController@65-81@./Issues/Assignees/IssueAssigneesSectionController.swift
      12      3     57      3      12 sectionController@85-96@./Issues/Assignees/IssueAssigneesSectionController.swift
      18      1    137      1      20 init@30-49@./Issues/Assignees/IssueAssigneeSummaryCell.swift
       8      2     71      0       9 layoutSubviews@55-63@./Issues/Assignees/IssueAssigneeSummaryCell.swift
       7      2     47      1       7 bindViewModel@67-73@./Issues/Assignees/IssueAssigneeSummaryCell.swift
       3      1     20      2       3 collectionView@77-79@./Issues/Assignees/IssueAssigneeSummaryCell.swift
       6      2     56      2       6 collectionView@81-86@./Issues/Assignees/IssueAssigneeSummaryCell.swift
       5      1     33      3       5 init@18-22@./Issues/Assignees/IssueAssigneeSummaryModel.swift
       3      1     11      0       3 diffIdentifier@26-28@./Issues/Assignees/IssueAssigneeSummaryModel.swift
       5      2     37      1       5 isEqual@30-34@./Issues/Assignees/IssueAssigneeSummaryModel.swift
      22      1    189      1      24 init@19-42@./Issues/Assignees/IssueAssigneeUserCell.swift
       5      1     37      1       5 bindViewModel@50-54@./Issues/Assignees/IssueAssigneeUserCell.swift
       4      1     22      2       4 init@16-19@./Issues/Assignees/IssueAssigneeViewModel.swift
       3      1     11      0       3 diffIdentifier@23-25@./Issues/Assignees/IssueAssigneeViewModel.swift
       3      1     13      1       3 isEqual@27-29@./Issues/Assignees/IssueAssigneeViewModel.swift
      10      1     63      1      16 init@31-46@./Issues/Comments/CodeBlock/IssueCommentCodeBlockCell.swift
      12      1     71      0      15 layoutSubviews@52-66@./Issues/Comments/CodeBlock/IssueCommentCodeBlockCell.swift
       6      1     45      1       8 bindViewModel@70-77@./Issues/Comments/CodeBlock/IssueCommentCodeBlockCell.swift
       3      1     14      1       3 setCollapse@81-83@./Issues/Comments/CodeBlock/IssueCommentCodeBlockCell.swift
       7      1     22      2       7 init@17-23@./Issues/Comments/CodeBlock/IssueCommentCodeBlockModel.swift
       3      1      9      0       3 diffIdentifier@33-35@./Issues/Comments/CodeBlock/IssueCommentCodeBlockModel.swift
       3      1     16      1       3 isEqual@37-39@./Issues/Comments/CodeBlock/IssueCommentCodeBlockModel.swift
      65      3    562      1      73 init@32-104@./Issues/Comments/Details/IssueCommentDetailCell.swift
       4      1     13      0       4 layoutSubviews@106-109@./Issues/Comments/Details/IssueCommentDetailCell.swift
       3      1     15      1       3 setBorderVisible@117-119@./Issues/Comments/Details/IssueCommentDetailCell.swift
       3      1     20      1       3 onMore@124-126@./Issues/Comments/Details/IssueCommentDetailCell.swift
       3      1     13      0       3 onTapAvatar@129-131@./Issues/Comments/Details/IssueCommentDetailCell.swift
       3      1     13      0       3 onTapLoginLabel@134-136@./Issues/Comments/Details/IssueCommentDetailCell.swift
      18      3    159      1      21 bindViewModel@140-160@./Issues/Comments/Details/IssueCommentDetailCell.swift
      15      1     58      6      15 init@21-35@./Issues/Comments/Details/IssueCommentDetailsViewModel.swift
       3      1     11      0       3 diffIdentifier@37-39@./Issues/Comments/Details/IssueCommentDetailsViewModel.swift
       6      3     43      1       6 isEqual@41-46@./Issues/Comments/Details/IssueCommentDetailsViewModel.swift
       9      1     63      1      11 init@24-34@./Issues/Comments/Hr/IssueCommentHrCell.swift
       4      1     13      0       4 layoutSubviews@40-43@./Issues/Comments/Hr/IssueCommentHrCell.swift
       1      1      9      1       1 bindViewModel@47-47@./Issues/Comments/Hr/IssueCommentHrCell.swift
       3      1      9      0       3 diffIdentifier@16-18@./Issues/Comments/Hr/IssueCommentHrModel.swift
       3      1     13      1       3 isEqual@20-22@./Issues/Comments/Hr/IssueCommentHrModel.swift
      11      1     76      1      15 init@72-86@./Issues/Comments/Html/IssueCommentHtmlCell.swift
       3      1     15      0       3 deinit@92-94@./Issues/Comments/Html/IssueCommentHtmlCell.swift
       4      1     15      0       4 prepareForReuse@96-99@./Issues/Comments/Html/IssueCommentHtmlCell.swift
       5      1     20      0       5 layoutSubviews@101-105@./Issues/Comments/Html/IssueCommentHtmlCell.swift
       7      1     52      1       8 bindViewModel@109-116@./Issues/Comments/Html/IssueCommentHtmlCell.swift
      11      3     72      3      13 webView@120-132@./Issues/Comments/Html/IssueCommentHtmlCell.swift
       3      1     14      1       3 webViewDidFinishLoad@134-136@./Issues/Comments/Html/IssueCommentHtmlCell.swift
      10      3     63      4      10 observeValue@140-149@./Issues/Comments/Html/IssueCommentHtmlCell.swift
       4      1     24      2       4 init@17-20@./Issues/Comments/Html/IssueCommentHtmlModel.swift
       3      1     11      0       3 diffIdentifier@24-26@./Issues/Comments/Html/IssueCommentHtmlModel.swift
       3      1     13      1       3 isEqual@28-30@./Issues/Comments/Html/IssueCommentHtmlModel.swift
      18      1    104      1      22 init@36-57@./Issues/Comments/Images/IssueCommentImageCell.swift
       5      1     23      0       5 layoutSubviews@63-67@./Issues/Comments/Images/IssueCommentImageCell.swift
       8      2     65      1      11 onTap@72-82@./Issues/Comments/Images/IssueCommentImageCell.swift
      14      2    119      1      16 bindViewModel@86-101@./Issues/Comments/Images/IssueCommentImageCell.swift
       3      1     14      1       3 setCollapse@105-107@./Issues/Comments/Images/IssueCommentImageCell.swift
      31      2    180      1      38 gestureRecognizerShouldBegin@111-148@./Issues/Comments/Images/IssueCommentImageCell.swift
       3      1     13      1       3 init@16-18@./Issues/Comments/Images/IssueCommentImageModel.swift
       3      1     11      0       3 diffIdentifier@22-24@./Issues/Comments/Images/IssueCommentImageModel.swift
       3      1     13      1       4 isEqual@26-29@./Issues/Comments/Images/IssueCommentImageModel.swift
       4      1     22      2       4 init@17-20@./Issues/Comments/Images/IssueCommentPhoto.swift
      10      2     67      1      10 createCommentAST@31-40@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      16      1     89      1      16 emptyDescriptionModel@42-57@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      39      3    211      3      47 CreateCommentModels@59-105@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      15      1     62      3      16 createTextModel@107-122@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      16      1     73      4      17 createQuoteModel@124-140@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
       8      2     41      2       8 substringOrNewline@142-149@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
       8      4     45      1       8 needsNewline@151-158@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      28      8    155      3      30 createModel@160-189@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
       6      2     27      1       6 isList@191-196@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      85     22    496      9     100 travelAST@198-297@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      21      2    206      2      28 updateUsernames@300-327@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      24      2    218      2      29 updateIssueShorthand@330-358@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      33      4    287      2      45 shortenGitHubLinks@361-405@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      15      1     76      4      17 createTextModelUpdatingGitHubFeatures@407-423@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      83     21    581      3      87 PushAttributes@12-98@./Issues/Comments/Markdown/MMElement+Attributes.swift
      23      2    181      2      28 CreateCodeBlock@12-39@./Issues/Comments/Markdown/MMElement+CodeBlock.swift
       8      2     61      1      10 CreateImageModel@13-22@./Issues/Comments/Markdown/MMElement+Image.swift
      27      4    115      4      27 buildAttributedString@20-46@./Issues/Comments/Markdown/MMElement+Table.swift
      25      4    126      4      30 rowModels@48-77@./Issues/Comments/Markdown/MMElement+Table.swift
      39      8    322      2      57 CreateTable@79-135@./Issues/Comments/Markdown/MMElement+Table.swift
       5      1     34      1       5 attributedStringByTrimmingCharacterSet@14-18@./Issues/Comments/Markdown/NSAttributedString+Trim.swift
       3      1     13      0       3 removeAll@24-26@./Issues/Comments/Markdown/NSAttributedString+Trim.swift
      12      5    124      1      16 trimCharactersInSet@28-43@./Issues/Comments/Markdown/NSAttributedString+Trim.swift
       4      1     36      1       4 substring@20-23@./Issues/Comments/Markdown/String+NSRange.swift
       3      2     24      1       3 range@27-29@./Issues/Comments/Markdown/String+NSRange.swift
       6      1     47      1       6 addingTraits@13-18@./Issues/Comments/Markdown/UIFont+MutableTraits.swift
       8      1     58      1       8 inset@15-22@./Issues/Comments/Quotes/IssueCommentQuoteCell.swift
       6      1     31      1       8 init@28-35@./Issues/Comments/Quotes/IssueCommentQuoteCell.swift
      14      2    104      0      14 layoutSubviews@41-54@./Issues/Comments/Quotes/IssueCommentQuoteCell.swift
      15      3    100      1      19 bindViewModel@58-76@./Issues/Comments/Quotes/IssueCommentQuoteCell.swift
       3      1     14      1       3 setCollapse@80-82@./Issues/Comments/Quotes/IssueCommentQuoteCell.swift
       4      1     22      2       4 init@17-20@./Issues/Comments/Quotes/IssueCommentQuoteModel.swift
       3      1     15      0       3 diffIdentifier@24-26@./Issues/Comments/Quotes/IssueCommentQuoteModel.swift
       3      1     13      1       3 isEqual@28-30@./Issues/Comments/Quotes/IssueCommentQuoteModel.swift
      26      5    246      1      30 init@40-69@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       4      1     13      0       4 layoutSubviews@75-78@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       3      1     19      2       6 perform@82-87@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       3      1     16      1       3 configure@89-91@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       7      2     67      1       7 cell@95-101@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
      15      1    121      0      17 onAddButton@103-119@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
      12      2     33      2      12 canPerformAction@121-132@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       3      1     18      0       3 onThumbsUp@134-136@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       3      1     18      0       3 onThumbsDown@138-140@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       3      1     18      0       3 onLaugh@142-144@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       3      1     18      0       3 onHooray@146-148@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       3      1     18      0       3 onConfused@150-152@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       3      1     18      0       3 onHeart@154-156@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       9      1     49      2      10 configure@158-167@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       8      3     90      1       8 data@169-176@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       5      2     55      2       5 iterate@178-182@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
      31     11    196      1      37 bindViewModel@186-222@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       3      1     20      2       3 collectionView@226-228@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       8      2     52      2       8 collectionView@230-237@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       8      1     60      3       8 collectionView@241-248@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
       8      2     60      2       8 collectionView@252-259@./Issues/Comments/Reactions/IssueCommentReactionCell.swift
      11      2     56      1      12 init@18-29@./Issues/Comments/Reactions/IssueCommentReactionViewModel.swift
       3      2     20      1       3 viewerDidReact@33-35@./Issues/Comments/Reactions/IssueCommentReactionViewModel.swift
       3      1     11      0       4 diffIdentifier@39-42@./Issues/Comments/Reactions/IssueCommentReactionViewModel.swift
       5      2     37      1       5 isEqual@44-48@./Issues/Comments/Reactions/IssueCommentReactionViewModel.swift
      47      9    230      4      56 IssueLocalReaction@24-79@./Issues/Comments/Reactions/IssueLocalReaction.swift
      29      1    191      1      34 init@18-51@./Issues/Comments/Reactions/IssueReactionCell.swift
       3      1     20      2       3 canPerformAction@62-64@./Issues/Comments/Reactions/IssueReactionCell.swift
       9      3     72      4       9 configure@68-76@./Issues/Comments/Reactions/IssueReactionCell.swift
      12      1    117      0      13 popIn@78-90@./Issues/Comments/Reactions/IssueReactionCell.swift
      11      1     84      0      13 pullOut@92-104@./Issues/Comments/Reactions/IssueReactionCell.swift
       8      2     57      1       8 iterate@106-113@./Issues/Comments/Reactions/IssueReactionCell.swift
      11      1     70      1      13 showMenu@118-130@./Issues/Comments/Reactions/IssueReactionCell.swift
       1      1      5      0       1 empty@133-133@./Issues/Comments/Reactions/IssueReactionCell.swift
       5      1     25      0       5 get@138-142@./Issues/Comments/Reactions/IssueReactionCell.swift
       1      1      3      0       1 set@143-143@./Issues/Comments/Reactions/IssueReactionCell.swift
      23      5    179      1      23 createReactionDetailText@20-42@./Issues/Comments/Reactions/ReactionViewModel.swift
      15      1     71      1      17 showReactions@13-29@./Issues/Comments/Reactions/UIMenuController+Reactions.swift
       1      1      5      0       1 _empty@32-32@./Issues/Comments/Reactions/UIMenuController+Reactions.swift
      11      1     77      1      13 init@18-30@./Issues/Comments/Summary/IssueCommentSummaryCell.swift
       5      1     23      0       5 layoutSubviews@36-40@./Issues/Comments/Summary/IssueCommentSummaryCell.swift
       4      1     25      1       4 bindViewModel@44-47@./Issues/Comments/Summary/IssueCommentSummaryCell.swift
       3      1     14      1       3 setCollapse@51-53@./Issues/Comments/Summary/IssueCommentSummaryCell.swift
       3      1     13      1       3 init@16-18@./Issues/Comments/Summary/IssueCommentSummaryModel.swift
       3      1     11      0       3 diffIdentifier@22-24@./Issues/Comments/Summary/IssueCommentSummaryModel.swift
       3      1     13      1       3 isEqual@26-28@./Issues/Comments/Summary/IssueCommentSummaryModel.swift
      11      1     66      1      12 init@32-43@./Issues/Comments/Tables/IssueCommentTableCell.swift
       5      1     20      0       5 layoutSubviews@49-53@./Issues/Comments/Tables/IssueCommentTableCell.swift
       5      1     30      1       5 bindViewModel@57-61@./Issues/Comments/Tables/IssueCommentTableCell.swift
       3      1     19      1       3 numberOfSections@65-67@./Issues/Comments/Tables/IssueCommentTableCell.swift
       3      1     29      2       3 collectionView@69-71@./Issues/Comments/Tables/IssueCommentTableCell.swift
      18      3    135      2      20 collectionView@73-92@./Issues/Comments/Tables/IssueCommentTableCell.swift
      11      1     60      3      11 collectionView@96-106@./Issues/Comments/Tables/IssueCommentTableCell.swift
       8      1     54      1       9 init@25-33@./Issues/Comments/Tables/IssueCommentTableCollectionCell.swift
       3      1     21      1       3 configure@41-43@./Issues/Comments/Tables/IssueCommentTableCollectionCell.swift
       3      1     14      1       3 setRightBorder@45-47@./Issues/Comments/Tables/IssueCommentTableCollectionCell.swift
       3      1     14      1       3 setBottomBorder@49-51@./Issues/Comments/Tables/IssueCommentTableCollectionCell.swift
       4      1     22      2       4 init@18-21@./Issues/Comments/Tables/IssueCommentTableModel.swift
       4      1     24      2       4 init@29-32@./Issues/Comments/Tables/IssueCommentTableModel.swift
       4      1     26      2       4 init@38-41@./Issues/Comments/Tables/IssueCommentTableModel.swift
       3      1      9      0       3 diffIdentifier@45-47@./Issues/Comments/Tables/IssueCommentTableModel.swift
       3      1     13      1       3 isEqual@49-51@./Issues/Comments/Tables/IssueCommentTableModel.swift
       6      1     31      1       8 init@19-26@./Issues/Comments/Text/IssueCommentTextCell.swift
       6      1     35      0       6 layoutSubviews@32-37@./Issues/Comments/Text/IssueCommentTextCell.swift
       4      1     36      1       4 bindViewModel@41-44@./Issues/Comments/Text/IssueCommentTextCell.swift
       3      1     14      1       3 setCollapse@48-50@./Issues/Comments/Text/IssueCommentTextCell.swift
      12      1     75      1      14 init@17-30@./Issues/Comments/Unsupported/IssueCommentUnsupportedCell.swift
       4      1     13      0       4 layoutSubviews@36-39@./Issues/Comments/Unsupported/IssueCommentUnsupportedCell.swift
       4      1     27      1       4 bindViewModel@43-46@./Issues/Comments/Unsupported/IssueCommentUnsupportedCell.swift
       3      1     13      1       3 init@17-19@./Issues/Comments/Unsupported/IssueCommentUnsupportedModel.swift
       3      1      9      0       3 diffIdentifier@23-25@./Issues/Comments/Unsupported/IssueCommentUnsupportedModel.swift
       3      1     13      1       3 isEqual@27-29@./Issues/Comments/Unsupported/IssueCommentUnsupportedModel.swift
       9      1     53      0       9 CreateCollapsibleOverlay@13-21@./Issues/Comments/CollapsibleCell.swift
      15      2     84      2      18 LayoutCollapsible@23-40@./Issues/Comments/CollapsibleCell.swift
       8      2     27      1       8 bodyIsCollapsible@11-18@./Issues/Comments/IssueCollapsedBodies.swift
      21      4    111      2      23 IssueCollapsedBodies@20-42@./Issues/Comments/IssueCollapsedBodies.swift
      24      2    115      6      24 init@32-55@./Issues/Comments/IssueCommentModel.swift
       3      1     11      0       3 diffIdentifier@59-61@./Issues/Comments/IssueCommentModel.swift
       3      1     13      1       3 isEqual@63-65@./Issues/Comments/IssueCommentModel.swift
       8      1     46      3       8 init@48-55@./Issues/Comments/IssueCommentSectionController.swift
      12      4     64      1      14 didUpdate@57-70@./Issues/Comments/IssueCommentSectionController.swift
       8      1     77      1       9 shareAction@74-82@./Issues/Comments/IssueCommentSectionController.swift
      15      1    113      0      18 deleteAction@84-101@./Issues/Comments/IssueCommentSectionController.swift
      22      1    160      0      22 editAction@103-124@./Issues/Comments/IssueCommentSectionController.swift
       7      4     38      0       8 clearCollapseCells@126-133@./Issues/Comments/IssueCommentSectionController.swift
       7      1     28      0       7 uncollapse@136-142@./Issues/Comments/IssueCommentSectionController.swift
      20      2    129      3      21 react@144-164@./Issues/Comments/IssueCommentSectionController.swift
      14      3     92      0      19 deleteComment@167-185@./Issues/Comments/IssueCommentSectionController.swift
      18      4    102      2      20 sectionController@189-208@./Issues/Comments/IssueCommentSectionController.swift
      24      5    139      3      26 sectionController@210-235@./Issues/Comments/IssueCommentSectionController.swift
      36      9    230      3      44 sectionController@237-280@./Issues/Comments/IssueCommentSectionController.swift
      12      2     39      3      12 sectionController@284-295@./Issues/Comments/IssueCommentSectionController.swift
      11      1     68      2      11 didTapMore@299-309@./Issues/Comments/IssueCommentSectionController.swift
       4      1     29      1       4 didTapProfile@311-314@./Issues/Comments/IssueCommentSectionController.swift
       6      1     51      2       8 didAdd@318-325@./Issues/Comments/IssueCommentSectionController.swift
       6      1     50      2       8 didRemove@327-334@./Issues/Comments/IssueCommentSectionController.swift
       4      1     35      2       4 didTapIssue@338-341@./Issues/Comments/IssueCommentSectionController.swift
      10      1     86      2      11 didEditComment@345-355@./Issues/Comments/IssueCommentSectionController.swift
       3      1     16      1       3 didCancel@357-359@./Issues/Comments/IssueCommentSectionController.swift
      39      2    333      1      44 init@25-68@./Issues/Commit/IssueCommitCell.swift
       4      1     13      0       4 layoutSubviews@74-77@./Issues/Commit/IssueCommitCell.swift
       4      1     26      1       4 configure@81-84@./Issues/Commit/IssueCommitCell.swift
       3      1     13      0       3 onAvatar@89-91@./Issues/Commit/IssueCommitCell.swift
       7      1     49      5       7 init@20-26@./Issues/Commit/IssueCommitModel.swift
       3      1     11      0       3 diffIdentifier@30-32@./Issues/Commit/IssueCommitModel.swift
       3      1     13      1       3 isEqual@34-36@./Issues/Commit/IssueCommitModel.swift
       4      1     18      1       4 init@16-19@./Issues/Commit/IssueCommitSectionController.swift
       4      1     42      1       4 sizeForItem@21-24@./Issues/Commit/IssueCommitSectionController.swift
       8      2     62      1       8 cellForItem@26-33@./Issues/Commit/IssueCommitSectionController.swift
       4      1     40      1       4 didSelectItem@35-38@./Issues/Commit/IssueCommitSectionController.swift
       4      1     27      1       4 didTapAvatar@42-45@./Issues/Commit/IssueCommitSectionController.swift
       4      1     22      2       4 init@17-20@./Issues/DiffHunk/IssueDiffHunkModel.swift
       3      1     15      0       3 diffIdentifier@24-26@./Issues/DiffHunk/IssueDiffHunkModel.swift
       3      1     13      1       3 isEqual@28-30@./Issues/DiffHunk/IssueDiffHunkModel.swift
      14      1    118      1      17 init@16-32@./Issues/DiffHunk/IssueDiffHunkPathCell.swift
       4      1     13      0       4 layoutSubviews@38-41@./Issues/DiffHunk/IssueDiffHunkPathCell.swift
       4      1     25      1       4 bindViewModel@45-48@./Issues/DiffHunk/IssueDiffHunkPathCell.swift
       6      1     32      1       8 init@24-31@./Issues/DiffHunk/IssueDiffHunkPreviewCell.swift
      10      1     43      0      10 layoutSubviews@37-46@./Issues/DiffHunk/IssueDiffHunkPreviewCell.swift
       6      1     48      1       7 bindViewModel@50-56@./Issues/DiffHunk/IssueDiffHunkPreviewCell.swift
       5      1     20      0       5 init@14-18@./Issues/DiffHunk/IssueDiffHunkSectionController.swift
      10      1     47      2      10 sectionController@22-31@./Issues/DiffHunk/IssueDiffHunkSectionController.swift
      15      2     84      3      15 sectionController@33-47@./Issues/DiffHunk/IssueDiffHunkSectionController.swift
      17      4    103      3      17 sectionController@49-65@./Issues/DiffHunk/IssueDiffHunkSectionController.swift
      15      1     66      5      15 init@29-43@./Issues/EditComment/EditCommentViewController.swift
      29      1    124      0      33 viewDidLoad@49-81@./Issues/EditComment/EditCommentViewController.swift
       4      1     20      1       4 viewDidAppear@83-86@./Issues/EditComment/EditCommentViewController.swift
       8      1     35      0       8 setRightBarItemIdle@90-97@./Issues/EditComment/EditCommentViewController.swift
      15      1     81      0      15 setupInputView@99-113@./Issues/EditComment/EditCommentViewController.swift
      23      2    120      0      26 onCancel@116-141@./Issues/EditComment/EditCommentViewController.swift
      19      3     95      0      19 onSave@144-162@./Issues/EditComment/EditCommentViewController.swift
       4      1     25      1       4 didSave@164-167@./Issues/EditComment/EditCommentViewController.swift
       4      1     13      0       4 error@169-172@./Issues/EditComment/EditCommentViewController.swift
       6      1     57      1       6 onKeyboardWillShow@177-182@./Issues/EditComment/EditCommentViewController.swift
       4      1     20      1       4 onKeyboardWillHide@185-188@./Issues/EditComment/EditCommentViewController.swift
      24      3    114      7      26 editComment@13-38@./Issues/EditComment/GithubClient+EditComment.swift
      22      4    120      4      22 fetchFiles@13-34@./Issues/Files/GithubClient+PullRequestFiles.swift
      34      3    226      3      34 fetchContents@36-69@./Issues/Files/GithubClient+PullRequestFiles.swift
       7      1     52      2       8 init@20-27@./Issues/Files/IssueFileContentViewController.swift
       9      1     41      0      13 viewDidLoad@33-45@./Issues/Files/IssueFileContentViewController.swift
       4      1     17      0       4 viewWillLayoutSubviews@47-50@./Issues/Files/IssueFileContentViewController.swift
       3      1      8      0       3 onRefresh@55-57@./Issues/Files/IssueFileContentViewController.swift
       5      1     31      0       5 fetch@59-63@./Issues/Files/IssueFileContentViewController.swift
      12      3     78      2      14 handle@65-78@./Issues/Files/IssueFileContentViewController.swift
      16      3    124      3      20 configure@18-37@./Issues/Files/IssueFilesTableCell.swift
       8      1     39      0      11 viewDidLoad@18-28@./Issues/Files/IssueFilesViewController.swift
       4      1     22      2       4 configure@32-35@./Issues/Files/IssueFilesViewController.swift
       3      1      8      0       3 onRefresh@40-42@./Issues/Files/IssueFilesViewController.swift
       8      1     45      0       8 fetch@44-51@./Issues/Files/IssueFilesViewController.swift
      11      2     66      1      12 handle@53-64@./Issues/Files/IssueFilesViewController.swift
       7      3     50      2       7 tableView@68-74@./Issues/Files/IssueFilesViewController.swift
      17      5    127      2      20 tableView@76-95@./Issues/Files/IssueFilesViewController.swift
      10      2     76      2      12 tableView@99-110@./Issues/Files/IssueFilesViewController.swift
      14      1     95      2      16 init@18-33@./Issues/Files/IssuePatchContentViewController.swift
       7      1     33      0      10 viewDidLoad@39-48@./Issues/Files/IssuePatchContentViewController.swift
       4      1     17      0       4 viewWillLayoutSubviews@50-53@./Issues/Files/IssuePatchContentViewController.swift
      11      1     85      1      12 init@16-27@./Issues/Files/IssueViewFilesCell.swift
       5      1     27      2       5 init@17-21@./Issues/Files/IssueViewFilesSectionController.swift
       4      1     42      1       4 sizeForItem@23-26@./Issues/Files/IssueViewFilesSectionController.swift
       5      2     42      1       5 cellForItem@28-32@./Issues/Files/IssueViewFilesSectionController.swift
       8      1     73      1       9 didSelectItem@34-42@./Issues/Files/IssueViewFilesSectionController.swift
      23      1    187      1      26 init@25-50@./Issues/Labeled/IssueLabeledCell.swift
       4      1     13      0       4 layoutSubviews@56-59@./Issues/Labeled/IssueLabeledCell.swift
       3      1     13      0       3 onActor@64-66@./Issues/Labeled/IssueLabeledCell.swift
       3      1     13      0       3 onLabel@69-71@./Issues/Labeled/IssueLabeledCell.swift
      25      6    209      1      29 configure@75-103@./Issues/Labeled/IssueLabeledCell.swift
      15      1     58      6      15 init@26-40@./Issues/Labeled/IssueLabeledModel.swift
       3      1     11      0       3 diffIdentifier@44-46@./Issues/Labeled/IssueLabeledModel.swift
       3      1     13      1       4 isEqual@48-51@./Issues/Labeled/IssueLabeledModel.swift
       4      1     18      1       4 init@16-19@./Issues/Labeled/IssueLabeledSectionController.swift
       4      1     42      1       4 sizeForItem@21-24@./Issues/Labeled/IssueLabeledSectionController.swift
       8      2     62      1       8 cellForItem@26-33@./Issues/Labeled/IssueLabeledSectionController.swift
       4      1     27      1       4 didTapActor@37-40@./Issues/Labeled/IssueLabeledSectionController.swift
       4      1     39      1       4 didTapLabel@42-45@./Issues/Labeled/IssueLabeledSectionController.swift
      17      1    132      1      19 init@18-36@./Issues/Labels/IssueLabelCell.swift
       4      1     13      0       4 layoutSubviews@42-45@./Issues/Labels/IssueLabelCell.swift
       7      1     50      1       7 bindViewModel@49-55@./Issues/Labels/IssueLabelCell.swift
       4      1     19      0       4 layoutSubviews@15-18@./Issues/Labels/IssueLabelDotCell.swift
      11      1     85      1      12 init@17-28@./Issues/Labels/IssueLabelEditCell.swift
       1      1      9      1       1 bindViewModel@36-36@./Issues/Labels/IssueLabelEditCell.swift
       4      1     24      2       4 init@17-20@./Issues/Labels/IssueLabelsModel.swift
       3      1     11      0       4 diffIdentifier@24-27@./Issues/Labels/IssueLabelsModel.swift
       3      1     13      1       3 isEqual@29-31@./Issues/Labels/IssueLabelsModel.swift
       7      1     33      2       7 init@22-28@./Issues/Labels/IssueLabelsSectionController.swift
      18      4    111      2      23 sectionController@32-54@./Issues/Labels/IssueLabelsSectionController.swift
       9      1     55      3       9 sectionController@56-64@./Issues/Labels/IssueLabelsSectionController.swift
      17      4    106      3      19 sectionController@66-84@./Issues/Labels/IssueLabelsSectionController.swift
      26      2    179      3      27 sectionController@88-114@./Issues/Labels/IssueLabelsSectionController.swift
      18      3    112      2      19 didDismiss@118-136@./Issues/Labels/IssueLabelsSectionController.swift
      17      1    127      1      19 init@21-39@./Issues/Labels/IssueLabelSummaryCell.swift
       4      1     13      0       4 layoutSubviews@45-48@./Issues/Labels/IssueLabelSummaryCell.swift
       5      1     37      1       5 bindViewModel@52-56@./Issues/Labels/IssueLabelSummaryCell.swift
       5      1     25      0       5 get@60-64@./Issues/Labels/IssueLabelSummaryCell.swift
       1      1      3      0       1 set@65-65@./Issues/Labels/IssueLabelSummaryCell.swift
       4      1     32      1       4 init@18-21@./Issues/Labels/IssueLabelSummaryModel.swift
       3      1     11      0       3 diffIdentifier@25-27@./Issues/Labels/IssueLabelSummaryModel.swift
       5      2     37      1       5 isEqual@29-33@./Issues/Labels/IssueLabelSummaryModel.swift
       9      1     57      1      10 init@16-25@./Issues/Milestone/IssueMilestoneCell.swift
      16      1    104      1      16 configure@33-48@./Issues/Milestone/IssueMilestoneCell.swift
       4      1     22      2       4 init@17-20@./Issues/Milestone/IssueMilestoneModel.swift
       3      1     11      0       4 diffIdentifier@24-27@./Issues/Milestone/IssueMilestoneModel.swift
       5      2     35      1       5 isEqual@29-33@./Issues/Milestone/IssueMilestoneModel.swift
       4      1     18      1       4 init@16-19@./Issues/Milestone/IssueMilestoneSectionController.swift
       4      1     42      1       4 sizeForItem@21-24@./Issues/Milestone/IssueMilestoneSectionController.swift
       7      2     61      1       7 cellForItem@26-32@./Issues/Milestone/IssueMilestoneSectionController.swift
       5      1     56      1       5 didSelectItem@34-38@./Issues/Milestone/IssueMilestoneSectionController.swift
      17      1    119      1      19 init@23-41@./Issues/MilestoneEvent/IssueMilestoneEventCell.swift
       4      1     13      0       4 layoutSubviews@47-50@./Issues/MilestoneEvent/IssueMilestoneEventCell.swift
       3      1     13      0       3 onActor@55-57@./Issues/MilestoneEvent/IssueMilestoneEventCell.swift
      20      4    164      1      23 configure@61-83@./Issues/MilestoneEvent/IssueMilestoneEventCell.swift
       7      1     49      5       7 init@25-31@./Issues/MilestoneEvent/IssueMilestoneEventModel.swift
       3      1     11      0       3 diffIdentifier@35-37@./Issues/MilestoneEvent/IssueMilestoneEventModel.swift
       3      1     13      1       3 isEqual@39-41@./Issues/MilestoneEvent/IssueMilestoneEventModel.swift
       4      1     42      1       4 sizeForItem@14-17@./Issues/MilestoneEvent/IssueMilestoneEventSectionController.swift
       8      2     62      1       8 cellForItem@19-26@./Issues/MilestoneEvent/IssueMilestoneEventSectionController.swift
       4      1     27      1       4 didTapActor@30-33@./Issues/MilestoneEvent/IssueMilestoneEventSectionController.swift
      15      1    101      1      17 init@17-33@./Issues/NeckLoad/IssueNeckLoadCell.swift
       8      2     30      1       8 configure@41-48@./Issues/NeckLoad/IssueNeckLoadCell.swift
       3      1      9      0       3 diffIdentifier@16-18@./Issues/NeckLoad/IssueNeckLoadModel.swift
       3      1     13      1       3 isEqual@20-22@./Issues/NeckLoad/IssueNeckLoadModel.swift
       3      1     13      1       3 init@21-23@./Issues/NeckLoad/IssueNeckLoadSectionController.swift
       4      1     42      1       4 sizeForItem@25-28@./Issues/NeckLoad/IssueNeckLoadSectionController.swift
       6      2     52      1       6 cellForItem@30-35@./Issues/NeckLoad/IssueNeckLoadSectionController.swift
       7      1     43      1       7 didSelectItem@37-43@./Issues/NeckLoad/IssueNeckLoadSectionController.swift
       3      1     15      1       3 init@16-18@./Issues/Preview/IssuePreviewModel.swift
       3      1      9      0       3 diffIdentifier@22-24@./Issues/Preview/IssuePreviewModel.swift
       3      1     13      1       3 isEqual@26-28@./Issues/Preview/IssuePreviewModel.swift
       4      1     13      0       4 init@22-25@./Issues/Preview/IssuePreviewSectionController.swift
       6      1     30      2       6 sectionController@29-34@./Issues/Preview/IssuePreviewSectionController.swift
      14      1     72      3      14 sectionController@36-49@./Issues/Preview/IssuePreviewSectionController.swift
      20      2    114      3      23 sectionController@51-73@./Issues/Preview/IssuePreviewSectionController.swift
      11      1     53      3      11 init@22-32@./Issues/Preview/IssuePreviewViewController.swift
      19      1    115      0      22 viewDidLoad@38-59@./Issues/Preview/IssuePreviewViewController.swift
       4      2     30      1       4 objects@63-66@./Issues/Preview/IssuePreviewViewController.swift
       3      1     20      2       3 listAdapter@68-70@./Issues/Preview/IssuePreviewViewController.swift
       3      2     13      1       3 emptyView@72-74@./Issues/Preview/IssuePreviewViewController.swift
      33      2    274      1      39 init@19-57@./Issues/Referenced/IssueReferencedCell.swift
       4      1     13      0       4 layoutSubviews@63-66@./Issues/Referenced/IssueReferencedCell.swift
      21      4    161      1      25 configure@70-94@./Issues/Referenced/IssueReferencedCell.swift
      19      1     76      8      19 init@29-47@./Issues/Referenced/IssueReferencedModel.swift
       3      1     11      0       3 diffIdentifier@51-53@./Issues/Referenced/IssueReferencedModel.swift
       3      1     13      1       3 isEqual@55-57@./Issues/Referenced/IssueReferencedModel.swift
       5      1     27      1       5 init@16-20@./Issues/Referenced/IssueReferencedSectionController.swift
       4      1     42      1       4 sizeForItem@22-25@./Issues/Referenced/IssueReferencedSectionController.swift
       7      2     57      1       7 cellForItem@27-33@./Issues/Referenced/IssueReferencedSectionController.swift
       9      1     66      1       9 didSelectItem@35-43@./Issues/Referenced/IssueReferencedSectionController.swift
      24      2    201      1      27 init@25-51@./Issues/ReferencedCommit/IssueReferencedCommitCell.swift
       4      1     13      0       4 layoutSubviews@57-60@./Issues/ReferencedCommit/IssueReferencedCommitCell.swift
       3      1     13      0       3 onName@65-67@./Issues/ReferencedCommit/IssueReferencedCommitCell.swift
       3      1     13      0       3 onHash@70-72@./Issues/ReferencedCommit/IssueReferencedCommitCell.swift
      18      3    147      1      20 configure@76-95@./Issues/ReferencedCommit/IssueReferencedCommitCell.swift
      15      1     58      6      15 init@21-35@./Issues/ReferencedCommit/IssueReferencedCommitModel.swift
       3      1     11      0       3 diffIdentifier@39-41@./Issues/ReferencedCommit/IssueReferencedCommitModel.swift
       3      1     13      1       3 isEqual@43-45@./Issues/ReferencedCommit/IssueReferencedCommitModel.swift
       4      1     42      1       4 sizeForItem@14-17@./Issues/ReferencedCommit/IssueReferencedCommitSectionController.swift
       8      2     62      1       8 cellForItem@19-26@./Issues/ReferencedCommit/IssueReferencedCommitSectionController.swift
       4      1     41      1       4 didTapHash@30-33@./Issues/ReferencedCommit/IssueReferencedCommitSectionController.swift
       4      1     27      1       4 didTapActor@35-38@./Issues/ReferencedCommit/IssueReferencedCommitSectionController.swift
      18      1    138      1      21 init@31-51@./Issues/Renamed/IssueRenamedCell.swift
       5      1     25      0       5 layoutSubviews@57-61@./Issues/Renamed/IssueRenamedCell.swift
       3      1     13      0       3 onActor@66-68@./Issues/Renamed/IssueRenamedCell.swift
      18      2    141      1      20 configure@72-91@./Issues/Renamed/IssueRenamedCell.swift
      11      1     40      4      11 init@19-29@./Issues/Renamed/IssueRenamedModel.swift
       3      1     11      0       3 diffIdentifier@33-35@./Issues/Renamed/IssueRenamedModel.swift
       3      1     13      1       3 isEqual@37-39@./Issues/Renamed/IssueRenamedModel.swift
       6      1     54      1       6 sizeForItem@14-19@./Issues/Renamed/IssueRenamedSectionController.swift
       8      2     62      1       8 cellForItem@21-28@./Issues/Renamed/IssueRenamedSectionController.swift
       4      1     27      1       4 didTapActor@32-35@./Issues/Renamed/IssueRenamedSectionController.swift
      19      1    149      3      19 IssueRenamedString@11-29@./Issues/Renamed/IssueRenamedString.swift
      22      1    179      1      25 init@25-49@./Issues/Request/IssueRequestCell.swift
       4      1     13      0       4 layoutSubviews@55-58@./Issues/Request/IssueRequestCell.swift
       3      1     13      0       3 onActor@63-65@./Issues/Request/IssueRequestCell.swift
       3      1     13      0       3 onUser@68-70@./Issues/Request/IssueRequestCell.swift
      23      7    208      1      27 configure@74-100@./Issues/Request/IssueRequestCell.swift
       7      1     49      5       7 init@27-33@./Issues/Request/IssueRequestModel.swift
       3      1     11      0       3 diffIdentifier@37-39@./Issues/Request/IssueRequestModel.swift
       3      1     13      1       3 isEqual@41-43@./Issues/Request/IssueRequestModel.swift
       4      1     42      1       4 sizeForItem@14-17@./Issues/Request/IssueRequestSectionController.swift
       8      2     62      1       8 cellForItem@19-26@./Issues/Request/IssueRequestSectionController.swift
       4      1     27      1       4 didTapActor@30-33@./Issues/Request/IssueRequestSectionController.swift
       4      1     27      1       4 didTapUser@35-38@./Issues/Request/IssueRequestSectionController.swift
      28      1    221      1      33 init@25-57@./Issues/Review/IssueReviewDetailsCell.swift
       4      1     13      0       4 layoutSubviews@63-66@./Issues/Review/IssueReviewDetailsCell.swift
       3      1     13      0       3 onActorTapped@71-73@./Issues/Review/IssueReviewDetailsCell.swift
      46      8    341      1      51 bindViewModel@77-127@./Issues/Review/IssueReviewDetailsCell.swift
       5      1     31      3       5 init@18-22@./Issues/Review/IssueReviewDetailsModel.swift
       3      1     11      0       4 diffIdentifier@26-29@./Issues/Review/IssueReviewDetailsModel.swift
       3      1     13      1       3 isEqual@31-33@./Issues/Review/IssueReviewDetailsModel.swift
       5      1     27      1       5 init@14-18@./Issues/Review/IssueReviewEmptyTailCell.swift
       1      1      9      1       1 bindViewModel@26-26@./Issues/Review/IssueReviewEmptyTailCell.swift
       5      1     33      3       5 init@18-22@./Issues/Review/IssueReviewModel.swift
       3      1     11      0       3 diffIdentifier@26-28@./Issues/Review/IssueReviewModel.swift
       3      1     13      1       4 isEqual@30-33@./Issues/Review/IssueReviewModel.swift
       6      1     32      1       6 init@29-34@./Issues/Review/IssueReviewSectionController.swift
       7      1     49      2       7 sectionController@38-44@./Issues/Review/IssueReviewSectionController.swift
      21      2     98      3      22 sectionController@46-67@./Issues/Review/IssueReviewSectionController.swift
      34      6    192      3      39 sectionController@69-107@./Issues/Review/IssueReviewSectionController.swift
       4      1     29      1       4 didTapActor@111-114@./Issues/Review/IssueReviewSectionController.swift
       4      1     35      2       4 didTapIssue@118-121@./Issues/Review/IssueReviewSectionController.swift
      17      2    133      1      19 init@18-36@./Issues/Status/IssueStatusCell.swift
       4      1     13      0       4 layoutSubviews@42-45@./Issues/Status/IssueStatusCell.swift
      12      5    100      1      14 bindViewModel@49-62@./Issues/Status/IssueStatusCell.swift
       5      1     31      3       5 init@18-22@./Issues/Status/IssueStatusModel.swift
       3      1     11      0       3 diffIdentifier@26-28@./Issues/Status/IssueStatusModel.swift
       7      4     49      1       7 isEqual@30-36@./Issues/Status/IssueStatusModel.swift
       4      1     17      0       4 init@14-17@./Issues/Status/IssueStatusSectionController.swift
       5      1     42      1       5 sizeForItem@19-23@./Issues/Status/IssueStatusSectionController.swift
       7      2     57      1       7 cellForItem@25-31@./Issues/Status/IssueStatusSectionController.swift
      31      2    275      1      36 init@28-63@./Issues/StatusEvent/IssueStatusEventCell.swift
       4      1     13      0       4 layoutSubviews@69-72@./Issues/StatusEvent/IssueStatusEventCell.swift
       3      1     13      0       3 onActor@77-79@./Issues/StatusEvent/IssueStatusEventCell.swift
       3      1     13      0       3 onHash@82-84@./Issues/StatusEvent/IssueStatusEventCell.swift
      21     10    204      1      24 configure@88-111@./Issues/StatusEvent/IssueStatusEventCell.swift
       8      1     58      6       8 init@21-28@./Issues/StatusEvent/IssueStatusEventModel.swift
       3      1     11      0       3 diffIdentifier@32-34@./Issues/StatusEvent/IssueStatusEventModel.swift
       3      1     13      1       4 isEqual@36-39@./Issues/StatusEvent/IssueStatusEventModel.swift
       4      1     18      1       4 init@16-19@./Issues/StatusEvent/IssueStatusEventSectionController.swift
       4      1     42      1       4 sizeForItem@21-24@./Issues/StatusEvent/IssueStatusEventSectionController.swift
       8      2     62      1       8 cellForItem@26-33@./Issues/StatusEvent/IssueStatusEventSectionController.swift
       4      1     27      1       4 didTapActor@37-40@./Issues/StatusEvent/IssueStatusEventSectionController.swift
       4      1     39      1       4 didTapHash@42-45@./Issues/StatusEvent/IssueStatusEventSectionController.swift
       8      1     51      1       9 init@18-26@./Issues/Title/IssueTitleCell.swift
       4      1     13      0       4 layoutSubviews@32-35@./Issues/Title/IssueTitleCell.swift
       5      1     49      1       5 sizeForItem@14-18@./Issues/Title/IssueTitleSectionController.swift
       7      2     60      1       7 cellForItem@20-26@./Issues/Title/IssueTitleSectionController.swift
       3      1     13      1       3 init@31-33@./Issues/AddCommentClient.swift
       5      1     25      1       5 addListener@37-41@./Issues/AddCommentClient.swift
      23      4    164      2      25 addComment@43-67@./Issues/AddCommentClient.swift
      20      5    103      2      23 uniqueAutocompleteUsers@12-34@./Issues/GithubClient+Issues.swift
      83      7    511      6      97 fetch@38-134@./Issues/GithubClient+Issues.swift
      26      4    170      4      26 react@136-161@./Issues/GithubClient+Issues.swift
      19      2     96      5      19 setStatus@168-186@./Issues/GithubClient+Issues.swift
       9      2     86      4      11 deleteComment@188-198@./Issues/GithubClient+Issues.swift
      12      3     93      5      14 setLocked@200-213@./Issues/GithubClient+Issues.swift
     204     23   1448      3     209 timelineViewModels@54-262@./Issues/Issue+IssueType.swift
      26      8    216      4      26 BodyHeightForComment@11-36@./Issues/IssueCommentModelHandling.swift
      14     10     92      1      14 CellTypeForComment@38-51@./Issues/IssueCommentModelHandling.swift
      24      6    127      7      24 ExtraCommentCellConfigure@53-76@./Issues/IssueCommentModelHandling.swift
      15      1     87      3      24 init@60-83@./Issues/IssuesViewController.swift
      56      4    357      0      72 viewDidLoad@89-160@./Issues/IssuesViewController.swift
      10      1     44      1      10 viewDidAppear@163-172@./Issues/IssuesViewController.swift
       4      1     18      1       4 viewDidDisappear@174-177@./Issues/IssuesViewController.swift
       4      1     18      0       4 viewWillLayoutSubviews@179-182@./Issues/IssuesViewController.swift
       3      1      9      0       3 keyForTextCaching@186-188@./Issues/IssuesViewController.swift
      11      2     47      1      14 didPressRightButton@190-203@./Issues/IssuesViewController.swift
       3      1     30      2       3 didChangeAutoCompletionPrefix@205-207@./Issues/IssuesViewController.swift
       3      1     25      2       3 tableView@209-211@./Issues/IssuesViewController.swift
       3      1     33      2       3 tableView@213-215@./Issues/IssuesViewController.swift
       3      1     16      0       3 heightForAutoCompletionView@217-219@./Issues/IssuesViewController.swift
       5      2     44      2       5 tableView@221-225@./Issues/IssuesViewController.swift
       3      1     20      2       3 tableView@227-229@./Issues/IssuesViewController.swift
       9      1     72      0      10 closeAction@241-250@./Issues/IssuesViewController.swift
       8      1     63      0       9 lockAction@252-260@./Issues/IssuesViewController.swift
      12      1     80      0      14 viewRepoAction@262-275@./Issues/IssuesViewController.swift
      11      2     69      0      12 bookmarkAction@277-288@./Issues/IssuesViewController.swift
      16      1    122      1      19 onMore@291-309@./Issues/IssuesViewController.swift
      28      6    145      1      34 fetch@311-344@./Issues/IssuesViewController.swift
       8      1     36      0       8 onPreview@346-353@./Issues/IssuesViewController.swift
      32      5    195      1      35 setStatus@355-389@./Issues/IssuesViewController.swift
      32      3    184      1      35 setLocked@391-425@./Issues/IssuesViewController.swift
      30      8    155      1      40 objects@429-468@./Issues/IssuesViewController.swift
      25     19    225      2      26 listAdapter@470-495@./Issues/IssuesViewController.swift
      10      4     52      1      10 emptyView@497-506@./Issues/IssuesViewController.swift
       3      1     14      1       3 loadFromNetwork@510-512@./Issues/IssuesViewController.swift
       3      1     12      1       3 loadNextPage@514-516@./Issues/IssuesViewController.swift
      27      1    124      6      28 didSendComment@520-547@./Issues/IssuesViewController.swift
       3      1     21      3       3 didFailSendingComment@549-551@./Issues/IssuesViewController.swift
       3      1     16      2       3 didFinish@555-557@./Issues/IssuesViewController.swift
       4      1     21      1       4 didChangeStore@559-562@./Issues/IssuesViewController.swift
       3      1     14      1       3 didSelect@572-574@./Issues/IssuesViewController.swift
       2      1      8      1       3 didEdit@578-580@./Issues/IssuesViewController.swift
      11      1     68      1      14 init@16-29@./Issues/IssueTextActionsView.swift
       5      1     20      0       5 prepareForReuse@35-39@./Issues/IssueTextActionsView.swift
       5      1     24      0       5 layoutSubviews@41-45@./Issues/IssueTextActionsView.swift
       9      1     53      1      12 init@85-96@./Issues/IssueTextActionsView.swift
       4      1     15      0       4 layoutSubviews@102-105@./Issues/IssueTextActionsView.swift
       3      1     20      2       3 collectionView@109-111@./Issues/IssueTextActionsView.swift
       6      2     57      2       6 collectionView@113-118@./Issues/IssueTextActionsView.swift
       4      1     43      2       4 collectionView@122-125@./Issues/IssueTextActionsView.swift
       7      1     63      3       7 collectionView@127-133@./Issues/IssueTextActionsView.swift
      13      1     68      2      13 titleStringSizing@12-24@./Issues/IssueViewModels.swift
      15      2    139      1      21 createIssueReactions@26-46@./Issues/IssueViewModels.swift
       3      1     35      2       3 commentModelOptions@48-50@./Issues/IssueViewModels.swift
      45      1    256     10      48 createCommentModel@52-99@./Issues/IssueViewModels.swift
      10      2     81      1      10 createAssigneeModel@101-110@./Issues/IssueViewModels.swift
     256     28   1841      3     268 timelineViewModels@58-325@./Issues/PullRequest+IssueType.swift
       6      1     82      1       6 diffHunkModel@327-332@./Issues/PullRequest+IssueType.swift
      29      5    161      4      33 commentModels@334-366@./Issues/PullRequest+IssueType.swift
      25      5    242      1      31 init@17-47@./Issues/WriteButton.swift
       4      1     15      0       4 layoutSubviews@53-56@./Issues/WriteButton.swift
       3      3     32      3       3 addTarget@60-62@./Issues/WriteButton.swift
       7      1     36      0       9 viewDidLoad@25-33@./Labels/LabelsViewController.swift
       3      1      8      0       3 onRefresh@38-40@./Labels/LabelsViewController.swift
      15      3    105      0      15 fetch@42-56@./Labels/LabelsViewController.swift
       8      1     48      1       9 update@58-66@./Labels/LabelsViewController.swift
      10      3     54      0      10 onDone@68-77@./Labels/LabelsViewController.swift
       3      1     20      2       3 tableView@81-83@./Labels/LabelsViewController.swift
       7      2     81      2       7 tableView@85-91@./Labels/LabelsViewController.swift
      10      2     66      2      10 tableView@95-104@./Labels/LabelsViewController.swift
      16      2     78      5      16 configure@108-123@./Labels/LabelsViewController.swift
      14      1     99      0      14 awakeFromNib@15-28@./Labels/LabelTableCell.swift
       6      4     54      3       6 configure@32-37@./Labels/LabelTableCell.swift
      32      4    171      2      34 requestAccessToken@18-51@./Login/GithubClient+AccessToken.swift
      22      2    120      2      22 verifyPersonalAccessToken@53-74@./Login/GithubClient+AccessToken.swift
       3      1      7      0       3 get@30-32@./Login/LoginSplashViewController.swift
       3      1      6      0       3 set@33-35@./Login/LoginSplashViewController.swift
       6      1     35      0       6 viewDidLoad@56-61@./Login/LoginSplashViewController.swift
      14      3     89      1      14 onSignInButton@65-78@./Login/LoginSplashViewController.swift
      22      1    159      1      27 onPersonalAccessTokenButton@85-111@./Login/LoginSplashViewController.swift
       6      3     56      2       6 handle@113-118@./Login/LoginSplashViewController.swift
      10      1     61      0      11 handleError@120-130@./Login/LoginSplashViewController.swift
       6      1     43      3       6 finishLogin@132-137@./Login/LoginSplashViewController.swift
       7      1     49      2       8 didReceiveRedirect@141-148@./Login/LoginSplashViewController.swift
       1      1     16      3       1 didFocus@150-150@./Login/LoginSplashViewController.swift
       1      1      8      1       1 didLogout@151-151@./Login/LoginSplashViewController.swift
      15      1     46      3      15 init@16-30@./Models/App.swift
      11      1     61      3      11 init@35-45@./Models/App.swift
      42      1    165     12      42 init@44-85@./Models/Authorization.swift
      29      1    205     12      29 init@99-127@./Models/Authorization.swift
      42      1    163     12      42 init@43-84@./Models/Content.swift
      29      1    205     12      29 init@98-126@./Models/Content.swift
      36      1    137     10      36 init@36-71@./Models/File.swift
      25      1    173     10      25 init@83-107@./Models/File.swift
      15      1     46      3      15 init@15-29@./Models/Link.swift
      11      1     61      3      11 init@34-44@./Models/Link.swift
      30      1    111      8      30 init@32-61@./Models/Notification.swift
      21      1    141      8      21 init@71-91@./Models/Notification.swift
      57      1    228     17      57 init@57-113@./Models/Organization.swift
      39      1    285     17      39 init@132-170@./Models/Organization.swift
      15      1     46      3      15 init@15-29@./Models/Permission.swift
      11      1     61      3      11 init@34-44@./Models/Permission.swift
     231      2    985     75     231 init@236-466@./Models/Repository.swift
     155      1   1213     75     155 init@543-697@./Models/Repository.swift
       4      1     22      2       4 init@17-20@./Models/RepositoryLabel.swift
       3      1     11      0       3 diffIdentifier@24-26@./Models/RepositoryLabel.swift
       5      2     37      1       5 isEqual@28-32@./Models/RepositoryLabel.swift
      18      1     59      4      18 init@18-35@./Models/Subject.swift
      13      1     77      4      13 init@41-53@./Models/Subject.swift
      96      1    397     30      96 init@96-191@./Models/User.swift
      65      1    493     30      65 init@223-287@./Models/User.swift
      20      1    152      5      24 createIssue@13-36@./New Issue/GitHubClient+NewIssue.swift
      13      1     74      4      15 create@70-84@./New Issue/NewIssueTableViewController.swift
      14      1     63      0      24 viewDidLoad@86-109@./New Issue/NewIssueTableViewController.swift
       9      1     44      0       9 setRightBarItemIdle@113-121@./New Issue/NewIssueTableViewController.swift
      22      1    141      0      28 onSend@125-152@./New Issue/NewIssueTableViewController.swift
       8      1     37      0       8 onCancel@156-163@./New Issue/NewIssueTableViewController.swift
      16      1     82      0      16 setupInputView@165-180@./New Issue/NewIssueTableViewController.swift
       4      1     18      1       4 textFieldShouldReturn@185-188@./New Issue/NewIssueTableViewController.swift
       3      1     18      1       3 titleFieldEditingChanged@193-195@./New Issue/NewIssueTableViewController.swift
      35      1    255      1      42 init@18-59@./Notifications/NoNewNotificationsCell.swift
       8      1     86      0       9 layoutSubviews@65-73@./Notifications/NoNewNotificationsCell.swift
       4      1     13      0       4 prepareForReuse@75-78@./Notifications/NoNewNotificationsCell.swift
       4      1     13      0       4 didMoveToWindow@80-83@./Notifications/NoNewNotificationsCell.swift
      18      1    117      0      22 resetAnimations@87-108@./Notifications/NoNewNotificationsCell.swift
       6      1     36      3       6 init@18-23@./Notifications/NoNewNotificationsSectionController.swift
       5      1     50      1       5 sizeForItem@25-29@./Notifications/NoNewNotificationsSectionController.swift
       5      2     44      1       5 cellForItem@31-35@./Notifications/NoNewNotificationsSectionController.swift
      25      2    149      2      28 CreateViewModels@27-54@./Notifications/Notification+NotificationViewModel.swift
      31      2    176      3      34 CreateNotificationViewModels@56-89@./Notifications/Notification+NotificationViewModel.swift
      40      1    314      1      46 init@26-71@./Notifications/NotificationCell.swift
       4      1     13      0       4 layoutSubviews@77-80@./Notifications/NotificationCell.swift
      20      2    160      1      22 configure@92-113@./Notifications/NotificationCell.swift
       3      1     13      1       3 init@17-19@./Notifications/NotificationClient.swift
       3      1     18      0       3 readOnOpen@25-27@./Notifications/NotificationClient.swift
       3      1     20      1       3 setReadOnOpen@29-31@./Notifications/NotificationClient.swift
      37      7    258      8      39 requestNotifications@34-72@./Notifications/NotificationClient.swift
       9      1     59      1      10 markAllNotifications@75-84@./Notifications/NotificationClient.swift
       3      1     17      1       3 notificationOpened@86-88@./Notifications/NotificationClient.swift
      30      6    176      2      35 markNotificationRead@90-124@./Notifications/NotificationClient.swift
      11      1     67      1      12 init@16-27@./Notifications/NotificationNextPageCell.swift
       4      1     13      0       4 layoutSubviews@33-36@./Notifications/NotificationNextPageCell.swift
       4      1     31      1       4 configure@40-43@./Notifications/NotificationNextPageCell.swift
       5      1     25      0       5 get@46-50@./Notifications/NotificationNextPageCell.swift
       1      1      3      0       1 set@51-51@./Notifications/NotificationNextPageCell.swift
       3      1     13      1       3 init@20-22@./Notifications/NotificationNextPageSectionController.swift
       4      1     42      1       4 sizeForItem@24-27@./Notifications/NotificationNextPageSectionController.swift
      11      2     61      1      12 cellForItem@29-40@./Notifications/NotificationNextPageSectionController.swift
       3      1     17      1       3 didSelectItem@42-44@./Notifications/NotificationNextPageSectionController.swift
      12      1     95      1      15 init@17-31@./Notifications/NotificationRepoCell.swift
       4      1     25      1       4 bindViewModel@39-42@./Notifications/NotificationRepoCell.swift
       5      2     38      1       5 warm@26-30@./Notifications/NotificationsDataSource.swift
       3      1     13      1       3 update@32-34@./Notifications/NotificationsDataSource.swift
       3      1     13      1       3 append@36-38@./Notifications/NotificationsDataSource.swift
       3      2     23      1       3 isRead@54-56@./Notifications/NotificationsDataSource.swift
       3      1     14      1       3 setOptimisticRead@58-60@./Notifications/NotificationsDataSource.swift
       3      1     14      1       3 removeOptimisticRead@62-64@./Notifications/NotificationsDataSource.swift
       4      1     18      1       4 init@18-21@./Notifications/NotificationSectionController.swift
       5      1     52      1       5 sizeForItem@23-27@./Notifications/NotificationSectionController.swift
       9      2     67      1      11 cellForItem@29-39@./Notifications/NotificationSectionController.swift
      22      4    169      1      24 didSelectItem@41-64@./Notifications/NotificationSectionController.swift
       4      1     31      0       4 markRead@68-71@./Notifications/NotificationSectionController.swift
      19      4    148      3      23 collectionView@80-102@./Notifications/NotificationSectionController.swift
       5      2     35      3       5 collectionView@104-108@./Notifications/NotificationSectionController.swift
       9      1     48      2      11 init@30-40@./Notifications/NotificationsViewController.swift
      16      4     83      0      19 viewDidLoad@46-64@./Notifications/NotificationsViewController.swift
       5      1     40      0       5 onViewAll@70-74@./Notifications/NotificationsViewController.swift
      11      2     43      0      11 resetLeftBarItem@76-86@./Notifications/NotificationsViewController.swift
       8      2     50      0      11 updateUnreadState@88-98@./Notifications/NotificationsViewController.swift
      14      2     69      0      18 markAllRead@100-117@./Notifications/NotificationsViewController.swift
      14      1     81      1      16 onMarkAll@119-134@./Notifications/NotificationsViewController.swift
       4      1     29      2       4 update@136-139@./Notifications/NotificationsViewController.swift
      11      3    106      2      13 handle@141-153@./Notifications/NotificationsViewController.swift
      13      2    112      1      13 fetch@157-169@./Notifications/NotificationsViewController.swift
       3      1     15      1       3 headModels@173-175@./Notifications/NotificationsViewController.swift
       7      3     46      2       7 sectionController@177-183@./Notifications/NotificationsViewController.swift
       7      1     25      1       7 emptySectionController@185-191@./Notifications/NotificationsViewController.swift
       3      1     13      1       3 didForeground@195-197@./Notifications/NotificationsViewController.swift
       4      1     21      1       4 ratingNeedsDismiss@201-204@./Notifications/NotificationsViewController.swift
       3      1     15      0       3 didSingleTapTab@208-210@./Notifications/NotificationsViewController.swift
       1      1      5      0       1 didDoubleTapTab@212-212@./Notifications/NotificationsViewController.swift
      21      8    114      2      26 flatCacheDidUpdate@216-241@./Notifications/NotificationsViewController.swift
      15      6    115      1      18 match@13-30@./Notifications/NotificationViewModel+Filterable.swift
      19      1     76      8      19 init@29-47@./Notifications/NotificationViewModel.swift
      31      1    132      9      31 init@49-79@./Notifications/NotificationViewModel.swift
       3      1     11      0       3 diffIdentifier@83-85@./Notifications/NotificationViewModel.swift
      10      7     75      1      10 isEqual@87-96@./Notifications/NotificationViewModel.swift
       3      1     26      0       3 forNotifications@13-15@./Notifications/SegmentedControlModel+Notifications.swift
      24      1    181      1      28 init@18-45@./Repository/Empty/RepositoryEmptyResultsCell.swift
       4      1     13      0       4 layoutSubviews@51-54@./Repository/Empty/RepositoryEmptyResultsCell.swift
       5      1     25      0       5 get@57-61@./Repository/Empty/RepositoryEmptyResultsCell.swift
       1      1      3      0       1 set@62-62@./Repository/Empty/RepositoryEmptyResultsCell.swift
       4      1     29      1       4 configure@67-70@./Repository/Empty/RepositoryEmptyResultsCell.swift
       7      1     45      4       7 init@18-24@./Repository/Empty/RepositoryEmptyResultsSectionController.swift
       4      1     50      1       4 sizeForItem@26-29@./Repository/Empty/RepositoryEmptyResultsSectionController.swift
       7      2     50      1       8 cellForItem@31-38@./Repository/Empty/RepositoryEmptyResultsSectionController.swift
      31      4    197      4      32 fetchFiles@15-46@./Repository/GitHubClient+Repository.swift
      19      3    114      4      19 fetchFile@55-73@./Repository/GitHubClient+Repository.swift
       4      1     43      1       4 summaryTypes@19-22@./Repository/RepositoryClient.swift
       5      1     47      1       5 nextPageToken@24-28@./Repository/RepositoryClient.swift
       4      1     45      1       4 summaryTypes@34-37@./Repository/RepositoryClient.swift
       5      1     49      1       5 nextPageToken@39-43@./Repository/RepositoryClient.swift
      23      1    155      2      24 createSummaryModel@47-70@./Repository/RepositoryClient.swift
      11      1     79      3      11 createSummaryModel@72-82@./Repository/RepositoryClient.swift
       5      1     31      3       5 init@91-95@./Repository/RepositoryClient.swift
      26      1    146      3      29 loadPage@102-130@./Repository/RepositoryClient.swift
      11      1     59      3      11 loadIssues@132-142@./Repository/RepositoryClient.swift
      11      1     59      3      11 loadPullRequests@144-154@./Repository/RepositoryClient.swift
      16      2    120      1      16 fetchReadme@156-171@./Repository/RepositoryClient.swift
       7      1     48      3       7 init@31-37@./Repository/RepositoryCodeBlobViewController.swift
      25      1    144      0      32 viewDidLoad@43-74@./Repository/RepositoryCodeBlobViewController.swift
       6      1     26      0       6 viewWillLayoutSubviews@76-81@./Repository/RepositoryCodeBlobViewController.swift
       4      1     17      1       4 didFetchPayload@85-88@./Repository/RepositoryCodeBlobViewController.swift
       3      1      8      0       3 onRefresh@91-93@./Repository/RepositoryCodeBlobViewController.swift
       6      1     47      1       7 onShare@96-102@./Repository/RepositoryCodeBlobViewController.swift
      14      4     91      0      14 fetch@104-117@./Repository/RepositoryCodeBlobViewController.swift
       6      2     38      1       6 error@119-124@./Repository/RepositoryCodeBlobViewController.swift
       9      1     66      1      10 handle@126-135@./Repository/RepositoryCodeBlobViewController.swift
      10      2     68      4      10 init@22-31@./Repository/RepositoryCodeDirectoryViewController.swift
       9      2     43      0      12 viewDidLoad@37-48@./Repository/RepositoryCodeDirectoryViewController.swift
       4      1     17      0       4 viewWillLayoutSubviews@65-68@./Repository/RepositoryCodeDirectoryViewController.swift
       4      1     21      1       4 viewWillAppear@70-73@./Repository/RepositoryCodeDirectoryViewController.swift
      12      3     75      0      12 fetch@77-88@./Repository/RepositoryCodeDirectoryViewController.swift
       3      1      8      0       3 onRefresh@91-93@./Repository/RepositoryCodeDirectoryViewController.swift
       3      1     20      2       3 tableView@97-99@./Repository/RepositoryCodeDirectoryViewController.swift
      10      5    106      2      13 tableView@101-113@./Repository/RepositoryCodeDirectoryViewController.swift
      16      3     94      2      17 tableView@117-133@./Repository/RepositoryCodeDirectoryViewController.swift
       5      3     38      2       5 ==@17-21@./Repository/RepositoryDetails.swift
      10      4     85      1      13 match@13-25@./Repository/RepositoryIssueSummaryModel+Filterable.swift
      19      1     78      8      19 init@23-41@./Repository/RepositoryIssueSummaryModel.swift
       3      1     11      0       3 diffIdentifier@45-47@./Repository/RepositoryIssueSummaryModel.swift
      11      8     81      1      11 isEqual@49-59@./Repository/RepositoryIssueSummaryModel.swift
      13      3     99      3      15 init@25-39@./Repository/RepositoryIssuesViewController.swift
       6      2     29      0       7 viewDidLoad@45-51@./Repository/RepositoryIssuesViewController.swift
      20      5    136      1      21 fetch@56-76@./Repository/RepositoryIssuesViewController.swift
       3      1     30      2       3 didChangeSelection@80-82@./Repository/RepositoryIssuesViewController.swift
       3      1     16      1       3 headModels@86-88@./Repository/RepositoryIssuesViewController.swift
       6      2     55      2       6 sectionController@90-95@./Repository/RepositoryIssuesViewController.swift
      13      3     53      1      13 emptySectionController@97-109@./Repository/RepositoryIssuesViewController.swift
       6      1     61      2       6 init@27-32@./Repository/RepositoryOverviewViewController.swift
       8      2     41      0      12 viewDidLoad@38-49@./Repository/RepositoryOverviewViewController.swift
       4      1     23      1       4 viewWillAppear@52-55@./Repository/RepositoryOverviewViewController.swift
       4      1     21      1       4 viewDidAppear@57-60@./Repository/RepositoryOverviewViewController.swift
       4      1     18      0       4 viewWillLayoutSubviews@62-65@./Repository/RepositoryOverviewViewController.swift
      22      3    162      0      23 fetch@69-91@./Repository/RepositoryOverviewViewController.swift
       3      1     11      1       3 loadFromNetwork@95-97@./Repository/RepositoryOverviewViewController.swift
       3      1     12      1       3 loadNextPage@99-101@./Repository/RepositoryOverviewViewController.swift
       7      5     46      1       7 objects@105-111@./Repository/RepositoryOverviewViewController.swift
      11      2     50      2      11 listAdapter@113-123@./Repository/RepositoryOverviewViewController.swift
       3      2     13      1       3 emptyView@125-127@./Repository/RepositoryOverviewViewController.swift
       3      1     15      1       3 init@16-18@./Repository/RepositoryReadmeModel.swift
       3      1     11      0       3 diffIdentifier@22-24@./Repository/RepositoryReadmeModel.swift
       3      1     13      1       4 isEqual@26-29@./Repository/RepositoryReadmeModel.swift
       4      1     13      0       4 init@25-28@./Repository/RepositoryReadmeSectionController.swift
       6      1     30      2       6 sectionController@32-37@./Repository/RepositoryReadmeSectionController.swift
      14      1     72      3      14 sectionController@39-52@./Repository/RepositoryReadmeSectionController.swift
      20      2    114      3      23 sectionController@54-76@./Repository/RepositoryReadmeSectionController.swift
      36      1    293      1      43 init@28-70@./Repository/RepositorySummaryCell.swift
       4      1     22      0       4 layoutSubviews@76-79@./Repository/RepositorySummaryCell.swift
      27      8    212      1      31 configure@83-113@./Repository/RepositorySummaryCell.swift
       5      1     25      0       5 get@116-120@./Repository/RepositorySummaryCell.swift
       1      1      3      0       1 set@121-121@./Repository/RepositorySummaryCell.swift
       5      1     27      2       5 init@16-20@./Repository/RepositorySummarySectionController.swift
      11      2     97      1      11 sizeForItem@22-32@./Repository/RepositorySummarySectionController.swift
       8      2     57      1       9 cellForItem@34-42@./Repository/RepositorySummarySectionController.swift
       6      1     68      1       8 didSelectItem@44-51@./Repository/RepositorySummarySectionController.swift
      15      2    128      2      18 init@23-40@./Repository/RepositoryViewController.swift
      20      1    149      0      23 viewDidLoad@46-68@./Repository/RepositoryViewController.swift
       4      2     12      0       4 viewSafeAreaInsetsDidChange@70-73@./Repository/RepositoryViewController.swift
      15      1     76      0      17 newIssueAction@86-102@./Repository/RepositoryViewController.swift
       9      1     42      0       9 bookmarkAction@104-112@./Repository/RepositoryViewController.swift
      15      2    139      1      18 onMore@115-132@./Repository/RepositoryViewController.swift
       3      1     15      1       3 numberOfViewControllers@136-138@./Repository/RepositoryViewController.swift
       3      2     23      2       3 viewController@140-142@./Repository/RepositoryViewController.swift
       3      2     15      1       3 defaultPage@144-146@./Repository/RepositoryViewController.swift
       4      1     29      1       4 didDismissAfterCreatingIssue@150-153@./Repository/RepositoryViewController.swift
      48      4    284      4      54 search@20-73@./Search/GithubClient+Search.swift
      30      1    264      1      34 init@24-57@./Search/SearchEmptyView.swift
       3      1     13      0       3 onTap@66-68@./Search/SearchEmptyView.swift
       8      1     42      1       9 init@16-24@./Search/SearchLoadingView.swift
      26      1    208      1      30 init@18-47@./Search/SearchNoResultsCell.swift
       8      1     86      0       9 layoutSubviews@53-61@./Search/SearchNoResultsCell.swift
       5      1     25      0       5 get@64-68@./Search/SearchNoResultsCell.swift
       1      1      3      0       1 set@69-69@./Search/SearchNoResultsCell.swift
       6      1     36      3       6 init@17-22@./Search/SearchNoResultsSectionController.swift
       4      1     50      1       4 sizeForItem@24-27@./Search/SearchNoResultsSectionController.swift
       6      2     42      1       7 cellForItem@29-35@./Search/SearchNoResultsSectionController.swift
      12      3     87      1      12 init@23-34@./Search/SearchQuery.swift
       9      3     67      1       9 encode@36-44@./Search/SearchQuery.swift
      10      3     68      2      10 ==@47-56@./Search/SearchQuery.swift
      22      1    185      1      26 init@17-42@./Search/SearchRecentCell.swift
       4      1     13      0       4 layoutSubviews@48-51@./Search/SearchRecentCell.swift
       4      1     28      1       4 configure@55-58@./Search/SearchRecentCell.swift
      21      3    193      1      24 init@23-46@./Search/SearchRecentHeaderCell.swift
       4      1     13      0       4 layoutSubviews@52-55@./Search/SearchRecentHeaderCell.swift
       3      1     13      0       3 onClear@60-62@./Search/SearchRecentHeaderCell.swift
       4      1     18      1       4 init@20-23@./Search/SearchRecentHeaderSectionController.swift
       4      1     42      1       4 sizeForItem@25-28@./Search/SearchRecentHeaderSectionController.swift
       6      2     49      1       6 cellForItem@30-35@./Search/SearchRecentHeaderSectionController.swift
       3      1     16      1       3 didSelectClear@39-41@./Search/SearchRecentHeaderSectionController.swift
       4      1     18      1       4 init@24-27@./Search/SearchRecentSectionController.swift
       4      1     42      1       4 sizeForItem@29-32@./Search/SearchRecentSectionController.swift
       7      2     57      1       7 cellForItem@34-40@./Search/SearchRecentSectionController.swift
       4      1     37      1       4 didSelectItem@42-45@./Search/SearchRecentSectionController.swift
      12      3    126      3      14 collectionView@49-62@./Search/SearchRecentSectionController.swift
       5      2     35      3       5 collectionView@64-68@./Search/SearchRecentSectionController.swift
       8      2     52      0       8 init@23-30@./Search/SearchRecentStore.swift
       8      2     40      1      11 add@34-44@./Search/SearchRecentStore.swift
       6      1     48      1       6 remove@46-51@./Search/SearchRecentStore.swift
       4      1     13      0       4 clear@53-56@./Search/SearchRecentStore.swift
       5      1     22      0       5 removeLast@62-66@./Search/SearchRecentStore.swift
       4      1     32      0       4 save@70-73@./Search/SearchRecentStore.swift
       3      1     13      1       3 init@21-23@./Search/SearchRecentViewModel.swift
      10      3     43      0      10 diffIdentifier@47-56@./Search/SearchRecentViewModel.swift
       3      1     13      1       3 isEqual@58-60@./Search/SearchRecentViewModel.swift
      17      1     67      7      17 init@27-43@./Search/SearchRepoResult.swift
       3      1     11      0       3 diffIdentifier@45-47@./Search/SearchRepoResult.swift
       6      3     43      1       6 isEqual@49-54@./Search/SearchRepoResult.swift
      48      2    422      1      58 init@27-84@./Search/SearchRepoResultCell.swift
      29      3    201      1      33 configure@90-122@./Search/SearchRepoResultCell.swift
       5      1     25      0       5 get@125-129@./Search/SearchRepoResultCell.swift
       1      1      3      0       1 set@130-130@./Search/SearchRepoResultCell.swift
       5      1     27      2       5 init@21-25@./Search/SearchResultSectionController.swift
       4      1     50      1       4 sizeForItem@27-30@./Search/SearchResultSectionController.swift
       8      2     57      1       9 cellForItem@32-40@./Search/SearchResultSectionController.swift
       8      1     85      1      10 didSelectItem@42-51@./Search/SearchResultSectionController.swift
       9      1     45      1       9 init@52-60@./Search/SearchViewController.swift
      26      1    121      0      30 viewDidLoad@66-95@./Search/SearchViewController.swift
       4      1     21      1       4 viewWillAppear@97-100@./Search/SearchViewController.swift
       8      2     36      0       9 viewWillLayoutSubviews@102-110@./Search/SearchViewController.swift
       9      1     87      1       9 onKeyboardWillShow@114-122@./Search/SearchViewController.swift
       4      1     20      1       4 onKeyboardWillHide@125-128@./Search/SearchViewController.swift
       3      1     16      1       3 update@132-134@./Search/SearchViewController.swift
      11      4     77      2      11 handle@136-146@./Search/SearchViewController.swift
       9      2     89      1      11 search@148-158@./Search/SearchViewController.swift
      14      7     92      1      14 objects@162-175@./Search/SearchViewController.swift
      18      5    109      2      20 listAdapter@177-196@./Search/SearchViewController.swift
      16      6     72      1      16 emptyView@198-213@./Search/SearchViewController.swift
      11      4     72      2      13 searchBar@217-229@./Search/SearchViewController.swift
       3      1     19      1       3 searchBarTextDidBeginEditing@231-233@./Search/SearchViewController.swift
       6      2     41      1       7 searchBarSearchButtonClicked@235-241@./Search/SearchViewController.swift
       7      1     39      1       8 searchBarCancelButtonClicked@243-250@./Search/SearchViewController.swift
       4      1     23      1       4 didTap@254-257@./Search/SearchViewController.swift
       8      5     58      2       9 didSelect@261-269@./Search/SearchViewController.swift
       5      1     29      1       5 didSelectSearch@271-275@./Search/SearchViewController.swift
       7      1     56      1       8 didSelectRepo@277-284@./Search/SearchViewController.swift
      16      1    102      1      18 didTapClear@288-305@./Search/SearchViewController.swift
       3      1     13      0       3 didSingleTapTab@309-311@./Search/SearchViewController.swift
       3      1     10      0       3 didDoubleTapTab@313-315@./Search/SearchViewController.swift
       5      1     35      2       5 didSelect@319-323@./Search/SearchViewController.swift
       4      1     28      2       4 didDelete@325-328@./Search/SearchViewController.swift
       5      2     36      1       5 searchTerm@332-336@./Search/SearchViewController.swift
      12      1     79      1      13 init@16-28@./Section Controllers/LoadMore/LoadMoreCell.swift
       4      1     13      0       4 layoutSubviews@34-37@./Section Controllers/LoadMore/LoadMoreCell.swift
       1      1     12      0       1 get@40-40@./Section Controllers/LoadMore/LoadMoreCell.swift
       1      1      3      0       1 set@41-41@./Section Controllers/LoadMore/LoadMoreCell.swift
       3      1     13      1       3 init@19-21@./Section Controllers/LoadMore/LoadMoreSectionController.swift
       4      1     42      1       4 sizeForItem@23-26@./Section Controllers/LoadMore/LoadMoreSectionController.swift
       6      2     42      1       7 cellForItem@28-34@./Section Controllers/LoadMore/LoadMoreSectionController.swift
       3      1     17      1       3 didSelectItem@36-38@./Section Controllers/LoadMore/LoadMoreSectionController.swift
      20      1    114      1      23 init@22-44@./Section Controllers/SearchBar/SearchBarCell.swift
       4      1     13      0       4 layoutSubviews@50-53@./Section Controllers/SearchBar/SearchBarCell.swift
       4      1     22      2       4 configure@57-60@./Section Controllers/SearchBar/SearchBarCell.swift
       3      1     26      2       3 searchBar@64-66@./Section Controllers/SearchBar/SearchBarCell.swift
       3      1     14      1       3 searchBarSearchButtonClicked@68-70@./Section Controllers/SearchBar/SearchBarCell.swift
       5      1     27      2       5 init@22-26@./Section Controllers/SearchBar/SearchBarSectionController.swift
       4      1     38      1       5 sizeForItem@28-32@./Section Controllers/SearchBar/SearchBarSectionController.swift
       7      2     61      1       7 cellForItem@34-40@./Section Controllers/SearchBar/SearchBarSectionController.swift
       4      1     31      2       4 didChangeSearchText@44-47@./Section Controllers/SearchBar/SearchBarSectionController.swift
      12      1    100      1      14 init@22-35@./Section Controllers/SegmentedControl/SegmentedControlCell.swift
       4      1     13      0       4 layoutSubviews@41-44@./Section Controllers/SegmentedControl/SegmentedControlCell.swift
       7      2     54      2       7 configure@48-54@./Section Controllers/SegmentedControl/SegmentedControlCell.swift
       3      1     22      1       3 didSelect@58-60@./Section Controllers/SegmentedControl/SegmentedControlCell.swift
       4      1     31      1       4 init@18-21@./Section Controllers/SegmentedControl/SegmentedControlModel.swift
       3      1     11      0       3 diffIdentifier@25-27@./Section Controllers/SegmentedControl/SegmentedControlModel.swift
       5      2     37      1       5 isEqual@29-33@./Section Controllers/SegmentedControl/SegmentedControlModel.swift
       5      1     27      2       5 init@21-25@./Section Controllers/SegmentedControl/SegmentedControlSectionController.swift
       5      1     50      1       6 sizeForItem@27-32@./Section Controllers/SegmentedControl/SegmentedControlSectionController.swift
       8      2     70      1       8 cellForItem@34-41@./Section Controllers/SegmentedControl/SegmentedControlSectionController.swift
       5      1     38      2       5 didChangeSelection@45-49@./Section Controllers/SegmentedControl/SegmentedControlSectionController.swift
      14      2     97      1      14 fetchAPIStatus@19-32@./Settings/GithubClient+APIStatus.swift
       4      1     20      0       4 viewDidLoad@22-25@./Settings/SettingsAccountsViewController.swift
      21      1    153      1      24 onAdd@29-52@./Settings/SettingsAccountsViewController.swift
       6      3     56      2       6 handle@54-59@./Settings/SettingsAccountsViewController.swift
       9      1     57      0       9 handleError@61-69@./Settings/SettingsAccountsViewController.swift
       6      1     41      3       6 finishLogin@71-76@./Settings/SettingsAccountsViewController.swift
       5      1     42      0       5 updateUserSessions@78-82@./Settings/SettingsAccountsViewController.swift
       3      1     22      2       3 tableView@86-88@./Settings/SettingsAccountsViewController.swift
       7      3     70      2       7 tableView@90-96@./Settings/SettingsAccountsViewController.swift
       6      1     55      2       7 tableView@100-106@./Settings/SettingsAccountsViewController.swift
       4      1     24      3       4 didFocus@110-113@./Settings/SettingsAccountsViewController.swift
       1      1     12      2       1 didReceiveRedirect@115-115@./Settings/SettingsAccountsViewController.swift
       1      1      8      1       1 didLogout@116-116@./Settings/SettingsAccountsViewController.swift
      15      1     68      0      18 viewDidLoad@35-52@./Settings/SettingsViewController.swift
       8      1     57      1       8 viewWillAppear@54-61@./Settings/SettingsViewController.swift
      18      6    101      2      19 tableView@65-83@./Settings/SettingsViewController.swift
       5      1     28      0       5 onReviewAccess@87-91@./Settings/SettingsViewController.swift
       9      2     68      0       9 onAccounts@93-101@./Settings/SettingsViewController.swift
      14      1     72      0      14 onReportBug@103-116@./Settings/SettingsViewController.swift
       5      1     32      0       5 onViewSource@118-122@./Settings/SettingsViewController.swift
      15      1    106      0      16 onSignOut@124-139@./Settings/SettingsViewController.swift
       3      1     10      0       3 signout@141-143@./Settings/SettingsViewController.swift
      24      6     99      0      25 updateBadge@146-170@./Settings/SettingsViewController.swift
       6      1     26      0       6 onBackgroundFetchChanged@172-177@./Settings/SettingsViewController.swift
       4      1     31      1       4 onSettings@179-182@./Settings/SettingsViewController.swift
       3      1     19      1       3 onMarkRead@184-186@./Settings/SettingsViewController.swift
      25      6    153      1      26 update@188-213@./Settings/SettingsViewController.swift
       4      1     32      0       4 style@215-218@./Settings/SettingsViewController.swift
       3      1     16      1       3 onSignature@220-222@./Settings/SettingsViewController.swift
       5      1     38      1       5 didDismissAfterCreatingIssue@226-230@./Settings/SettingsViewController.swift
      30      1    273      2      33 init@24-56@./Systems/Autocomplete/AutocompleteCell.swift
      20      3     92      1      23 configure@64-86@./Systems/Autocomplete/AutocompleteCell.swift
       4      1     41      2       4 configure@31-34@./Systems/Autocomplete/EmojiAutocomplete.swift
      16      3    137      2      19 search@36-54@./Systems/Autocomplete/EmojiAutocomplete.swift
       3      1     17      1       3 accept@56-58@./Systems/Autocomplete/EmojiAutocomplete.swift
       7      2     39      1       7 init@25-31@./Systems/Autocomplete/IssueCommentAutocomplete.swift
       4      1     25      1       4 add@35-38@./Systems/Autocomplete/IssueCommentAutocomplete.swift
       4      1     29      2       4 configure@40-43@./Systems/Autocomplete/IssueCommentAutocomplete.swift
       4      1     32      1       4 resultCount@49-52@./Systems/Autocomplete/IssueCommentAutocomplete.swift
       3      1     22      1       3 resultHeight@54-56@./Systems/Autocomplete/IssueCommentAutocomplete.swift
       9      1     71      3      10 didChange@58-67@./Systems/Autocomplete/IssueCommentAutocomplete.swift
       9      3     71      3      11 cell@69-79@./Systems/Autocomplete/IssueCommentAutocomplete.swift
       6      1     43      2       6 accept@81-86@./Systems/Autocomplete/IssueCommentAutocomplete.swift
       3      1     15      1       3 init@22-24@./Systems/Autocomplete/UserAutocomplete.swift
       4      1     41      2       4 configure@36-39@./Systems/Autocomplete/UserAutocomplete.swift
      16      4    104      2      20 search@41-60@./Systems/Autocomplete/UserAutocomplete.swift
       3      1     19      1       3 accept@62-64@./Systems/Autocomplete/UserAutocomplete.swift
      33      3    292      1      38 init@24-61@./Systems/Rating/RatingCell.swift
       4      1     13      0       4 layoutSubviews@67-70@./Systems/Rating/RatingCell.swift
       3      1     13      0       3 onDismiss@75-77@./Systems/Rating/RatingCell.swift
       3      1      9      0       3 diffIdentifier@17-19@./Systems/Rating/RatingController.swift
       3      1     13      1       3 isEqual@21-23@./Systems/Rating/RatingController.swift
       4      1     36      0       4 applicationDidLaunch@42-45@./Systems/Rating/RatingController.swift
       4      1     22      0       4 inFeedToken@47-50@./Systems/Rating/RatingController.swift
       4      1     31      0       4 prompted@52-55@./Systems/Rating/RatingController.swift
       7      3     37      1       8 prompt@57-64@./Systems/Rating/RatingController.swift
       5      2     15      0       5 requestSystem@68-72@./Systems/Rating/RatingController.swift
       6      1     40      0       6 openAppStore@75-80@./Systems/Rating/RatingController.swift
      22      6    159      1      31 canPrompt@86-116@./Systems/Rating/RatingController.swift
       4      1     18      1       4 init@20-23@./Systems/Rating/RatingSectionController.swift
       5      1     44      1       5 sizeForItem@25-29@./Systems/Rating/RatingSectionController.swift
       6      2     49      1       6 cellForItem@31-36@./Systems/Rating/RatingSectionController.swift
       4      1     24      1       4 didSelectItem@38-41@./Systems/Rating/RatingSectionController.swift
       4      1     21      1       4 didTapDismiss@45-48@./Systems/Rating/RatingSectionController.swift
      29      4    177      2      38 newGithubClient@13-50@./Systems/Alamofire+GithubAPI.swift
      12      2     91      2      14 application@28-41@./Systems/AppDelegate.swift
       5      1     43      3       5 application@43-47@./Systems/AppDelegate.swift
       6      3     32      1       6 applicationDidBecomeActive@49-54@./Systems/AppDelegate.swift
       8      2     60      3       8 application@56-63@./Systems/AppDelegate.swift
       3      1     32      2       3 application@65-67@./Systems/AppDelegate.swift
       4      1     18      0       4 get@18-21@./Systems/BadgeNotifications.swift
      11      2     65      0      11 set@22-32@./Systems/BadgeNotifications.swift
      14      5     71      1      14 check@42-55@./Systems/BadgeNotifications.swift
      10      3     75      2      10 configure@57-66@./Systems/BadgeNotifications.swift
      18      3    137      2      19 fetch@68-86@./Systems/BadgeNotifications.swift
       6      2     41      2       6 update@89-94@./Systems/BadgeNotifications.swift
       3      1     17      1       3 init@21-23@./Systems/Debouncer.swift
       4      1     36      2       4 init@25-28@./Systems/Debouncer.swift
       3      1     10      0       3 cancel@30-32@./Systems/Debouncer.swift
      10      1     35      0      10 debounce@34-43@./Systems/Debouncer.swift
       3      1     12      1       3 executeAction@45-47@./Systems/Debouncer.swift
      23      1    156      0      25 set@28-52@./Systems/Feed.swift
       4      1     13      0       4 refreshHead@56-59@./Systems/Feed.swift
       9      2     46      0      13 viewDidLoad@61-73@./Systems/Feed.swift
       5      2     21      1       5 viewDidAppear@75-79@./Systems/Feed.swift
      10      4     44      1      11 viewWillLayoutSubviews@81-91@./Systems/Feed.swift
      12      3     67      3      13 finishLoading@93-105@./Systems/Feed.swift
       5      1     26      0       5 refresh@109-113@./Systems/Feed.swift
       3      1     11      1       3 onRefresh@115-117@./Systems/Feed.swift
      14      3     95      3      16 scrollViewWillEndDragging@121-136@./Systems/Feed.swift
      16      1     61      1      17 init@22-38@./Systems/ForegroundHandler.swift
       3      1     10      0       3 willResignActive@42-44@./Systems/ForegroundHandler.swift
       7      2     39      0       7 didBecomeActive@46-52@./Systems/ForegroundHandler.swift
       3      1      9      0       4 GithubAPIDateFormatter@12-15@./Systems/GithubAPIDateFormatter.swift
      27      5    222      1      32 PagingData@14-45@./Systems/GithubClient+Paging.swift
      17      1     78      7      17 init@31-47@./Systems/GithubClient.swift
      15      1     78      7      15 init@49-63@./Systems/GithubClient.swift
      11      1     44      4      11 init@72-82@./Systems/GithubClient.swift
      28      3    160      1      32 request@85-116@./Systems/GithubClient.swift
      10      2     70      2      10 fetch@119-128@./Systems/GithubClient.swift
      10      2     63      2      10 perform@131-140@./Systems/GithubClient.swift
      12      2    106      1      12 replaceGithubEmojiRegex@11-22@./Systems/GithubEmoji.swift
       2      1     33      1       2 init@56-57@./Systems/GithubEmoji.swift
      18      5    133      0      24 init@37-60@./Systems/GithubSessionManager.swift
       5      1     25      1       5 addListener@72-76@./Systems/GithubSessionManager.swift
      11      2     56      2      11 focus@78-88@./Systems/GithubSessionManager.swift
       7      2     29      0       7 logout@90-96@./Systems/GithubSessionManager.swift
       7      2     49      0       7 save@98-104@./Systems/GithubSessionManager.swift
       6      2     46      1       6 receivedCodeRedirect@106-111@./Systems/GithubSessionManager.swift
       3      1      9      0       3 diffIdentifier@115-117@./Systems/GithubSessionManager.swift
       3      1     15      1       3 isEqual@119-121@./Systems/GithubSessionManager.swift
       9      1     31      3       9 init@31-39@./Systems/GithubUserSession.swift
      13      1     85      1      16 init@48-63@./Systems/GithubUserSession.swift
       6      2     69      2       6 GraphQLIDDecode@11-16@./Systems/GraphQLIDDecode.swift
       3      1     13      1       3 init@18-20@./Systems/ImageCellHeightCache.swift
       5      1     56      2       5 height@24-28@./Systems/ImageCellHeightCache.swift
      10      2     83      3      12 imageDidFinishLoad@32-43@./Systems/ImageCellHeightCache.swift
       6      1     44      1       6 snapped@14-19@./Systems/NSAttributedStringSizing.swift
       6      1     38      1       6 resized@21-26@./Systems/NSAttributedStringSizing.swift
      35      1    190     13      41 init@41-81@./Systems/NSAttributedStringSizing.swift
       6      2     28      1       6 textSize@86-91@./Systems/NSAttributedStringSizing.swift
       3      1     23      1       3 textViewSize@93-95@./Systems/NSAttributedStringSizing.swift
       9      1     61      1       9 rect@97-105@./Systems/NSAttributedStringSizing.swift
      16      1    114      1      18 configure@107-124@./Systems/NSAttributedStringSizing.swift
      17      4    125      1      21 contents@127-147@./Systems/NSAttributedStringSizing.swift
       8      4     70      1       8 attributes@149-156@./Systems/NSAttributedStringSizing.swift
       8      2     74      1      13 computeSize@161-173@./Systems/NSAttributedStringSizing.swift
       3      1      9      0       3 diffIdentifier@177-179@./Systems/NSAttributedStringSizing.swift
       3      1     13      1       3 isEqual@181-183@./Systems/NSAttributedStringSizing.swift
       3      1     13      1       3 init@19-21@./Systems/PhotoViewHandler.swift
       7      1     60      3       7 didTapImage@25-31@./Systems/PhotoViewHandler.swift
       3      1     18      2       3 photosViewController@35-37@./Systems/PhotoViewHandler.swift
      13      1     84      2      14 init@26-39@./Systems/RootNavigationManager.swift
      11      2     79      1      14 showLogin@43-56@./Systems/RootNavigationManager.swift
      17      1     98      1      22 resetRootViewController@58-79@./Systems/RootNavigationManager.swift
       4      1     24      1       4 pushLoginViewController@81-84@./Systems/RootNavigationManager.swift
       4      1     20      1       4 selectViewController@87-90@./Systems/RootNavigationManager.swift
       6      2     36      3       7 didFocus@94-100@./Systems/RootNavigationManager.swift
      10      3     55      1      12 didLogout@102-113@./Systems/RootNavigationManager.swift
       1      1     12      2       1 didReceiveRedirect@115-115@./Systems/RootNavigationManager.swift
      15      2     67      3      20 fetchUsernameForMigrationIfNecessary@119-138@./Systems/RootNavigationManager.swift
       8      2     45      0       8 newLoginViewController@148-155@./Systems/RootNavigationManager.swift
       3      1     22      2       3 configure@20-22@./Systems/ShortcutHandler.swift
      16      4     93      3      16 handle@24-39@./Systems/ShortcutHandler.swift
      23      3    154      1      28 generateItems@41-68@./Systems/ShortcutHandler.swift
       3      1     18      0       4 get@16-19@./Systems/Signature.swift
       3      1     15      0       3 set@20-22@./Systems/Signature.swift
       6      1     43      1       6 signed@25-30@./Systems/Signature.swift
       4      1     42      1       4 sizeForItem@14-17@./Systems/SpinnerSectionController.swift
       5      2     44      1       5 cellForItem@19-23@./Systems/SpinnerSectionController.swift
       9      4     48      1       9 valueForQuery@13-21@./Systems/String+QueryItemValue.swift
       3      1     14      0       3 provideHapticFeedback@17-19@./Systems/Toast+GitHawk.swift
      15      1    127      1      15 errorConfig@21-35@./Systems/Toast+GitHawk.swift
       4      1     39      1       4 showRevokeError@37-40@./Systems/Toast+GitHawk.swift
       4      1     39      1       4 showNetworkError@42-45@./Systems/Toast+GitHawk.swift
       4      1     39      1       4 showGenericError@47-50@./Systems/Toast+GitHawk.swift
       4      1     39      1       4 showPermissionsError@52-55@./Systems/Toast+GitHawk.swift
       4      1     36      2       4 showError@57-60@./Systems/Toast+GitHawk.swift
      96      3    499      1     108 init@38-145@./Systems/Toast.swift
       4      1     15      0       4 layoutSubviews@147-150@./Systems/Toast.swift
       5      1     25      0       5 contentSize@152-156@./Systems/Toast.swift
       2      1      5      0       3 onButton@164-166@./Systems/Toast.swift
       6      2     56      2       6 rubberBandDistance@170-175@./Systems/Toast.swift
       5      2     27      2       5 anchor@177-181@./Systems/Toast.swift
       4      1     13      0       4 invalidateTimer@229-232@./Systems/Toast.swift
       9      1     44      0       9 startTimer@234-242@./Systems/Toast.swift
      10      1     70      0      11 dismiss@244-254@./Systems/Toast.swift
       8      1     48      0      11 recenter@256-266@./Systems/Toast.swift
       8      1     28      0       8 init@282-289@./Systems/Toast.swift
      10      1     65      2      13 show@295-307@./Systems/Toast.swift
      44      6    281      1      48 onPan@311-358@./Systems/Toast.swift
       3      1     13      1       3 onOrientation@360-362@./Systems/Toast.swift
       3      1     13      1       3 init@17-19@./Systems/WebviewCellHeightCache.swift
       4      2     40      2       4 height@23-26@./Systems/WebviewCellHeightCache.swift
      10      2     87      4      12 webViewDidResize@30-41@./Systems/WebviewCellHeightCache.swift
       3      1     28      2       3 data@18-20@./Systems/WidthCache.swift
       3      1     31      3       3 set@22-24@./Systems/WidthCache.swift
       3      1     16      2       3 mergedKey@28-30@./Systems/WidthCache.swift
       5      1     27      1       5 init@26-30@./Utility/AlertAction.swift
       3      1     32      1       3 get@34-36@./Utility/AlertAction.swift
      10      3     92      3      12 share@38-49@./Utility/AlertAction.swift
       7      1     63      1       8 openInSafari@51-58@./Utility/AlertAction.swift
       6      1     55      1       6 view@60-65@./Utility/AlertAction.swift
       6      1     53      1       6 view@67-72@./Utility/AlertAction.swift
       8      1     66      1       8 newIssue@74-81@./Utility/AlertAction.swift
       3      1     33      1       3 cancel@85-87@./Utility/AlertAction.swift
       3      1     33      1       3 ok@89-91@./Utility/AlertAction.swift
       3      1     33      1       3 no@93-95@./Utility/AlertAction.swift
       3      1     33      1       3 yes@97-99@./Utility/AlertAction.swift
       3      1     36      1       3 goBack@101-103@./Utility/AlertAction.swift
       3      1     36      1       3 discard@105-107@./Utility/AlertAction.swift
       3      1     36      1       3 delete@109-111@./Utility/AlertAction.swift
       7      3     70      3       9 toggleIssue@113-121@./Utility/AlertAction.swift
       7      3     67      3       9 toggleLocked@123-131@./Utility/AlertAction.swift
       3      1     33      1       3 login@133-135@./Utility/AlertAction.swift
       3      1     36      1       3 markAll@137-139@./Utility/AlertAction.swift
       3      1     33      1       3 clearAll@141-143@./Utility/AlertAction.swift
       5      1     44      1       5 bookmark@145-149@./Utility/AlertAction.swift
       3      1     13      1       3 init@25-27@./Utility/AlertActionBuilder.swift
      11      2     84      2      13 filtered@16-28@./Utility/Filterable.swift
      10      1     76      2      12 compressAndEncode@18-29@./Utility/Image+Base64.swift
       4      1     32      1       4 isCancellationError@11-14@./Utility/IsCancellationError.swift
      17      2    164      1      21 tokenizeSearchQuery@24-44@./Utility/SearchQueryTokenizer.swift
       8      4     58      2       8 isIssueStatus@46-53@./Utility/SearchQueryTokenizer.swift
       5      2     25      1       5 addActions@13-17@./Utility/UIAlertController+Action.swift
       5      2     21      1       5 add@19-23@./Utility/UIAlertController+Action.swift
       5      1     35      2       5 replaceTopMostViewController@13-17@./Utility/UINavigationController+Replace.swift
       1      1     20      0       1 set@38-38@./View Controllers/BaseListViewController.swift
       8      1     34      2       8 init@45-52@./View Controllers/BaseListViewController.swift
       5      1     22      0       5 viewDidLoad@58-62@./View Controllers/BaseListViewController.swift
       4      1     23      1       4 viewWillAppear@64-67@./View Controllers/BaseListViewController.swift
       4      1     21      1       4 viewDidAppear@69-72@./View Controllers/BaseListViewController.swift
       4      1     18      0       4 viewWillLayoutSubviews@74-77@./View Controllers/BaseListViewController.swift
       1      1      8      1       1 fetch@83-83@./View Controllers/BaseListViewController.swift
       4      1     33      2       4 update@91-94@./View Controllers/BaseListViewController.swift
      17      3     86      5      19 update@96-114@./View Controllers/BaseListViewController.swift
       8      2     46      2       8 error@116-123@./View Controllers/BaseListViewController.swift
       4      1     25      2       4 filter@125-128@./View Controllers/BaseListViewController.swift
      23      8    125      1      33 objects@132-164@./View Controllers/BaseListViewController.swift
      12      3     85      2      12 listAdapter@166-177@./View Controllers/BaseListViewController.swift
       4      2     19      1       4 emptyView@179-182@./View Controllers/BaseListViewController.swift
       4      1     20      1       4 loadFromNetwork@186-189@./View Controllers/BaseListViewController.swift
       3      1     12      1       3 loadNextPage@191-193@./View Controllers/BaseListViewController.swift
       3      1     14      1       3 didSelect@197-199@./View Controllers/BaseListViewController.swift
       4      1     30      1       4 CreateProfileViewController@12-15@./View Controllers/CreateProfileViewController.swift
      18      2    118      3      20 newSettingsRootViewController@11-30@./View Controllers/RootViewControllers.swift
      10      1     86      1      10 newNotificationsRootViewController@32-41@./View Controllers/RootViewControllers.swift
       8      1     65      1       8 newSearchRootViewController@43-50@./View Controllers/RootViewControllers.swift
      10      1     70      1      10 newBookmarksRootViewController@52-61@./View Controllers/RootViewControllers.swift
       8      1     42      0       9 viewDidLoad@16-24@./View Controllers/SplitPlaceholderViewController.swift
      15      2     74      3      18 splitViewController@17-34@./View Controllers/SplitViewControllerDelegate.swift
      27      5    154      2      37 splitViewController@36-72@./View Controllers/SplitViewControllerDelegate.swift
      18      3    101      3      20 splitViewController@74-93@./View Controllers/SplitViewControllerDelegate.swift
      27      7    143      2      35 tabBarController@16-50@./View Controllers/TabBarControllerDelegate.swift
       3      1      8      0       3 resetTaps@52-54@./View Controllers/TabBarControllerDelegate.swift
       6      1     72      2       6 showAlert@13-18@./View Controllers/UIViewController+Alerts.swift
       5      1     56      3       5 configured@24-28@./View Controllers/UIViewController+Alerts.swift
       3      1     18      2       3 didTapURL@13-15@./View Controllers/UIViewController+AttributedStringViewDelegate.swift
       3      1     18      2       3 didTapUsername@17-19@./View Controllers/UIViewController+AttributedStringViewDelegate.swift
       4      1     44      2       4 didTapEmail@21-24@./View Controllers/UIViewController+AttributedStringViewDelegate.swift
      22      4    128      3      24 cancelAction_onCancel@13-36@./View Controllers/UIViewController+CancelAction.swift
       3      1     28      0       3 makeBackBarItemEmpty@13-15@./View Controllers/UIViewController+EmptyBackBar.swift
       3      1     18      2       3 webViewWantsNavigate@13-15@./View Controllers/UIViewController+IssueCommentHtmlCellNavigationDelegate.swift
       5      1     30      0       5 setRightBarItemSpinning@13-17@./View Controllers/UIViewController+LoadingIndicator.swift
       5      1     30      0       5 setLeftBarItemSpinning@19-23@./View Controllers/UIViewController+LoadingIndicator.swift
       4      1     33      1       4 presentSafari@14-17@./View Controllers/UIViewController+Safari.swift
       3      1     21      1       3 presentProfile@19-21@./View Controllers/UIViewController+Safari.swift
       4      1     36      3       4 presentCommit@23-26@./View Controllers/UIViewController+Safari.swift
       4      1     36      3       4 presentLabels@28-31@./View Controllers/UIViewController+Safari.swift
       4      1     36      3       4 presentMilestone@33-36@./View Controllers/UIViewController+Safari.swift
      13      2     91      1      14 configured@42-55@./View Controllers/UIViewController+Safari.swift
      21      6    126      1      30 rz_smoothlyDeselectRows@14-43@./View Controllers/UIViewController+SmartDeselection.swift
      21      6    126      1      30 rz_smoothlyDeselectRows@46-75@./View Controllers/UIViewController+SmartDeselection.swift
       8      1     57      1       8 setupUserActivity@24-31@./View Controllers/UIViewController+UserActivity.swift
       3      1     10      0       3 resignUserActivity@33-35@./View Controllers/UIViewController+UserActivity.swift
       3      1     10      0       3 invalidateUserActivity@37-39@./View Controllers/UIViewController+UserActivity.swift
      10      1     52      1      13 init@28-40@./Views/AttributedStringView.swift
       6      1     56      1       6 reposition@48-53@./Views/AttributedStringView.swift
       5      1     30      2       5 configureAndSizeToFit@55-59@./Views/AttributedStringView.swift
      12      5    148      1      12 onTap@64-75@./Views/AttributedStringView.swift
      21      2    160      1      25 init@20-44@./Views/ButtonCell.swift
       9      1     37      3       9 configure@52-60@./Views/ButtonCell.swift
       5      1     21      0       5 DateDetailsFormatter@12-16@./Views/DateDetailsFormatter.swift
      26      6    199      2      31 CreateDiffString@11-41@./Views/DiffString.swift
      15      1    116      3      18 init@17-34@./Views/DotListView.swift
       5      1     20      0       5 layoutSubviews@40-44@./Views/DotListView.swift
       5      2     65      2       5 collectionView@48-52@./Views/DotListView.swift
       5      2     45      2       5 collectionView@54-58@./Views/DotListView.swift
       4      1     20      1       4 configure@62-65@./Views/DotListView.swift
      14      1    100      1      16 init@16-31@./Views/EmptyView.swift
       3      1     14      0       3 init@17-19@./Views/FeedRefresh.swift
      10      2     53      0      10 beginRefreshing@23-32@./Views/FeedRefresh.swift
       3      1     10      0       3 setRefreshing@34-36@./Views/FeedRefresh.swift
      15      4    106      1      18 endRefreshing@38-55@./Views/FeedRefresh.swift
       5      1     44      0       5 configureWindow:@17-21@./Views/FlexController.m
       5      3     27      0       7 onTap:@23-29@./Views/FlexController.m
      34      3    376      2      36 forMarkdown@13-48@./Views/IssueTextActionsView+Markdown.swift
      12      1     69      1      14 init@16-29@./Views/LabelCell.swift
       4      1     13      0       4 layoutSubviews@35-38@./Views/LabelCell.swift
      10      1     72      1      11 init@22-32@./Views/SegmentedControlCell.swift
       6      2     45      1       6 configure@38-43@./Views/SegmentedControlCell.swift
       3      1     22      1       3 didSelect@47-49@./Views/SegmentedControlCell.swift
       7      1     35      0       7 addOverlay@14-20@./Views/SelectableCell.swift
       3      1     10      0       3 prepareOverlayForReuse@22-24@./Views/SelectableCell.swift
       4      1     19      0       4 layoutOverlay@26-29@./Views/SelectableCell.swift
       3      2     15      1       3 showOverlay@31-33@./Views/SelectableCell.swift
       5      1     22      1       5 init@43-47@./Views/SelectableCell.swift
       4      1     15      0       4 prepareForReuse@53-56@./Views/SelectableCell.swift
       5      1     18      0       5 layoutSubviews@58-62@./Views/SelectableCell.swift
       5      1     25      0       5 get@65-69@./Views/SelectableCell.swift
       1      1      3      0       1 set@70-70@./Views/SelectableCell.swift
       4      1     15      0       4 prepareForReuse@93-96@./Views/SelectableCell.swift
       5      1     18      0       5 layoutSubviews@98-102@./Views/SelectableCell.swift
       8      5     44      2       8 ShowErrorStatusBar@11-18@./Views/ShowErrorStatusBar.swift
       4      1     25      1       4 setText@13-16@./Views/ShowMoreDetailsLabel+Date.swift
       9      1     36      1      11 init@15-25@./Views/ShowMoreDetailsLabel.swift
      11      1     68      1      13 showMenu@38-50@./Views/ShowMoreDetailsLabel.swift
       1      1      5      0       1 empty@53-53@./Views/ShowMoreDetailsLabel.swift
       8      1     44      1       9 init@16-24@./Views/SpinnerCell.swift
       4      1     13      0       4 layoutSubviews@30-33@./Views/SpinnerCell.swift
       7      1     38      1       8 init@14-21@./Views/StyledTableCell.swift
       6      1     34      0       7 configure@23-29@./Views/StyledTableCell.swift
       5      1     45      0       5 setupAppearance@118-122@./Views/Styles.swift
       4      1     22      2       4 configure@23-26@./Views/TextActionsController.swift
       8      5     87      2       8 didSelect@30-37@./Views/TextActionsController.swift
      13      1    117      0      16 displayUploadImage@41-56@./Views/TextActionsController.swift
       6      1     68      2       9 imagePickerController@60-68@./Views/TextActionsController.swift
       3      1     21      1       3 imagePickerControllerDidCancel@70-72@./Views/TextActionsController.swift
       3      1     28      2       3 imageUploaded@76-78@./Views/TextActionsController.swift
      15      2    128      1      17 setupAsLabel@21-37@./Views/UIButton+Label.swift
      24     10    148      2      27 config@39-65@./Views/UIButton+Label.swift
       5      2     14      0       5 layoutContentViewForSafeAreaInsets@13-17@./Views/UICollectionViewCell+SafeAreaContentView.swift
      17      3    136      1      21 fromHex@14-34@./Views/UIColor+Hex.swift
       7      1     55      1       7 scrollToBottom@13-19@./Views/UIScrollView+ScrollToBottom.swift
       5      2     19      1       5 scrollToTop@13-17@./Views/UIScrollView+ScrollToTop.swift
      13      2     67      1      13 githawkConfigure@13-25@./Views/UITextView+GitHawk.swift
       5      1     49      1       5 oneCharRange@13-17@./Views/UITextView+SelectedRange.swift
       5      1     38      1       5 text@19-23@./Views/UITextView+SelectedRange.swift
      15      3    110      1      19 startOfLine@25-43@./Views/UITextView+SelectedRange.swift
      27      5    207      3      31 replace@47-77@./Views/UITextView+SelectedRange.swift
      41     10    271      6      43 addBorder@22-64@./Views/UIView+BottomBorder.swift
311 file analyzed.
==============================================================
NLOC    Avg.NLOC  AvgCCN  Avg.token  function_cnt    file
--------------------------------------------------------------
     72      11.2     2.2       77.5         4     ./Bookmark/BookmarkModel.swift
     38       4.6     1.2       19.6         5     ./Bookmark/BookmarkStore.swift
    160       8.1     1.4       51.0        18     ./Bookmark/BookmarksViewController.swift
    130      15.1     2.0       79.3         7     ./Image Upload/ImageUploadTableViewController.swift
     66      19.0     1.7      114.7         3     ./Image Upload/ImgurClient.swift
     24       5.3     1.0       36.0         3     ./Issues/Assignees/IssueAssigneeAvatarCell.swift
     20       3.3     1.0       16.7         3     ./Issues/Assignees/IssueAssigneesModel.swift
     72      13.0     2.8       77.6         5     ./Issues/Assignees/IssueAssigneesSectionController.swift
     62       8.4     1.6       66.2         5     ./Issues/Assignees/IssueAssigneeSummaryCell.swift
     20       4.3     1.3       27.0         3     ./Issues/Assignees/IssueAssigneeSummaryModel.swift
     38      13.5     1.0      113.0         2     ./Issues/Assignees/IssueAssigneeUserCell.swift
     16       3.3     1.0       15.3         3     ./Issues/Assignees/IssueAssigneeViewModel.swift
     53       7.8     1.0       48.2         4     ./Issues/Comments/CodeBlock/IssueCommentCodeBlockCell.swift
     22       4.3     1.0       15.7         3     ./Issues/Comments/CodeBlock/IssueCommentCodeBlockModel.swift
    124      14.1     1.6      113.6         7     ./Issues/Comments/Details/IssueCommentDetailCell.swift
     34       8.0     1.7       37.3         3     ./Issues/Comments/Details/IssueCommentDetailsViewModel.swift
     29       4.7     1.0       28.3         3     ./Issues/Comments/Hr/IssueCommentHrCell.swift
     10       3.0     1.0       11.0         2     ./Issues/Comments/Hr/IssueCommentHrModel.swift
    113       6.8     1.5       40.9         8     ./Issues/Comments/Html/IssueCommentHtmlCell.swift
     16       3.3     1.0       16.0         3     ./Issues/Comments/Html/IssueCommentHtmlModel.swift
    104      13.2     1.5       84.2         6     ./Issues/Comments/Images/IssueCommentImageCell.swift
     14       3.0     1.0       12.3         3     ./Issues/Comments/Images/IssueCommentImageModel.swift
     14       4.0     1.0       22.0         1     ./Issues/Comments/Images/IssueCommentPhoto.swift
    343      23.1     3.9      146.6        14     ./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      9       0.0     0.0        0.0         0     ./Issues/Comments/Markdown/MarkdownAttribute.swift
     85      83.0    21.0      581.0         1     ./Issues/Comments/Markdown/MMElement+Attributes.swift
     25      23.0     2.0      181.0         1     ./Issues/Comments/Markdown/MMElement+CodeBlock.swift
     11       8.0     2.0       61.0         1     ./Issues/Comments/Markdown/MMElement+Image.swift
    100      30.3     5.3      187.7         3     ./Issues/Comments/Markdown/MMElement+Table.swift
     25       6.7     2.3       57.0         3     ./Issues/Comments/Markdown/NSAttributedString+Trim.swift
     13       3.5     1.5       30.0         2     ./Issues/Comments/Markdown/String+NSRange.swift
      9       6.0     1.0       47.0         1     ./Issues/Comments/Markdown/UIFont+MutableTraits.swift
     57       9.2     1.6       61.4         5     ./Issues/Comments/Quotes/IssueCommentQuoteCell.swift
     16       3.3     1.0       16.7         3     ./Issues/Comments/Quotes/IssueCommentQuoteModel.swift
    197       8.0     2.0       57.4        21     ./Issues/Comments/Reactions/IssueCommentReactionCell.swift
     29       5.5     1.8       31.0         4     ./Issues/Comments/Reactions/IssueCommentReactionViewModel.swift
     59      47.0     9.0      230.0         1     ./Issues/Comments/Reactions/IssueLocalReaction.swift
    107       9.0     1.3       64.4        10     ./Issues/Comments/Reactions/IssueReactionCell.swift
     13       0.0     0.0        0.0         0     ./Issues/Comments/Reactions/ReactionContent+ReactionType.swift
     30      23.0     5.0      179.0         1     ./Issues/Comments/Reactions/ReactionViewModel.swift
     20       8.0     1.0       38.0         2     ./Issues/Comments/Reactions/UIMenuController+Reactions.swift
     33       5.8     1.0       34.8         4     ./Issues/Comments/Summary/IssueCommentSummaryCell.swift
     14       3.0     1.0       12.3         3     ./Issues/Comments/Summary/IssueCommentSummaryModel.swift
     78       8.0     1.3       51.3         7     ./Issues/Comments/Tables/IssueCommentTableCell.swift
     32       4.2     1.0       25.8         4     ./Issues/Comments/Tables/IssueCommentTableCollectionCell.swift
     32       3.6     1.0       18.8         5     ./Issues/Comments/Tables/IssueCommentTableModel.swift
     29       4.8     1.0       29.0         4     ./Issues/Comments/Text/IssueCommentTextCell.swift
     29       6.7     1.0       38.3         3     ./Issues/Comments/Unsupported/IssueCommentUnsupportedCell.swift
     15       3.0     1.0       11.7         3     ./Issues/Comments/Unsupported/IssueCommentUnsupportedModel.swift
     29      12.0     1.5       68.5         2     ./Issues/Comments/CollapsibleCell.swift
     30      14.5     3.0       69.0         2     ./Issues/Comments/IssueCollapsedBodies.swift
     50      10.0     1.3       46.3         3     ./Issues/Comments/IssueCommentModel.swift
    279      12.3     2.2       79.6        20     ./Issues/Comments/IssueCommentSectionController.swift
     66      12.5     1.2       96.2         4     ./Issues/Commit/IssueCommitCell.swift
     22       4.3     1.0       24.3         3     ./Issues/Commit/IssueCommitModel.swift
     29       4.8     1.2       37.8         5     ./Issues/Commit/IssueCommitSectionController.swift
     16       3.3     1.0       16.7         3     ./Issues/DiffHunk/IssueDiffHunkModel.swift
     30       7.3     1.0       52.0         3     ./Issues/DiffHunk/IssueDiffHunkPathCell.swift
     37       7.3     1.0       41.0         3     ./Issues/DiffHunk/IssueDiffHunkPreviewCell.swift
     51      11.8     2.0       63.5         4     ./Issues/DiffHunk/IssueDiffHunkSectionController.swift
    154      11.9     1.3       59.6        11     ./Issues/EditComment/EditCommentViewController.swift
     27      24.0     3.0      114.0         1     ./Issues/EditComment/GithubClient+EditComment.swift
     59      28.0     3.5      173.0         2     ./Issues/Files/GithubClient+PullRequestFiles.swift
     53       6.7     1.3       37.8         6     ./Issues/Files/IssueFileContentViewController.swift
     21      16.0     3.0      124.0         1     ./Issues/Files/IssueFilesTableCell.swift
     76       8.5     2.0       54.1         8     ./Issues/Files/IssueFilesViewController.swift
     35       8.3     1.0       48.3         3     ./Issues/Files/IssuePatchContentViewController.swift
     19      11.0     1.0       85.0         1     ./Issues/Files/IssueViewFilesCell.swift
     28       5.5     1.2       46.0         4     ./Issues/Files/IssueViewFilesSectionController.swift
     75      11.6     2.0       87.0         5     ./Issues/Labeled/IssueLabeledCell.swift
     35       7.0     1.0       27.3         3     ./Issues/Labeled/IssueLabeledModel.swift
     29       4.8     1.2       37.6         5     ./Issues/Labeled/IssueLabeledSectionController.swift
     38       9.3     1.0       65.0         3     ./Issues/Labels/IssueLabelCell.swift
      8       4.0     1.0       19.0         1     ./Issues/Labels/IssueLabelDotCell.swift
     21       6.0     1.0       47.0         2     ./Issues/Labels/IssueLabelEditCell.swift
     16       3.3     1.0       16.0         3     ./Issues/Labels/IssueLabelsModel.swift
    106      15.8     2.5       99.3         6     ./Issues/Labels/IssueLabelsSectionController.swift
     46       6.4     1.0       41.0         5     ./Issues/Labels/IssueLabelSummaryCell.swift
     19       4.0     1.3       26.7         3     ./Issues/Labels/IssueLabelSummaryModel.swift
     33      12.5     1.0       80.5         2     ./Issues/Milestone/IssueMilestoneCell.swift
     18       4.0     1.3       22.7         3     ./Issues/Milestone/IssueMilestoneModel.swift
     25       5.0     1.2       44.2         4     ./Issues/Milestone/IssueMilestoneSectionController.swift
     58      11.0     1.8       77.2         4     ./Issues/MilestoneEvent/IssueMilestoneEventCell.swift
     26       4.3     1.0       24.3         3     ./Issues/MilestoneEvent/IssueMilestoneEventModel.swift
     20       5.3     1.3       43.7         3     ./Issues/MilestoneEvent/IssueMilestoneEventSectionController.swift
     32      11.5     1.5       65.5         2     ./Issues/NeckLoad/IssueNeckLoadCell.swift
     10       3.0     1.0       11.0         2     ./Issues/NeckLoad/IssueNeckLoadModel.swift
     29       5.0     1.2       37.5         4     ./Issues/NeckLoad/IssueNeckLoadSectionController.swift
     14       3.0     1.0       12.3         3     ./Issues/Preview/IssuePreviewModel.swift
     55      11.0     1.2       57.2         4     ./Issues/Preview/IssuePreviewSectionController.swift
     54       8.0     1.4       46.2         5     ./Issues/Preview/IssuePreviewViewController.swift
     69      19.3     2.3      149.3         3     ./Issues/Referenced/IssueReferencedCell.swift
     42       8.3     1.0       33.3         3     ./Issues/Referenced/IssueReferencedModel.swift
     30       6.2     1.2       48.0         4     ./Issues/Referenced/IssueReferencedSectionController.swift
     69      10.4     1.6       77.4         5     ./Issues/ReferencedCommit/IssueReferencedCommitCell.swift
     31       7.0     1.0       27.3         3     ./Issues/ReferencedCommit/IssueReferencedCommitModel.swift
     24       5.0     1.2       43.0         4     ./Issues/ReferencedCommit/IssueReferencedCommitSectionController.swift
     65      11.0     1.2       79.2         4     ./Issues/Renamed/IssueRenamedCell.swift
     25       5.7     1.0       21.3         3     ./Issues/Renamed/IssueRenamedModel.swift
     22       6.0     1.3       47.7         3     ./Issues/Renamed/IssueRenamedSectionController.swift
     20      19.0     1.0      149.0         1     ./Issues/Renamed/IssueRenamedString.swift
     72      11.0     2.2       85.2         5     ./Issues/Request/IssueRequestCell.swift
     28       4.3     1.0       24.3         3     ./Issues/Request/IssueRequestModel.swift
     24       5.0     1.2       39.5         4     ./Issues/Request/IssueRequestSectionController.swift
     97      20.2     2.8      147.0         4     ./Issues/Review/IssueReviewDetailsCell.swift
     18       3.7     1.0       18.3         3     ./Issues/Review/IssueReviewDetailsModel.swift
     13       3.0     1.0       18.0         2     ./Issues/Review/IssueReviewEmptyTailCell.swift
     18       3.7     1.0       19.0         3     ./Issues/Review/IssueReviewModel.swift
     94      12.7     2.0       72.5         6     ./Issues/Review/IssueReviewSectionController.swift
     43      11.0     2.7       82.0         3     ./Issues/Status/IssueStatusCell.swift
     22       5.0     2.0       30.3         3     ./Issues/Status/IssueStatusModel.swift
     20       5.3     1.3       38.7         3     ./Issues/Status/IssueStatusSectionController.swift
     12       0.0     0.0        0.0         0     ./Issues/StatusEvent/IssueStatusEvent+ButtonState.swift
      8       0.0     0.0        0.0         0     ./Issues/StatusEvent/IssueStatusEvent.swift
     81      12.4     3.0      103.6         5     ./Issues/StatusEvent/IssueStatusEventCell.swift
     24       4.7     1.0       27.3         3     ./Issues/StatusEvent/IssueStatusEventModel.swift
     29       4.8     1.2       37.6         5     ./Issues/StatusEvent/IssueStatusEventSectionController.swift
     21       6.0     1.0       32.0         2     ./Issues/Title/IssueTitleCell.swift
     16       6.0     1.5       54.5         2     ./Issues/Title/IssueTitleSectionController.swift
     50      10.3     2.0       67.3         3     ./Issues/AddCommentClient.swift
    177      28.2     3.8      176.5         6     ./Issues/GithubClient+Issues.swift
    238     204.0    23.0     1448.0         1     ./Issues/Issue+IssueType.swift
     65      21.3     8.0      145.0         3     ./Issues/IssueCommentModelHandling.swift
      6       0.0     0.0        0.0         0     ./Issues/IssueDetailsModel.swift
     31       0.0     0.0        0.0         0     ./Issues/IssueResult.swift
     10       0.0     0.0        0.0         0     ./Issues/IssueStatus+ButtonState.swift
      6       0.0     0.0        0.0         0     ./Issues/IssueStatus.swift
    448      11.9     2.4       72.0        33     ./Issues/IssuesViewController.swift
     94       6.0     1.1       40.3         9     ./Issues/IssueTextActionsView.swift
     25       0.0     0.0        0.0         0     ./Issues/IssueType.swift
     88      17.2     1.4      115.8         5     ./Issues/IssueViewModels.swift
    330      97.0    11.3      694.7         3     ./Issues/PullRequest+IssueType.swift
     11       0.0     0.0        0.0         0     ./Issues/UserAutocomplete+GraphQL.swift
     40      10.7     3.0       96.3         3     ./Issues/WriteButton.swift
     93       8.8     1.8       55.1         9     ./Labels/LabelsViewController.swift
     24      10.0     2.5       76.5         2     ./Labels/LabelTableCell.swift
     61      27.0     3.0      145.5         2     ./Login/GithubClient+AccessToken.swift
    117       7.2     1.4       48.1        11     ./Login/LoginSplashViewController.swift
     45      13.0     1.0       53.5         2     ./Models/App.swift
    127      35.5     1.0      185.0         2     ./Models/Authorization.swift
    127      35.5     1.0      184.0         2     ./Models/Content.swift
      6       0.0     0.0        0.0         0     ./Models/File+Filename.swift
    108      30.5     1.0      155.0         2     ./Models/File.swift
     11       0.0     0.0        0.0         0     ./Models/LabelableFields+IssueLabelModel.swift
     45      13.0     1.0       53.5         2     ./Models/Link.swift
     92      25.5     1.0      126.0         2     ./Models/Notification.swift
    171      48.0     1.0      256.5         2     ./Models/Organization.swift
     45      13.0     1.0       53.5         2     ./Models/Permission.swift
    698     193.0     1.5     1099.0         2     ./Models/Repository.swift
     18       4.0     1.3       23.3         3     ./Models/RepositoryLabel.swift
     54      15.5     1.0       68.0         2     ./Models/Subject.swift
    288      80.5     1.0      445.0         2     ./Models/User.swift
     23      20.0     1.0      152.0         1     ./New Issue/GitHubClient+NewIssue.swift
    142      11.1     1.0       59.6         8     ./New Issue/NewIssueTableViewController.swift
     79      13.8     1.0       96.8         5     ./Notifications/NoNewNotificationsCell.swift
     23       5.3     1.3       43.3         3     ./Notifications/NoNewNotificationsSectionController.swift
     70      28.0     2.0      162.5         2     ./Notifications/Notification+NotificationViewModel.swift
     88      21.3     1.3      162.3         3     ./Notifications/NotificationCell.swift
     95      12.6     2.6       80.1         7     ./Notifications/NotificationClient.swift
     35       5.0     1.0       27.8         5     ./Notifications/NotificationNextPageCell.swift
     29       5.2     1.2       33.2         4     ./Notifications/NotificationNextPageSectionController.swift
     25       8.0     1.0       60.0         2     ./Notifications/NotificationRepoCell.swift
     43       3.3     1.3       19.2         6     ./Notifications/NotificationsDataSource.swift
     79       9.7     2.1       74.3         7     ./Notifications/NotificationSectionController.swift
    175       8.6     2.0       50.8        18     ./Notifications/NotificationsViewController.swift
     13       0.0     0.0        0.0         0     ./Notifications/NotificationType+Icon.swift
     17       0.0     0.0        0.0         0     ./Notifications/NotificationType.swift
     18      15.0     6.0      115.0         1     ./Notifications/NotificationViewModel+Filterable.swift
     80      15.8     2.5       73.5         4     ./Notifications/NotificationViewModel.swift
      9       3.0     1.0       26.0         1     ./Notifications/SegmentedControlModel+Notifications.swift
      8       0.0     0.0        0.0         0     ./Other/Secrets.swift
     50       7.6     1.0       50.2         5     ./Repository/Empty/RepositoryEmptyResultsCell.swift
     25       6.0     1.3       48.3         3     ./Repository/Empty/RepositoryEmptyResultsSectionController.swift
     20       0.0     0.0        0.0         0     ./Repository/Empty/RepositoryEmptyResultsType.swift
     59      25.0     3.5      155.5         2     ./Repository/GitHubClient+Repository.swift
     36       0.0     0.0        0.0         0     ./Repository/GQL+RepositoryIssueSummaryType.swift
    139      11.0     1.1       75.7        11     ./Repository/RepositoryClient.swift
    104       8.9     1.4       53.9         9     ./Repository/RepositoryCodeBlobViewController.swift
     98       7.9     2.1       50.2         9     ./Repository/RepositoryCodeDirectoryViewController.swift
     11       5.0     3.0       38.0         1     ./Repository/RepositoryDetails.swift
      5       0.0     0.0        0.0         0     ./Repository/RepositoryFile.swift
     13      10.0     4.0       85.0         1     ./Repository/RepositoryIssueSummaryModel+Filterable.swift
     45      11.0     3.3       56.7         3     ./Repository/RepositoryIssueSummaryModel.swift
     10       0.0     0.0        0.0         0     ./Repository/RepositoryIssueSummaryType.swift
     81       9.1     2.4       59.7         7     ./Repository/RepositoryIssuesViewController.swift
     94       6.8     1.8       41.6        11     ./Repository/RepositoryOverviewViewController.swift
     14       3.0     1.0       13.0         3     ./Repository/RepositoryReadmeModel.swift
     58      11.0     1.2       57.2         4     ./Repository/RepositoryReadmeSectionController.swift
     94      14.6     2.4      111.0         5     ./Repository/RepositorySummaryCell.swift
     35       7.5     1.5       62.2         4     ./Repository/RepositorySummarySectionController.swift
    114       9.1     1.5       62.8        10     ./Repository/RepositoryViewController.swift
     57      48.0     4.0      284.0         1     ./Search/GithubClient+Search.swift
     48      16.5     1.0      138.5         2     ./Search/SearchEmptyView.swift
     16       8.0     1.0       42.0         1     ./Search/SearchLoadingView.swift
     52      10.0     1.0       80.5         4     ./Search/SearchNoResultsCell.swift
     22       5.3     1.3       42.7         3     ./Search/SearchNoResultsSectionController.swift
     42      10.3     3.0       74.0         3     ./Search/SearchQuery.swift
     39      10.0     1.0       75.3         3     ./Search/SearchRecentCell.swift
     42       9.3     1.7       73.0         3     ./Search/SearchRecentHeaderCell.swift
     25       4.2     1.2       31.2         4     ./Search/SearchRecentHeaderSectionController.swift
     50       6.0     1.7       52.5         6     ./Search/SearchRecentSectionController.swift
     48       5.8     1.3       34.5         6     ./Search/SearchRecentStore.swift
     55       5.3     1.7       23.0         3     ./Search/SearchRecentViewModel.swift
     41       8.7     1.7       40.3         3     ./Search/SearchRepoResult.swift
    103      20.8     1.8      162.8         4     ./Search/SearchRepoResultCell.swift
     33       6.2     1.2       54.8         4     ./Search/SearchResultSectionController.swift
    262       8.4     2.1       51.8        26     ./Search/SearchViewController.swift
     28       4.5     1.0       26.8         4     ./Section Controllers/LoadMore/LoadMoreCell.swift
     23       4.0     1.2       28.5         4     ./Section Controllers/LoadMore/LoadMoreSectionController.swift
     46       6.8     1.0       37.8         5     ./Section Controllers/SearchBar/SearchBarCell.swift
     30       5.0     1.2       39.2         4     ./Section Controllers/SearchBar/SearchBarSectionController.swift
     38       6.5     1.2       47.2         4     ./Section Controllers/SegmentedControl/SegmentedControlCell.swift
     19       4.0     1.3       26.3         3     ./Section Controllers/SegmentedControl/SegmentedControlModel.swift
     32       5.8     1.2       46.2         4     ./Section Controllers/SegmentedControl/SegmentedControlSectionController.swift
     22      14.0     2.0       97.0         1     ./Settings/GithubClient+APIStatus.swift
     84       6.1     1.3       46.7        12     ./Settings/SettingsAccountsViewController.swift
    188       9.8     1.9       56.2        17     ./Settings/SettingsViewController.swift
     65      25.0     2.0      182.5         2     ./Systems/Autocomplete/AutocompleteCell.swift
      8       0.0     0.0        0.0         0     ./Systems/Autocomplete/AutocompleteType.swift
     38       7.7     1.7       65.0         3     ./Systems/Autocomplete/EmojiAutocomplete.swift
     60       5.8     1.4       41.5         8     ./Systems/Autocomplete/IssueCommentAutocomplete.swift
     42       6.5     1.8       44.8         4     ./Systems/Autocomplete/UserAutocomplete.swift
     55      13.3     1.7      106.0         3     ./Systems/Rating/RatingCell.swift
     78       6.4     1.9       40.2         9     ./Systems/Rating/RatingController.swift
     31       4.6     1.2       31.2         5     ./Systems/Rating/RatingSectionController.swift
     32      29.0     4.0      177.0         1     ./Systems/Alamofire+GithubAPI.swift
     50       6.8     1.8       51.6         5     ./Systems/AppDelegate.swift
     78      10.5     2.7       67.8         6     ./Systems/BadgeNotifications.swift
     33       4.6     1.0       22.0         5     ./Systems/Debouncer.swift
    100       9.4     2.0       53.2         9     ./Systems/Feed.swift
      4       0.0     0.0        0.0         0     ./Systems/FeedSelectionProviding.swift
     35       8.7     1.3       36.7         3     ./Systems/ForegroundHandler.swift
      5       3.0     1.0        9.0         1     ./Systems/GithubAPIDateFormatter.swift
     29      27.0     5.0      222.0         1     ./Systems/GithubClient+Paging.swift
    118      15.2     1.7       82.2         6     ./Systems/GithubClient.swift
     56       7.0     1.5       69.5         2     ./Systems/GithubEmoji.swift
     89       7.5     2.0       45.2         8     ./Systems/GithubSessionManager.swift
     41      11.0     1.0       58.0         2     ./Systems/GithubUserSession.swift
      7       6.0     2.0       69.0         1     ./Systems/GraphQLIDDecode.swift
     24       6.0     1.3       50.7         3     ./Systems/ImageCellHeightCache.swift
    136      10.0     1.7       65.8        12     ./Systems/NSAttributedStringSizing.swift
     21       4.3     1.0       30.3         3     ./Systems/PhotoViewHandler.swift
      5       0.0     0.0        0.0         0     ./Systems/Result.swift
    106       8.9     1.6       52.0        10     ./Systems/RootNavigationManager.swift
     50      14.0     2.7       89.7         3     ./Systems/ShortcutHandler.swift
     18       4.0     1.0       25.3         3     ./Systems/Signature.swift
     13       4.5     1.5       43.0         2     ./Systems/SpinnerSectionController.swift
     12       9.0     4.0       48.0         1     ./Systems/String+QueryItemValue.swift
     44       5.4     1.0       47.6         7     ./Systems/Toast+GitHawk.swift
    283      15.3     1.6       84.9        14     ./Systems/Toast.swift
     23       5.7     1.7       46.7         3     ./Systems/WebviewCellHeightCache.swift
     13       3.0     1.0       25.0         3     ./Systems/WidthCache.swift
    102       4.7     1.3       45.5        20     ./Utility/AlertAction.swift
     10       3.0     1.0       13.0         1     ./Utility/AlertActionBuilder.swift
     15       0.0     0.0        0.0         0     ./Utility/Bundle+Version.swift
     15      11.0     2.0       84.0         1     ./Utility/Filterable.swift
     13      10.0     1.0       76.0         1     ./Utility/Image+Base64.swift
      5       4.0     1.0       32.0         1     ./Utility/IsCancellationError.swift
     34      12.5     3.0      111.0         2     ./Utility/SearchQueryTokenizer.swift
     13       5.0     2.0       23.0         2     ./Utility/UIAlertController+Action.swift
     41       0.0     0.0        0.0         0     ./Utility/UIDevice+Model.swift
      8       5.0     1.0       35.0         1     ./Utility/UINavigationController+Replace.swift
    134       6.4     1.8       35.9        17     ./View Controllers/BaseListViewController.swift
      6       4.0     1.0       30.0         1     ./View Controllers/CreateProfileViewController.swift
     47      11.5     1.2       84.8         4     ./View Controllers/RootViewControllers.swift
     13       8.0     1.0       42.0         1     ./View Controllers/SplitPlaceholderViewController.swift
     64      20.0     3.3      109.7         3     ./View Controllers/SplitViewControllerDelegate.swift
     35      15.0     4.0       75.5         2     ./View Controllers/TabBarControllerDelegate.swift
      5       0.0     0.0        0.0         0     ./View Controllers/TabNavRootViewControllerType.swift
     16       5.5     1.0       64.0         2     ./View Controllers/UIViewController+Alerts.swift
     13       3.3     1.0       26.7         3     ./View Controllers/UIViewController+AttributedStringViewDelegate.swift
     25      22.0     4.0      128.0         1     ./View Controllers/UIViewController+CancelAction.swift
      6       3.0     1.0       28.0         1     ./View Controllers/UIViewController+EmptyBackBar.swift
      6       3.0     1.0       18.0         1     ./View Controllers/UIViewController+IssueCommentHtmlCellNavigationDelegate.swift
     13       5.0     1.0       30.0         2     ./View Controllers/UIViewController+LoadingIndicator.swift
     43       5.3     1.2       42.2         6     ./View Controllers/UIViewController+Safari.swift
     45      21.0     6.0      126.0         2     ./View Controllers/UIViewController+SmartDeselection.swift
     26       4.7     1.0       25.7         3     ./View Controllers/UIViewController+UserActivity.swift
     51       8.2     2.0       71.5         4     ./Views/AttributedStringView.swift
     41      15.0     1.5       98.5         2     ./Views/ButtonCell.swift
     34       0.0     0.0        0.0         0     ./Views/Constants.swift
     59       0.0     0.0        0.0         0     ./Views/Date+Display.swift
      7       5.0     1.0       21.0         1     ./Views/DateDetailsFormatter.swift
     27      26.0     6.0      199.0         1     ./Views/DiffString.swift
     43       6.8     1.4       53.2         5     ./Views/DotListView.swift
     22      14.0     1.0      100.0         1     ./Views/EmptyView.swift
     36       7.8     2.0       45.8         4     ./Views/FeedRefresh.swift
      3       0.0     0.0        0.0         0     ./Views/FlexController.h
     12       5.0     2.0       35.5         2     ./Views/FlexController.m
     37      34.0     3.0      376.0         1     ./Views/IssueTextActionsView+Markdown.swift
     24       8.0     1.0       41.0         2     ./Views/LabelCell.swift
      6       0.0     0.0        0.0         0     ./Views/ResponderButton.swift
     31       6.3     1.3       46.3         3     ./Views/SegmentedControlCell.swift
     85       4.2     1.1       17.7        11     ./Views/SelectableCell.swift
      9       8.0     5.0       44.0         1     ./Views/ShowErrorStatusBar.swift
      7       4.0     1.0       25.0         1     ./Views/ShowMoreDetailsLabel+Date.swift
     33       7.0     1.0       36.3         3     ./Views/ShowMoreDetailsLabel.swift
     20       6.0     1.0       28.5         2     ./Views/SpinnerCell.swift
      6       0.0     0.0        0.0         0     ./Views/String+HashDisplay.swift
     17       6.5     1.0       36.0         2     ./Views/StyledTableCell.swift
    105       5.0     1.0       45.0         1     ./Views/Styles.swift
     47       6.2     1.7       57.2         6     ./Views/TextActionsController.swift
     49      19.5     6.0      138.0         2     ./Views/UIButton+Label.swift
     17       5.0     2.0       14.0         1     ./Views/UICollectionViewCell+SafeAreaContentView.swift
     20      17.0     3.0      136.0         1     ./Views/UIColor+Hex.swift
      8       0.0     0.0        0.0         0     ./Views/UIColor+Overlay.swift
     10       7.0     1.0       55.0         1     ./Views/UIScrollView+ScrollToBottom.swift
     12       5.0     2.0       19.0         1     ./Views/UIScrollView+ScrollToTop.swift
     16      13.0     2.0       67.0         1     ./Views/UITextView+GitHawk.swift
     56      13.0     2.5      101.0         4     ./Views/UITextView+SelectedRange.swift
     58      41.0    10.0      271.0         1     ./Views/UIView+BottomBorder.swift

=========================================================================================
!!!! Warnings (cyclomatic_complexity > 15 or length > 1000 or parameter_count > 100) !!!!
================================================
  NLOC    CCN   token  PARAM  length  location  
------------------------------------------------
      85     22    496      9     100 travelAST@198-297@./Issues/Comments/Markdown/CommentModelsFromMarkdown.swift
      83     21    581      3      87 PushAttributes@12-98@./Issues/Comments/Markdown/MMElement+Attributes.swift
     204     23   1448      3     209 timelineViewModels@54-262@./Issues/Issue+IssueType.swift
      25     19    225      2      26 listAdapter@470-495@./Issues/IssuesViewController.swift
     256     28   1841      3     268 timelineViewModels@58-325@./Issues/PullRequest+IssueType.swift
==========================================================================================
Total nloc   Avg.NLOC  AvgCCN  Avg.token   Fun Cnt  Warning cnt   Fun Rt   nloc Rt
------------------------------------------------------------------------------------------
     16489      10.3     1.8       66.6     1168            5      0.00    0.05

馃幆 project management

Most helpful comment

@heshamsalman wanna action it on #433 instead? This issue is more of an FYI of me playing around w/ tools (prepping for a talk)

All 5 comments

Swiftlint (#433) has Cyclomatic Complexity built in, for what it's worth 馃槃

@Sherlouk true. lately i've been a big fan of abc (assignment-branch-condition) as a measure of the _size_ of the source code, structurally.

CodeBeat guys have a pretty good explanation of abc https://hub.codebeat.co/getting-started/function-level-metrics

not sure if there are any oss tools that measure abc

i'd add Switlint integration 馃檹

I can put in a _super thin_ Swiftlint ruleset

@heshamsalman wanna action it on #433 instead? This issue is more of an FYI of me playing around w/ tools (prepping for a talk)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

weyert picture weyert  路  3Comments

BasThomas picture BasThomas  路  3Comments

BasThomas picture BasThomas  路  3Comments

weyert picture weyert  路  3Comments

rnystrom picture rnystrom  路  3Comments