diff options
| -rw-r--r-- | go.mod | 4 | ||||
| -rw-r--r-- | go.sum | 29 | ||||
| -rw-r--r-- | watcher.go | 26 | ||||
| -rw-r--r-- | watcher_test.go | 7 |
4 files changed, 40 insertions, 26 deletions
@@ -3,8 +3,8 @@ module git.sr.ht/~shulhan/ciigo go 1.16 require ( - git.sr.ht/~shulhan/asciidoctor-go v0.1.1-0.20210406124504-3a5ca1ea9d09 - github.com/shuLhan/share v0.28.1-0.20210709045022-0cd813b8ae8a + git.sr.ht/~shulhan/asciidoctor-go v0.1.1-0.20211004182124-1c48dfa11a1b + github.com/shuLhan/share v0.30.1-0.20211008160752-cfd80fef36a1 ) //replace git.sr.ht/~shulhan/asciidoctor-go => ../asciidoctor-go @@ -1,24 +1,23 @@ -git.sr.ht/~shulhan/asciidoctor-go v0.1.1-0.20210406124504-3a5ca1ea9d09 h1:88aO0OKoM5ZNga/pCYYg4yUnSbqMO2xK6WtSLZj+avw= -git.sr.ht/~shulhan/asciidoctor-go v0.1.1-0.20210406124504-3a5ca1ea9d09/go.mod h1:es2jWkfgn3nOEXIhKX+i+Pb3pJIOsYhPq+DIfzhVDzU= -github.com/shuLhan/share v0.25.1/go.mod h1:G6T/vwf4RNLP6iJBhOfExDfAnPT8MuSDQ4Y81Ax9fDg= -github.com/shuLhan/share v0.28.1-0.20210709045022-0cd813b8ae8a h1:5mx4KecBCQaMz/7cTcZtP8YZI7rnnu5yFrPWPXKFUEw= -github.com/shuLhan/share v0.28.1-0.20210709045022-0cd813b8ae8a/go.mod h1:mIi+vy+p2UOGZXna5Z9JDr0t8pxyl2ysJCTw/zZECAY= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +git.sr.ht/~shulhan/asciidoctor-go v0.1.1-0.20211004182124-1c48dfa11a1b h1:LrKeNE5urwiAZcuv1ACKwStbXpxWIaXNKrL4aCsN2EE= +git.sr.ht/~shulhan/asciidoctor-go v0.1.1-0.20211004182124-1c48dfa11a1b/go.mod h1:fGzLvcEmRkdfo9mg7sp7fQHQHquCUJ4+6nRfWi6I7B0= +github.com/shuLhan/share v0.30.0/go.mod h1:9gv+ID20OrJiXz0y+fZ9e9Ah4CIX2vJVVbcKiI3az5Y= +github.com/shuLhan/share v0.30.1-0.20211008160752-cfd80fef36a1 h1:BDbiuWbzErvP9YDpYJSI5uaHfUUWiUXuNH3KsclwT54= +github.com/shuLhan/share v0.30.1-0.20211008160752-cfd80fef36a1/go.mod h1:1E7VQSKC7cbCmAi6izvm2S8jH5Z98a9SSS2IlvmNs/Y= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211007125505-59d4e928ea9d h1:QWMn1lFvU/nZ58ssWqiFJMd3DKIII8NYc4sn708XgKs= +golang.org/x/net v0.0.0-20211007125505-59d4e928ea9d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 h1:RqytpXGR1iVNX7psjB3ff8y7sNFinVFvkx1c8SjBkio= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac h1:oN6lz7iLW/YC7un8pq+9bOLyXrprv2+DKfkJY+2LJJw= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210317153231-de623e64d2a6/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -79,8 +79,9 @@ func newWatcher(htmlg *htmlGenerator, dir, exclude string) (w *watcher, err erro // func (w *watcher) onChangeFileMarkup(ns *libio.NodeState) { var ( - logp = "onChangeFileMarkup" - err error + logp = "onChangeFileMarkup" + fmarkup *fileMarkup + err error ) ext := strings.ToLower(filepath.Ext(ns.Node.SysPath)) @@ -88,7 +89,8 @@ func (w *watcher) onChangeFileMarkup(ns *libio.NodeState) { return } - if ns.State == libio.FileStateDeleted { + switch ns.State { + case libio.FileStateDeleted: fmt.Printf("%s: %q deleted\n", logp, ns.Node.SysPath) fmarkup, ok := w.fileMarkups[ns.Node.SysPath] if ok { @@ -96,10 +98,8 @@ func (w *watcher) onChangeFileMarkup(ns *libio.NodeState) { w.changes.Push(fmarkup) } return - } - fmarkup := w.fileMarkups[ns.Node.SysPath] - if fmarkup == nil { + case libio.FileStateCreated: fmt.Printf("%s: %s created\n", logp, ns.Node.SysPath) fmarkup, err = newFileMarkup(ns.Node.SysPath, nil) if err != nil { @@ -108,8 +108,18 @@ func (w *watcher) onChangeFileMarkup(ns *libio.NodeState) { } w.fileMarkups[ns.Node.SysPath] = fmarkup - } else { - fmt.Printf("%s: %s updated\n", logp, ns.Node.SysPath) + + case libio.FileStateUpdateMode: + fmt.Printf("%s: %s mode updated\n", logp, ns.Node.SysPath) + return + + case libio.FileStateUpdateContent: + fmt.Printf("%s: %s content updated\n", logp, ns.Node.SysPath) + fmarkup = w.fileMarkups[ns.Node.SysPath] + if fmarkup == nil { + fmt.Printf("%s: %s not found\n", logp, ns.Node.SysPath) + return + } } err = w.htmlg.convert(fmarkup) diff --git a/watcher_test.go b/watcher_test.go index 2d6df9f..3bc7c31 100644 --- a/watcher_test.go +++ b/watcher_test.go @@ -23,7 +23,12 @@ var ( func TestWatcher(t *testing.T) { testDir := "testdata/watcher" - err := os.MkdirAll(testDir, 0700) + err := os.RemoveAll(testDir) + if err != nil { + t.Logf(err.Error()) + } + + err = os.MkdirAll(testDir, 0700) if err != nil { t.Fatal(err) } |
