• src/sbbs3/scfg/.gitignore gen_option_index.py scfgindex.h scfgsrch.c s

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tuesday, May 05, 2026 16:50:28
    https://gitlab.synchro.net/main/sbbs/-/commit/b2bd173caf3a0aafb9d9b370
    Added Files:
    src/sbbs3/scfg/.gitignore gen_option_index.py scfgindex.h scfgsrch.c scfgsrch.h
    Modified Files:
    src/sbbs3/scfg/CMakeLists.txt GNUmakefile objects.mk scfg.c scfg.vcxproj
    Log Message:
    scfg: Ctrl-F searches every configuration option by name

    Adds a cross-menu option search to SCFG. From the main "Configure"
    menu, Ctrl-F (or Ctrl-G) opens an overlay where the sysop types a
    substring; results show every matching option label paired with the
    menu it lives in, and selecting one displays the full path the sysop
    would navigate from "Configure" down to that option, rendered as a
    CP437 box-drawing tree.

    The index data (scfgindex.h) is auto-generated by gen_option_index.py,
    which walks the scfg*.c sources and extracts:
    * snprintf(opt[..],..,"Label",..) and strcpy(opt[..],"Label") option
    labels, plus static char* mopt[] arrays;
    * uifc.list(..,"Title",..) navigable menus (via a depth-aware
    reassignment guard that distinguishes real menus from one-shot
    pickers that happen to share the dispatch variable);
    * the call graph between menu functions, including inline sub-navs.

    Each call site's option label (the case index in the enclosing
    switch -> opt[case_idx]) is recorded as the navigation step the user
    clicks, so a search result like "Allow Bounce Transfers" shows up
    under the path "Servers > FTP Server > Allow Bounce Transfers" -
    the labels the sysop actually clicks, not the underlying screen
    titles.

    scfgindex.h is checked in so end users do not need Python to build
    SCFG; the GNUmakefile only regenerates it under SBBS_OFFICIAL.

    Designed and implemented by Claude (Opus 4.7).

    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net