mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-28 23:12:14 -05:00
docs: Regenerate docshelper
This commit is contained in:
parent
b298c06e05
commit
caf16c2085
2 changed files with 14 additions and 73 deletions
|
@ -122,6 +122,7 @@
|
||||||
"bashrc",
|
"bashrc",
|
||||||
"ebuild",
|
"ebuild",
|
||||||
"eclass",
|
"eclass",
|
||||||
|
"env",
|
||||||
"exheres-0",
|
"exheres-0",
|
||||||
"exlib",
|
"exlib",
|
||||||
"ksh",
|
"ksh",
|
||||||
|
@ -974,6 +975,12 @@
|
||||||
"prolog"
|
"prolog"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Name": "PromQL",
|
||||||
|
"Aliases": [
|
||||||
|
"promql"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Name": "Protocol Buffer",
|
"Name": "Protocol Buffer",
|
||||||
"Aliases": [
|
"Aliases": [
|
||||||
|
@ -1188,6 +1195,13 @@
|
||||||
"sml"
|
"sml"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Name": "Stylus",
|
||||||
|
"Aliases": [
|
||||||
|
"styl",
|
||||||
|
"stylus"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Name": "Swift",
|
"Name": "Swift",
|
||||||
"Aliases": [
|
"Aliases": [
|
||||||
|
|
|
@ -1,73 +0,0 @@
|
||||||
// Copyright 2015 The Hugo Authors. All rights reserved.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package watcher
|
|
||||||
|
|
||||||
import (
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/fsnotify/fsnotify"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Batcher batches file watch events in a given interval.
|
|
||||||
type Batcher struct {
|
|
||||||
*fsnotify.Watcher
|
|
||||||
interval time.Duration
|
|
||||||
done chan struct{}
|
|
||||||
|
|
||||||
Events chan []fsnotify.Event // Events are returned on this channel
|
|
||||||
}
|
|
||||||
|
|
||||||
// New creates and starts a Batcher with the given time interval.
|
|
||||||
func New(interval time.Duration) (*Batcher, error) {
|
|
||||||
watcher, err := fsnotify.NewWatcher()
|
|
||||||
|
|
||||||
batcher := &Batcher{}
|
|
||||||
batcher.Watcher = watcher
|
|
||||||
batcher.interval = interval
|
|
||||||
batcher.done = make(chan struct{}, 1)
|
|
||||||
batcher.Events = make(chan []fsnotify.Event, 1)
|
|
||||||
|
|
||||||
if err == nil {
|
|
||||||
go batcher.run()
|
|
||||||
}
|
|
||||||
|
|
||||||
return batcher, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (b *Batcher) run() {
|
|
||||||
tick := time.Tick(b.interval)
|
|
||||||
evs := make([]fsnotify.Event, 0)
|
|
||||||
OuterLoop:
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case ev := <-b.Watcher.Events:
|
|
||||||
evs = append(evs, ev)
|
|
||||||
case <-tick:
|
|
||||||
if len(evs) == 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
b.Events <- evs
|
|
||||||
evs = make([]fsnotify.Event, 0)
|
|
||||||
case <-b.done:
|
|
||||||
break OuterLoop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close(b.done)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close stops the watching of the files.
|
|
||||||
func (b *Batcher) Close() {
|
|
||||||
b.done <- struct{}{}
|
|
||||||
b.Watcher.Close()
|
|
||||||
}
|
|
Loading…
Reference in a new issue