graph LR
Completion_Orchestrator["Completion Orchestrator"]
Argument_Command_Completion_Preparer["Argument/Command Completion Preparer"]
Value_Completion_Preparer["Value Completion Preparer"]
Completion_Utilities["Completion Utilities"]
Completion_Orchestrator -- "delegates to" --> Argument_Command_Completion_Preparer
Completion_Orchestrator -- "delegates to" --> Value_Completion_Preparer
Argument_Command_Completion_Preparer -- "relies on" --> Completion_Utilities
Value_Completion_Preparer -- "utilizes" --> Completion_Utilities
Completion_Utilities -- "serves as a dependency for" --> Argument_Command_Completion_Preparer
Completion_Utilities -- "serves as a dependency for" --> Value_Completion_Preparer
The Auto-completion Engine subsystem is primarily encapsulated within the nubia.internal.completion module. It is responsible for providing intelligent, context-aware suggestions to the user as they type in the interactive shell, aligning with the project's strong bias towards a rich interactive user experience.
This is the primary entry point for the auto-completion process. It receives the current input and delegates the task of generating completion candidates to specialized preparers based on the context (e.g., whether an argument or a value is expected).
Related Classes/Methods:
Focuses on suggesting commands, subcommands, and arguments (flags or positional) that can logically follow the current input. It analyzes the input tokens to determine valid next commands or arguments.
Related Classes/Methods:
Specializes in providing possible values for a specific argument or option once that argument has been identified. It uses argument metadata to narrow down and suggest appropriate values.
Related Classes/Methods:
A foundational set of helper functions and classes that provide essential low-level capabilities for the completion process. This includes parsing the input string into tokens (TokenParse), identifying argument types, and retrieving argument metadata. These utilities are crucial for both argument and value completion logic.
Related Classes/Methods: