issues

Github, Jira, Gitlab issues from Plan 9's acme
Log | Files | Refs | README | LICENSE

fileinfo.go (1629B)


      1 package jira
      2 
      3 import (
      4 	"io/fs"
      5 	"strings"
      6 	"time"
      7 )
      8 
      9 func (is *Issue) Name() string {
     10 	_, number, found := strings.Cut(is.Key, "-")
     11 	if !found {
     12 		return is.Key
     13 	}
     14 	return number
     15 }
     16 
     17 func (is *Issue) Size() int64        { return int64(len(printIssue(is))) }
     18 func (is *Issue) Mode() fs.FileMode  { return 0o444 | fs.ModeDir }
     19 func (is *Issue) ModTime() time.Time { return is.Updated }
     20 func (is *Issue) IsDir() bool        { return is.Mode().IsDir() }
     21 func (is *Issue) Sys() any           { return nil }
     22 
     23 func (c *Comment) Name() string       { return c.ID }
     24 func (c *Comment) Size() int64        { return int64(len(printComment(c))) }
     25 func (c *Comment) Mode() fs.FileMode  { return 0o444 }
     26 func (c *Comment) ModTime() time.Time { return c.Updated }
     27 func (c *Comment) IsDir() bool        { return c.Mode().IsDir() }
     28 func (c *Comment) Sys() any           { return nil }
     29 
     30 func (p *Project) Name() string       { return p.Key }
     31 func (p *Project) Size() int64        { return -1 }
     32 func (p *Project) Mode() fs.FileMode  { return 0o444 | fs.ModeDir }
     33 func (p *Project) ModTime() time.Time { return time.Time{} }
     34 func (p *Project) IsDir() bool        { return p.Mode().IsDir() }
     35 func (p *Project) Sys() any           { return nil }
     36 
     37 type stat struct {
     38 	name  string
     39 	size  int64
     40 	mode  fs.FileMode
     41 	mtime time.Time
     42 }
     43 
     44 func (s stat) Name() string       { return s.name }
     45 func (s stat) Size() int64        { return s.size }
     46 func (s stat) Mode() fs.FileMode  { return s.mode }
     47 func (s stat) ModTime() time.Time { return s.mtime }
     48 func (s stat) IsDir() bool        { return s.Mode().IsDir() }
     49 func (s stat) Sys() any           { return nil }