diff options
-rw-r--r-- | docs/data/docs.json | 14 | ||||
-rw-r--r-- | watcher/batcher.go | 73 |
2 files changed, 14 insertions, 73 deletions
diff --git a/docs/data/docs.json b/docs/data/docs.json index 7ef0b939b..70aee718e 100644 --- a/docs/data/docs.json +++ b/docs/data/docs.json @@ -122,6 +122,7 @@ "bashrc", "ebuild", "eclass", + "env", "exheres-0", "exlib", "ksh", @@ -975,6 +976,12 @@ ] }, { + "Name": "PromQL", + "Aliases": [ + "promql" + ] + }, + { "Name": "Protocol Buffer", "Aliases": [ "proto", @@ -1189,6 +1196,13 @@ ] }, { + "Name": "Stylus", + "Aliases": [ + "styl", + "stylus" + ] + }, + { "Name": "Swift", "Aliases": [ "swift" diff --git a/watcher/batcher.go b/watcher/batcher.go deleted file mode 100644 index 6f4b276cf..000000000 --- a/watcher/batcher.go +++ /dev/null @@ -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() -} |