From 80f23836ebcfe2f96ede161f4a946b56e4f0dd07 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 21 Dec 2019 17:15:51 +0800 Subject: [PATCH] change something --- core/config.go | 35 +++++++++++++++++++++-------------- core/struct.go | 14 +++++++++++--- 2 files changed, 32 insertions(+), 17 deletions(-) diff --git a/core/config.go b/core/config.go index 5488aa0..187c1b5 100644 --- a/core/config.go +++ b/core/config.go @@ -1,27 +1,34 @@ +// Copyright 2014 nps Author. All Rights Reserved. package core -// This structure is used to describe the plugin configuration item name and description. +import "regexp" + +// this structure is used to describe the plugin configuration item name and description. type Config struct { - ConfigName string - Description string - ConfigLevel ConfigLevel + ConfigName string // single configuration item name + ZhTitle string // single configuration item chinese title + EnTitle string // single configuration item english title + ZhDescription string // single configuration item chinese description + EnDescription string // single configuration item english description + LimitReg *regexp.Regexp // regular expression to restrict input + ConfigLevel ConfigLevel // configuration sector } +// multiple configuration collections for plugins type NpsConfigs struct { - configs []*Config + ZhTitle string // chinese title for configuration collection + EnTitle string // chinese description of the configuration collection + EnDescription string // english description of the configuration collection + ZhDescription string // chinese description for english collection + configs []*Config // all configurations } -func NewNpsConfigs(name, des string, level ConfigLevel) *NpsConfigs { - c := &NpsConfigs{} - c.configs = make([]*Config, 0) - c.Add(name, des, level) - return c -} - -func (config *NpsConfigs) Add(name, des string, level ConfigLevel) { - config.configs = append(config.configs, &Config{ConfigName: name, Description: des, ConfigLevel: level}) +// insert one config into configs +func (config *NpsConfigs) Add(cfg *Config) { + config.configs = append(config.configs, cfg) } +// get all configs func (config *NpsConfigs) GetAll() []*Config { return config.configs } diff --git a/core/struct.go b/core/struct.go index 94297a2..fc9a62e 100644 --- a/core/struct.go +++ b/core/struct.go @@ -22,9 +22,17 @@ const ( type ConfigLevel uint8 const ( - CONFIG_LEVEL_CLIENT ConfigLevel = iota - CONFIG_LEVEL_PLUGIN - CONFIG_LEVEL_GLOBAL + CONFIG_LEVEL_CLIENT ConfigLevel = iota // client-level configuration + CONFIG_LEVEL_PLUGIN // plugin level control + CONFIG_LEVEL_GLOBAL // global configuration +) + +type ConfigInputType uint8 + +const ( + CONFIG_INPUT_TEXT ConfigInputType = iota // show as single line input box + CONFIG_INPUT_SWITCH // show as switch + CONFIG_INPUT_TEXTAREA // show as a multi-line input box ) var (