feat: add fullscreen TUI with illwill

- New screens: Main Menu, Compile, Run, REPL, AI Generator, AI Settings, Help
- AI configuration persisted in ~/.config/cljnim/config.json
- Navigate with arrow keys, Enter, Escape
- illwill added as dependency in cljnim.nimble
This commit is contained in:
2026-05-09 01:51:28 +03:00
parent d697ee60c9
commit 2bc64eca22
5 changed files with 953 additions and 1 deletions
+5 -1
View File
@@ -1,6 +1,6 @@
# Clojure/Nim — AI-First Clojure Compiler
import os, osproc, strutils, times
import reader, emitter, types, repl, macros, deps, ai_assist
import reader, emitter, types, repl, macros, deps, ai_assist, tui
proc getLibPath(): string =
let appDir = getAppDir()
@@ -206,6 +206,7 @@ proc main() =
echo " cljnim deps Resolve dependencies from deps.edn"
echo " cljnim -e '<code>' Evaluate expression"
echo " cljnim ai '<description>' Generate Clojure code with AI"
echo " cljnim tui Start interactive TUI"
echo ""
echo "REPL Commands:"
echo " :quit, :q Exit REPL"
@@ -346,6 +347,9 @@ proc main() =
stderr.writeLine(aiRes.suggestion)
quit(1)
of "tui":
runTui()
else:
stderr.writeLine("Unknown command: " & cmd)
quit(1)