feat: golang-cli v1.0.0 — generic command-tree CLI library
Reusable, generics-based CLI extracted from vpp-evpn's cmd/evpnc: a declarative command tree (Node[C]) from which dispatch, '?'-help and TAB-completion are derived, an interactive Shell[C], dynamic slot resolvers (context-dependent via captured args), text-or-JSON output (Emit), and color helpers (Paint/Label/KV). Builds on Linux and OpenBSD (readline termios override). Includes a self-contained example and a design proposal under docs/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
// SPDX-FileCopyrightText: (C) Copyright 2026 Pim van Pelt <pim@ipng.ch>
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
//go:build !openbsd
|
||||
|
||||
package cli
|
||||
|
||||
import "github.com/chzyer/readline"
|
||||
|
||||
// applyTermFuncs is a no-op on every platform except OpenBSD, where readline's
|
||||
// native termios handling is broken and needs an override (see term_openbsd.go).
|
||||
// Elsewhere readline's defaults work as-is.
|
||||
func applyTermFuncs(_ *readline.Config) {}
|
||||
Reference in New Issue
Block a user