Stack of 2
1/2Update watch_test+41 -38
2/2Update parser+20 -17

patchstack/tests main

...

Update parser

Patch does not have a description.
1 file changed+20 -17
  parser/v2/gocommentparser.go
37
parser/v2/gocommentparser.go+20 -17
             @@ -4,38 +4,40 @@     4      4	"github.com/a-h/parse"     5      5)     6      6     7       var goSingleLineCommentStart = parse.String("//")     8       var goSingleLineCommentEnd = parse.Any(parse.NewLine, parse.EOF[string]())     9           10       type goSingleLineCommentParser struct {    11       }            7var (            8	goSingleLineCommentStart = parse.String("//")            9	goSingleLineCommentEnd   = parse.Any(parse.NewLine, parse.EOF[string]())           10)           11           12type goSingleLineCommentParser struct{}    12     13    13     14var goSingleLineComment = goSingleLineCommentParser{}    14     15    15     16func (p goSingleLineCommentParser) Parse(pi *parse.Input) (n Node, ok bool, err error) {    16     17	// Comment start.    17       	var c GoComment           18	start := pi.Position()    18     19	if _, ok, err = goSingleLineCommentStart.Parse(pi); err != nil || !ok {    19     20		return    20     21	}    21     22	// Once we've got the comment start sequence, parse anything until the end    22     23	// sequence as the comment contents.           24	c := &GoComment{}    23     25	if c.Contents, ok, err = parse.StringUntil(goSingleLineCommentEnd).Parse(pi); err != nil || !ok {    24     26		err = parse.Error("expected end comment literal '\n' not found", pi.Position())    25     27		return    26     28	}    27       	// Move past the end element.    28       	_, _, _ = goSingleLineCommentEnd.Parse(pi)    29     29	// Return the comment.    30     30	c.Multiline = false    31       	return c, true, nil    32       }    33           34       var goMultiLineCommentStart = parse.String("/*")    35       var goMultiLineCommentEnd = parse.String("*/")    36           37       type goMultiLineCommentParser struct {    38       }           31	c.Range = NewRange(start, pi.Position())           32	return c, true, nil           33}           34           35var (           36	goMultiLineCommentStart = parse.String("/*")           37	goMultiLineCommentEnd   = parse.String("*/")           38)           39           40type goMultiLineCommentParser struct{}    39     41    40     42var goMultiLineComment = goMultiLineCommentParser{}    41     43             @@ -42,7 +44,6 @@    42     44func (p goMultiLineCommentParser) Parse(pi *parse.Input) (n Node, ok bool, err error) {    43     45	// Comment start.    44     46	start := pi.Position()    45       	var c GoComment    46     47	if _, ok, err = goMultiLineCommentStart.Parse(pi); err != nil || !ok {    47     48		return    48     49	}             @@ -49,6 +50,7 @@    49     50    50     51	// Once we've got the comment start sequence, parse anything until the end    51     52	// sequence as the comment contents.           53	c := &GoComment{}    52     54	if c.Contents, ok, err = parse.StringUntil(goMultiLineCommentEnd).Parse(pi); err != nil || !ok {    53     55		err = parse.Error("expected end comment literal '*/' not found", start)    54     56		return             @@ -57,6 +59,7 @@    57     59	_, _, _ = goMultiLineCommentEnd.Parse(pi)    58     60	// Return the comment.    59     61	c.Multiline = true           62	c.Range = NewRange(start, pi.Position())    60     63	return c, true, nil    61     64}    62     65
se

good

se accepted patch version 1
se created patch version 1