github.com/jmigpin/editor@v1.6.0/util/parseutil/filepos.go (about)

     1  package parseutil
     2  
     3  type FilePos struct {
     4  	Filename     string
     5  	Offset, Len  int // length after offset for a range
     6  	Line, Column int // bigger than zero to be considered
     7  }
     8  
     9  func (fp *FilePos) HasOffset() bool {
    10  	return fp.Line == 0
    11  }
    12  
    13  //----------
    14  
    15  // Parse fmt: <filename:line?:col?>. Accepts escapes but doesn't unescape.
    16  //func ParseFilePos(str string) (*FilePos, error) {
    17  //	rd := iorw.NewStringReaderAt(str)
    18  //	res, err := ParseResource(rd, 0)
    19  //	if err != nil {
    20  //		return nil, err
    21  //	}
    22  //	return NewFilePosFromResource(res), nil
    23  //}
    24  
    25  //func NewFilePosFromResource(res *Resource) *FilePos {
    26  //	return &FilePos{
    27  //		Offset:   -1,
    28  //		Filename: res.RawPath, // original string (unescaped)
    29  //		Line:     res.Line,
    30  //		Column:   res.Column,
    31  //	}
    32  //}