telegraf/tools/readme_linter/plugin.go

37 lines
762 B
Go
Raw Normal View History

2022-04-20 01:59:25 +08:00
package main
import (
"path/filepath"
2022-04-20 01:59:25 +08:00
)
type plugin int
const (
pluginNone plugin = iota
pluginInput
pluginOutput
pluginProcessor
pluginAggregator
pluginParser
)
func guessPluginType(filename string) plugin {
// Switch takes `plugins/inputs/amd_rocm_smi/README.md` and converts it to
// `plugins/inputs`. This avoids parsing READMEs that are under a plugin
// like those found in test folders as actual plugin readmes.
switch filepath.Dir(filepath.Dir(filename)) {
case "plugins/inputs":
2022-04-20 01:59:25 +08:00
return pluginInput
case "plugins/outputs":
2022-04-20 01:59:25 +08:00
return pluginOutput
case "plugins/processors":
2022-04-20 01:59:25 +08:00
return pluginProcessor
case "plugins/aggregators":
2022-04-20 01:59:25 +08:00
return pluginAggregator
case "plugins/parsers":
2022-04-20 01:59:25 +08:00
return pluginParser
default:
return pluginNone
}
}