Browse Source
Documentation-only bump. The RANGE punk::args -help (and the doctools comment) now document the behaviours pinned by the 2026-08-05 ansistring coverage survey (ansi/ansistring.test), replacing the underspecified "including the ANSI codes in effect" wording: - SGR codes re-applied at each plain-text run in merged (canonicalized) form - style-equivalent but NOT byte-identical to the original. - SGR-only carriage: other sequence types (cursor movement, OSC, charset shifts) are not re-emitted. - Codes after the last requested grapheme are not included; trailing SGR state is retrievable with ansistring INDEXCODE end+1. - Index semantics: end-relative expressions, one-sided clamping, empty-string returns for both-beyond-same-end and inverted ranges (tcl string range consistency). The @cmd -summary reworded from "ANSI codes preserved" (overclaimed) to "SGR styling re-applied". Open design questions stay deliberately undocumented as contract - trailing codes on literal end (the shared TODO with opunk::Str RANGE and its whole-span $this shortcut divergence), non-SGR retention, charset/gx0 handling - recorded in code comments and G-151 Notes. ansi subtree 71/71 green (tclsh90); usage render verified carrying the new content. Minted modules/punk/ansi-0.1.4.tm via make.tcl modules; bootsupport/vfscommon promotion left to the next promotion cycle. Claude-Session: https://claude.ai/code/session_0156PuejSCGjgeGb7jiABrDU Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.commaster
2 changed files with 17 additions and 6 deletions
@ -1,5 +1,6 @@
|
||||
0.1.3 |
||||
0.1.4 |
||||
#First line must be a semantic version number |
||||
#all other lines are ignored. |
||||
#0.1.4 - documentation-only: ansistring RANGE argdoc + doctools comment now state the pinned contract (tests ansi/ansistring.test, 2026-08-05 coverage survey): merged/canonicalized SGR re-emission (style-equivalent, not byte-identical), SGR-only carriage (non-SGR sequence types not re-emitted), trailing-code exclusion with INDEXCODE end+1 as the retrieval mechanism, and clamping/empty-range semantics. Summary reworded (was 'codes preserved' - overclaimed). Open design questions (trailing codes on literal end, non-SGR retention, charset/gx0 handling) stay as code TODO/review comments and G-151 Notes - deliberately not promised in the doc. |
||||
#0.1.3 - documentation-only: grepstr -return summarydict choicelabel corrected - the summary dict's 'linemap' key is always present (the old text claimed it appeared only with -n; actual always-present behaviour pinned in tests ansi/grepstr.test). Reconciliation deferred from the grepstr characterization wave to the punk::ns hygiene pass. |
||||
#0.1.2 - documentation-only: PUNKARGS argdoc blocks added for punk::ansi::codetype (is_sgr_reset, has_sgr_leadingreset, is_cursor_move_in_line, has_all_effective, get_effective_types, is_gx/is_gx_open/is_gx_close, sgr_merge), punk::ansi::sequence_type (is_Fe7/is_Fe/is_Fe8, is_Fp, is_Fs, is_nF, is_3Fp, is_code7/is_code8/is_code, classify), punk::ansi::ta (detect_in_list, detectcode, detectcode_in_list, detect_g0, detect_open, detect_st_open, detect_csi, detect_sgr, split_at_codes, split_codes, split_codes_single, get_codes_single) and punk::ansi::ansistring (VIEW, COUNT, length, trimleft/trimright/trim, INDEX, INDEXCHAR, RANGE, INSERT, INDEXABSOLUTE, INDEXCOLUMNS, COLUMNINDEX); ::punk::ansi::sequence_type added to punk::args::register NAMESPACES so its argdocs are discoverable |
||||
|
||||
Loading…
Reference in new issue