|
1 | 1 | #include "deepshell.h" |
2 | 2 |
|
| 3 | +// Logo functions for interactive mode |
| 4 | +void print_interactive_logo() { |
| 5 | + // Clear screen and move to top |
| 6 | + printf("\033[2J\033[H"); |
| 7 | + |
| 8 | + // Add some spacing |
| 9 | + printf("\n\n"); |
| 10 | + |
| 11 | + // DeepShell ASCII Art Logo - actually spelling out "DeepShell" |
| 12 | + printf("%s", COLOR_CYAN); |
| 13 | + printf(" ██████╗ ███████╗███████╗██████╗ ███████╗██╗ ██╗███████╗██╗ ██╗ \n"); |
| 14 | + printf(" ██╔══██╗██╔════╝██╔════╝██╔══██╗██╔════╝██║ ██║██╔════╝██║ ██║ \n"); |
| 15 | + printf(" ██║ ██║█████╗ █████╗ ██████╔╝███████╗███████║█████╗ ██║ ██║ \n"); |
| 16 | + printf(" ██║ ██║██╔══╝ ██╔══╝ ██╔═══╝ ╚════██║██╔══██║██╔══╝ ██║ ██║ \n"); |
| 17 | + printf(" ██████╔╝███████╗███████╗██║ ███████║██║ ██║███████╗███████╗███████╗\n"); |
| 18 | + printf(" ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝\n"); |
| 19 | + printf("%s", COLOR_RESET); |
| 20 | + |
| 21 | + printf("\n"); |
| 22 | + |
| 23 | + // Subtitle with version info - PERFECT RECTANGLE |
| 24 | + printf("%s", COLOR_BLUE); |
| 25 | + printf(" ╔══════════════════════════════════════════════════════════════╗\n"); |
| 26 | + printf(" ║ AI-Powered Shell Interface ║\n"); |
| 27 | + printf(" ║ Version %s ║\n", DEEPSHELL_VERSION); |
| 28 | + printf(" ╚══════════════════════════════════════════════════════════════╝\n"); |
| 29 | + printf("%s", COLOR_RESET); |
| 30 | + |
| 31 | + printf("\n"); |
| 32 | + |
| 33 | + // Feature highlights |
| 34 | + printf("%s", COLOR_GREEN); |
| 35 | + printf(" ✨ Multi-LLM Support (Gemini, Ollama) 🔧 Interactive Mode 📝 Markdown Rendering\n"); |
| 36 | + printf(" 🚀 Streaming Responses ⚙️ Easy Configuration 💾 Conversation History\n"); |
| 37 | + printf("%s", COLOR_RESET); |
| 38 | + |
| 39 | + printf("\n"); |
| 40 | + |
| 41 | + // Status indicator |
| 42 | + printf("%s", COLOR_YELLOW); |
| 43 | + printf(" [*] DeepShell is ready to assist you with AI-powered interactions!\n"); |
| 44 | + printf("%s", COLOR_RESET); |
| 45 | + |
| 46 | + printf("\n"); |
| 47 | +} |
| 48 | + |
3 | 49 | bool start_interactive_session(config_t *config) { |
4 | 50 | if (!config) { |
5 | 51 | return false; |
6 | 52 | } |
7 | 53 |
|
| 54 | + // Display the DeepShell logo for interactive mode |
| 55 | + print_interactive_logo(); |
| 56 | + |
8 | 57 | display_message("\n--- DeepShell Interactive Mode ---", COLOR_GREEN); |
9 | 58 | display_message("Type 'exit' or 'quit' to end the session.", COLOR_YELLOW); |
10 | 59 |
|
|
0 commit comments