Commit Graph

11 Commits

Author SHA1 Message Date
Billy Keyes ea5b8bceea Finish parsing filenames from Git headers
Adds "default" name handling, error checks for missing names, and prefix
and double-slash stripping.
2019-03-17 15:34:03 -07:00
Billy Keyes 303b32d463 Add "header" to header parsing function names 2019-03-17 14:04:43 -07:00
Billy Keyes c928ba2827 Implement index header line parsing 2019-03-16 22:42:14 -07:00
Billy Keyes 3cca171e73 Refactor git header parser to use function array
This is slightly more code, but I think is a bit cleaner, especially for
functions that set or could set multiple values, like the currently
unimplemented index parsing. It also removes the string manipulation as
a side-effect of case match thing, which was weird.
2019-03-16 18:29:21 -07:00
Billy Keyes 4f50b85d06 Implement file name parsing for git headers
Also change how error handling works for similarity score parsing.
2019-03-16 17:46:05 -07:00
Billy Keyes 2a2f704b96 Add incomplete git header parsing functions
I believe the structure is correct, but there are a lot of details to
fill in - translating the C string parsing logic into Go is not always
straightforward.
2019-03-14 23:09:41 -07:00
Billy Keyes bca8d0806e Detach parseFragmentHeader from parser struct
This operates on a single line and doesn't need any parser state.
2019-03-14 21:55:06 -07:00
Billy Keyes 4ddf1d962d Implement fragment header parsing
Use a regexp for simplicity, unlike the direct parsing in Git.
2019-03-13 23:04:01 -07:00
Billy Keyes d8a0cc90d1 Implement ParseNextFileHeader
This follows the structure and logic of find_header() in git/apply.c.
Calls to helper functions are currently stubbed.
2019-03-12 22:41:20 -07:00
Billy Keyes f630455e5d Add a simple test for parser line operations 2019-03-11 23:05:15 -07:00
Billy Keyes 42914c81df Create parser skeleton and utilities 2019-03-10 21:48:59 -07:00