🚀 Phase 12.7-B: ChatGPT5糖衣構文(基本実装完了) - パイプライン演算子(|>)実装 - セーフアクセス(?.)とデフォルト値(??)実装 - sugar gateによる段階的有効化機能 - 糖衣構文テストスイート追加 🤖 自律型AI開発システム改善 - codex-async-notify.sh: タスク制御指示追加 - "下の箱を積み過ぎないように先に進んでください" - "フェーズが終わったと判断したら止まってください" - プロセス数表示機能の改善(count_running_codex_display) - 自動停止機能が正常動作(Phase 12.7-C前で停止確認) 📚 ドキュメント更新 - Paper 13: 自律型AI協調開発システムの革新性を文書化 - ANCP可逆マッピング仕様追加 - nyfmt PoC(フォーマッター)計画追加 🧱 箱理論の体現 - 74k行のコードベース(Phase 15で20k行を目指す) - ANCP適用で最終的に6k行相当を狙う - 世界最小の実用コンパイラへの道 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
26 lines
592 B
Rust
26 lines
592 B
Rust
use std::cell::Cell;
|
|
|
|
thread_local! {
|
|
static SUGAR_ON: Cell<bool> = Cell::new(false);
|
|
}
|
|
|
|
pub fn is_enabled_env() -> bool {
|
|
if std::env::var("NYASH_FORCE_SUGAR").ok().as_deref() == Some("1") { return true; }
|
|
matches!(std::env::var("NYASH_SYNTAX_SUGAR_LEVEL").ok().as_deref(), Some("basic") | Some("full"))
|
|
}
|
|
|
|
pub fn is_enabled() -> bool {
|
|
SUGAR_ON.with(|c| c.get()) || is_enabled_env()
|
|
}
|
|
|
|
pub fn with_enabled<T>(f: impl FnOnce() -> T) -> T {
|
|
SUGAR_ON.with(|c| {
|
|
let prev = c.get();
|
|
c.set(true);
|
|
let r = f();
|
|
c.set(prev);
|
|
r
|
|
})
|
|
}
|
|
|