mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			854 B
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			854 B
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
| package vfsgen
 | |
| 
 | |
| import "io"
 | |
| 
 | |
| // commentWriter writes a Go comment to the underlying io.Writer,
 | |
| // using line comment form (//).
 | |
| type commentWriter struct {
 | |
| 	W            io.Writer
 | |
| 	wroteSlashes bool // Wrote "//" at the beginning of the current line.
 | |
| }
 | |
| 
 | |
| func (c *commentWriter) Write(p []byte) (int, error) {
 | |
| 	var n int
 | |
| 	for i, b := range p {
 | |
| 		if !c.wroteSlashes {
 | |
| 			s := "//"
 | |
| 			if b != '\n' {
 | |
| 				s = "// "
 | |
| 			}
 | |
| 			if _, err := io.WriteString(c.W, s); err != nil {
 | |
| 				return n, err
 | |
| 			}
 | |
| 			c.wroteSlashes = true
 | |
| 		}
 | |
| 		n0, err := c.W.Write(p[i : i+1])
 | |
| 		n += n0
 | |
| 		if err != nil {
 | |
| 			return n, err
 | |
| 		}
 | |
| 		if b == '\n' {
 | |
| 			c.wroteSlashes = false
 | |
| 		}
 | |
| 	}
 | |
| 	return len(p), nil
 | |
| }
 | |
| 
 | |
| func (c *commentWriter) Close() error {
 | |
| 	if !c.wroteSlashes {
 | |
| 		if _, err := io.WriteString(c.W, "//"); err != nil {
 | |
| 			return err
 | |
| 		}
 | |
| 		c.wroteSlashes = true
 | |
| 	}
 | |
| 	return nil
 | |
| }
 |