Skip to main content
Glama

protolint-mcp

by yoheimuta
flags.go2.85 kB
package lint import ( "flag" "github.com/yoheimuta/protolint/internal/cmd/subcmds" "github.com/yoheimuta/protolint/linter/autodisable" "github.com/yoheimuta/protolint/internal/addon/plugin/shared" "github.com/yoheimuta/protolint/internal/linter/report/reporters" "github.com/yoheimuta/protolint/internal/linter/report" ) // Flags represents a set of lint flag parameters. type Flags struct { *flag.FlagSet FilePaths []string ConfigPath string ConfigDirPath string FixMode bool Reporter report.Reporter AutoDisableType autodisable.PlacementType OutputFilePath string Verbose bool NoErrorOnUnmatchedPattern bool Plugins []shared.RuleSet AdditionalReporters reporterStreamFlags } // NewFlags creates a new Flags. func NewFlags( args []string, ) (Flags, error) { f := Flags{ FlagSet: flag.NewFlagSet("lint", flag.ExitOnError), Reporter: reporters.PlainReporter{}, AutoDisableType: autodisable.Noop, } var rf reporterFlag var af autoDisableFlag var pf subcmds.PluginFlag var rfs reporterStreamFlags f.StringVar( &f.ConfigPath, "config_path", "", "path/to/protolint.yaml. Note that if both are set, config_dir_path is ignored.", ) f.StringVar( &f.ConfigDirPath, "config_dir_path", "", "path/to/the_directory_including_protolint.yaml", ) f.BoolVar( &f.FixMode, "fix", false, "mode that the command line automatically fix some of the problems", ) f.Var( &rf, "reporter", `formatter to output results in the specific format. Available reporters are "plain"(default), "junit", "json", "sarif", and "unix".`, ) f.Var( &af, "auto_disable", `mode that the command line automatically disable some of the problems. Available auto_disable are "next" and "this".`, ) f.StringVar( &f.OutputFilePath, "output_file", "", "path/to/output.txt", ) f.Var( &pf, "plugin", `plugins to provide custom lint rule set. Note that it's necessary to specify it as path format'`, ) f.BoolVar( &f.Verbose, "v", false, "verbose output that includes parsing process details", ) f.BoolVar( &f.NoErrorOnUnmatchedPattern, "no-error-on-unmatched-pattern", false, "exits with 0 when no file is matched", ) f.Var( &rfs, "add-reporter", "Adds a reporter to the list of reporters to use. The format should be 'name of reporter':'Path-To_output_file'", ) _ = f.Parse(args) if rf.reporter != nil { f.Reporter = rf.reporter } if len(rfs) > 0 { f.AdditionalReporters = rfs } if af.autoDisableType != 0 { f.AutoDisableType = af.autoDisableType } plugins, err := pf.BuildPlugins(f.Verbose) if err != nil { return Flags{}, err } f.Plugins = plugins f.FilePaths = f.Args() return f, nil }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yoheimuta/protolint'

If you have feedback or need assistance with the MCP directory API, please join our Discord server