úÎså     None!"#)Wrappers around syntax highlighting code.9How we identify which blob of text a thing is located in.1A thing that is located somewhere in a text file.2Given some source code, return a list of comments.™Given a consecutive sequence of lexed lines of source, return a list of all the comments found, along with the line number on which the comment starts.0Read the given file, and parse out any comments.‘Return Nothing if we cannot determine what language the file is in. Raises exceptions on bad IO, and also if the file cannot be decoded to Text.       None!"#7Get the comments that were added or modified in a diff.RSilently ignores files if we can't figure out what their programming language is.@Retrieve all the comments that were either added or modified in hunk.ŒWhat we actually want to do is to find all of the TODOs that were added in a branch by means of examining the diff between that branch and masterV, so that we have a way of figuring out what's left to do while working on a branch.@This means we can use a simplified approach to analyze the code:<if a hunk has no insertions, then it can't be a pending todo:if a hunk has no comments, then it can't be a pending todo]if a comment appears in a hunk, but nothing was inserted, then it can't be a pending todowif a comment appears in a hunk, and there is a line of insertion in that comment, then it *might* be a pending todo>Here, "comment" means a contiguous sequence of comment tokens.None!"#None!"#      !"%difftodo-0.2.0-Cn9yfDQkCAy4KmtdZi9vsE Fixme.Comment Fixme.Diff Fixme.TodoFixmeLanguageCommentLocatedfilename startLine locatedValue parseComments readComments commentText newCommentendLinelanguageForFile highlightCode$fFunctorLocated $fEqLocated $fShowLocatednewCommentsFromDiffgetTodos formatTodoFilenameparseComments' locateTokensnumLines appendComment getCommentgetNewCommentsForHunkTodotodoText defaultTags