Skip to main content
Glama

protolint-mcp

by yoheimuta
cmdLintConfig.go2.19 kB
package lint import ( "github.com/yoheimuta/protolint/internal/addon/plugin/shared" "github.com/yoheimuta/protolint/internal/cmd/subcmds" "github.com/yoheimuta/protolint/internal/linter/config" "github.com/yoheimuta/protolint/internal/linter/file" "github.com/yoheimuta/protolint/internal/linter/report" "github.com/yoheimuta/protolint/linter/autodisable" "github.com/yoheimuta/protolint/linter/rule" ) // CmdLintConfig is a config for lint command. type CmdLintConfig struct { external config.ExternalConfig fixMode bool autoDisableType autodisable.PlacementType verbose bool reporters report.ReportersWithOutput plugins []shared.RuleSet } // NewCmdLintConfig creates a new CmdLintConfig. func NewCmdLintConfig( externalConfig config.ExternalConfig, flags Flags, ) CmdLintConfig { output := report.WriteToConsole if 0 < len(flags.OutputFilePath) { output = flags.OutputFilePath } var reporters report.ReportersWithOutput reporters = append(reporters, *report.NewReporterWithOutput(flags.Reporter, output)) for _, additionalReporter := range flags.AdditionalReporters { r := *report.NewReporterWithOutput(additionalReporter.reporter, additionalReporter.targetFile) reporters = append(reporters, r) } return CmdLintConfig{ external: externalConfig, fixMode: flags.FixMode, autoDisableType: flags.AutoDisableType, verbose: flags.Verbose, reporters: reporters, plugins: flags.Plugins, } } // GenRules generates rules which are applied to the filename path. func (c CmdLintConfig) GenRules( f file.ProtoFile, ) ([]rule.HasApply, error) { allRules, err := subcmds.NewAllRules(c.external.Lint.RulesOption, c.fixMode, c.autoDisableType, c.verbose, c.plugins) if err != nil { return nil, err } var defaultRuleIDs []string if c.external.Lint.Rules.AllDefault { defaultRuleIDs = allRules.IDs() } else { defaultRuleIDs = allRules.Default().IDs() } var hasApplies []rule.HasApply for _, r := range allRules { if c.external.ShouldSkipRule(r.ID(), f.DisplayPath(), defaultRuleIDs) { continue } hasApplies = append(hasApplies, r) } return hasApplies, 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