- Parse review files
- Create parser
- Create
include_str!()
based unit-tests for expected comments- Test invalid spans (span that does not have a comment that terminates it and another span starts)
- Wire up comment uploading to GH
- Inspect response error codes and body
- Fix bug where
line
andstart_line
are being set instead ofposition
- Check if
start_position
is accepted - Add test for trying to comment on a hunk start
- Check if
- Figure out how to calculate line for diffs w/ changes on both sides
- Add test for comment at end of review file
- Prohibit cross hunk spanned comments
- Support review-level comments at top of review file
- Manual test that comments on a changed file work
- Support approve/rejecting PRs
- Need some kind of meta syntax (like go's //+)
- Think about if it could be generalized to comment threads
- Need some kind of meta syntax (like go's //+)
- Support updating a PR's review file, but ask for confirmation if review file has been modified and not submitted yet
- Maybe even check mtime between review file and submission time?
- Support parsing github url from stdin
- Save commit hash of downloaded review file
- Support [...] snipping
- Support comment threads. Maybe do nested '>'s like actual mailing lists?
-
Make a comment spanned by inserting a whitespace line before the start of the span
- To compose with back-to-back spanned comments, the latter comment must be assumed to be a single line comment. Otherwise, using a single spanned comment always makes the next comment a span. This kinda actually makes sense conceptually too cuz if the user actually wants back-to-back spans then they should've just used a single, larger span.
-
Need to be careful to prohibit a spanned comment over multiple files