namespace io.github.hatayama.uLoopMCP { /// /// Visitor interface for handling editor-specific configuration generation. /// /// This interface enables the Visitor pattern to eliminate switch statements /// when converting McpEditorType enum values to their corresponding settings. /// Each editor type has its own Visit method that returns type T. /// /// Related classes: /// - McpEditorType: Enum that defines supported editor types /// - EditorConfig: Value object that stores configuration information /// - EditorConfigProvider: Concrete implementation of this visitor interface /// /// The return type for visit operations public interface IEditorConfigVisitor { /// /// Visits Cursor editor configuration. /// /// Configuration result for Cursor T VisitCursor(); /// /// Visits Claude Code editor configuration. /// /// Configuration result for Claude Code T VisitClaudeCode(); /// /// Visits VSCode editor configuration. /// /// Configuration result for VSCode T VisitVSCode(); /// /// Visits Gemini CLI editor configuration. /// /// Configuration result for Gemini CLI T VisitGeminiCLI(); /// /// Visits Windsurf editor configuration. /// /// Configuration result for Windsurf T VisitWindsurf(); /// /// Visits Codex editor configuration. /// /// Configuration result for Codex T VisitCodex(); /// /// Visits MCP Inspector configuration. /// /// Configuration result for MCP Inspector T VisitMcpInspector(); } }