Browse Source

documentation update

master
Julian Noble 1 day ago
parent
commit
6a8232a5d8
  1. 2
      src/doc/_module_argparsingtest-0.1.0.tm.man
  2. 71
      src/doc/_module_fauxlink-0.1.1.tm.man
  3. 2
      src/doc/_module_modpod-0.1.2.tm.man
  4. 49
      src/doc/_module_overtype-1.6.3.tm.man
  5. 49
      src/doc/_module_overtype-1.6.4.tm.man
  6. 2
      src/doc/_module_overtype-1.6.5.tm.man
  7. 13
      src/doc/_module_poshinfo-0.1.0.tm.man
  8. 2
      src/doc/_module_textblock-0.1.1.tm.man
  9. 120
      src/doc/_module_textblock-0.1.2.tm.man
  10. 20
      src/doc/_module_tomlish-1.1.1.tm.man
  11. 6
      src/doc/punk/_module_aliascore-0.1.0.tm.man
  12. 4
      src/doc/punk/_module_ansi-0.1.1.tm.man
  13. 2
      src/doc/punk/_module_assertion-0.1.0.tm.man
  14. 4
      src/doc/punk/_module_basictelnet-0.1.0.tm.man
  15. 45
      src/doc/punk/_module_blockletter-0.1.0.tm.man
  16. 36
      src/doc/punk/_module_cesu-0.1.0.tm.man
  17. 2
      src/doc/punk/_module_experiment-0.1.0.tm.man
  18. 2
      src/doc/punk/_module_island-0.1.0.tm.man
  19. 17
      src/doc/punk/_module_lib-0.1.1.tm.man
  20. 8
      src/doc/punk/_module_packagepreference-0.1.0.tm.man
  21. 42
      src/doc/punk/_module_rest-0.1.0.tm.man
  22. 2
      src/doc/punk/_module_sshrun-0.1.0.tm.man
  23. 39
      src/doc/punk/_module_trie-0.1.0.tm.man
  24. 4
      src/doc/punk/_module_uc-0.1.0.tm.man
  25. 50
      src/doc/punk/_module_winlnk-0.1.0.tm.man
  26. 66
      src/doc/punk/_module_zip-0.1.1.tm.man
  27. 38
      src/doc/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.man
  28. 6
      src/doc/punk/nav/_module_fs-0.1.0.tm.man
  29. 8
      src/doc/punk/repl/_module_codethread-0.1.0.tm.man
  30. 4
      src/embedded/man/files/_module_argparsingtest-0.1.0.tm.n
  31. 383
      src/embedded/man/files/_module_fauxlink-0.1.1.tm.n
  32. 4
      src/embedded/man/files/_module_modpod-0.1.2.tm.n
  33. 2
      src/embedded/man/files/_module_overtype-1.6.5.tm.n
  34. 11
      src/embedded/man/files/_module_poshinfo-0.1.0.tm.n
  35. 2
      src/embedded/man/files/_module_textblock-0.1.1.tm.n
  36. 512
      src/embedded/man/files/_module_textblock-0.1.2.tm.n
  37. 28
      src/embedded/man/files/_module_tomlish-1.1.1.tm.n
  38. 6
      src/embedded/man/files/punk/_module_aliascore-0.1.0.tm.n
  39. 12
      src/embedded/man/files/punk/_module_ansi-0.1.1.tm.n
  40. 4
      src/embedded/man/files/punk/_module_assertion-0.1.0.tm.n
  41. 6
      src/embedded/man/files/punk/_module_basictelnet-0.1.0.tm.n
  42. 329
      src/embedded/man/files/punk/_module_blockletter-0.1.0.tm.n
  43. 319
      src/embedded/man/files/punk/_module_cesu-0.1.0.tm.n
  44. 4
      src/embedded/man/files/punk/_module_experiment-0.1.0.tm.n
  45. 4
      src/embedded/man/files/punk/_module_island-0.1.0.tm.n
  46. 24
      src/embedded/man/files/punk/_module_lib-0.1.1.tm.n
  47. 6
      src/embedded/man/files/punk/_module_packagepreference-0.1.0.tm.n
  48. 323
      src/embedded/man/files/punk/_module_rest-0.1.0.tm.n
  49. 4
      src/embedded/man/files/punk/_module_sshrun-0.1.0.tm.n
  50. 325
      src/embedded/man/files/punk/_module_trie-0.1.0.tm.n
  51. 6
      src/embedded/man/files/punk/_module_uc-0.1.0.tm.n
  52. 343
      src/embedded/man/files/punk/_module_winlnk-0.1.0.tm.n
  53. 94
      src/embedded/man/files/punk/_module_zip-0.1.1.tm.n
  54. 83
      src/embedded/man/files/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.n
  55. 6
      src/embedded/man/files/punk/nav/_module_fs-0.1.0.tm.n
  56. 8
      src/embedded/man/files/punk/repl/_module_codethread-0.1.0.tm.n
  57. 371
      src/embedded/man/index.n
  58. 91
      src/embedded/man/toc.n
  59. 73
      src/embedded/md/.doc/tocdoc
  60. 2
      src/embedded/md/.idx
  61. 2
      src/embedded/md/.toc
  62. 2
      src/embedded/md/.xrf
  63. 6
      src/embedded/md/doc/files/_module_argparsingtest-0.1.0.tm.md
  64. 168
      src/embedded/md/doc/files/_module_fauxlink-0.1.1.tm.md
  65. 4
      src/embedded/md/doc/files/_module_modpod-0.1.2.tm.md
  66. 139
      src/embedded/md/doc/files/_module_overtype-1.6.3.tm.md
  67. 139
      src/embedded/md/doc/files/_module_overtype-1.6.4.tm.md
  68. 2
      src/embedded/md/doc/files/_module_overtype-1.6.5.tm.md
  69. 13
      src/embedded/md/doc/files/_module_poshinfo-0.1.0.tm.md
  70. 2
      src/embedded/md/doc/files/_module_textblock-0.1.1.tm.md
  71. 253
      src/embedded/md/doc/files/_module_textblock-0.1.2.tm.md
  72. 72
      src/embedded/md/doc/files/_module_tomlish-1.1.1.tm.md
  73. 8
      src/embedded/md/doc/files/punk/_module_aliascore-0.1.0.tm.md
  74. 167
      src/embedded/md/doc/files/punk/_module_ansi-0.1.1.tm.md
  75. 6
      src/embedded/md/doc/files/punk/_module_assertion-0.1.0.tm.md
  76. 12
      src/embedded/md/doc/files/punk/_module_basictelnet-0.1.0.tm.md
  77. 98
      src/embedded/md/doc/files/punk/_module_blockletter-0.1.0.tm.md
  78. 93
      src/embedded/md/doc/files/punk/_module_cesu-0.1.0.tm.md
  79. 6
      src/embedded/md/doc/files/punk/_module_experiment-0.1.0.tm.md
  80. 6
      src/embedded/md/doc/files/punk/_module_island-0.1.0.tm.md
  81. 123
      src/embedded/md/doc/files/punk/_module_lib-0.1.1.tm.md
  82. 8
      src/embedded/md/doc/files/punk/_module_packagepreference-0.1.0.tm.md
  83. 89
      src/embedded/md/doc/files/punk/_module_rest-0.1.0.tm.md
  84. 6
      src/embedded/md/doc/files/punk/_module_sshrun-0.1.0.tm.md
  85. 96
      src/embedded/md/doc/files/punk/_module_trie-0.1.0.tm.md
  86. 11
      src/embedded/md/doc/files/punk/_module_uc-0.1.0.tm.md
  87. 116
      src/embedded/md/doc/files/punk/_module_winlnk-0.1.0.tm.md
  88. 125
      src/embedded/md/doc/files/punk/_module_zip-0.1.1.tm.md
  89. 108
      src/embedded/md/doc/files/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.md
  90. 10
      src/embedded/md/doc/files/punk/nav/_module_fs-0.1.0.tm.md
  91. 10
      src/embedded/md/doc/files/punk/repl/_module_codethread-0.1.0.tm.md
  92. 54
      src/embedded/md/doc/toc.md
  93. 86
      src/embedded/md/index.md
  94. 54
      src/embedded/md/toc.md
  95. 73
      src/embedded/www/.doc/tocdoc
  96. 2
      src/embedded/www/.idx
  97. 2
      src/embedded/www/.toc
  98. 2
      src/embedded/www/.xrf
  99. 8
      src/embedded/www/doc/files/_module_argparsingtest-0.1.0.tm.html
  100. 220
      src/embedded/www/doc/files/_module_fauxlink-0.1.1.tm.html
  101. Some files were not shown because too many files have changed in this diff Show More

2
src/doc/_module_argparsingtest-0.1.0.tm.man

@ -1,7 +1,7 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_argparsingtest 0 0.1.0]
[manpage_begin punkshell_module_argparsingtest 0 0.1.0]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]

71
src/doc/_module_fauxlink-0.1.1.tm.man

@ -0,0 +1,71 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin fauxlink_module_fauxlink 0 0.1.1]
[copyright "2024"]
[titledesc {faux link application shortcuts}] [comment {-- Name section and table of contents description --}]
[moddesc {fauxlink .fxlnk}] [comment {-- Description at end of page heading --}]
[require fauxlink]
[keywords symlink faux fake shortcut toml]
[description]
[para] A cross platform shortcut/symlink alternative.
[para] Unapologetically ugly - but practical in certain circumstances.
[para] A solution is required for application-driven filesystem links that survives cross platform moves as well as
[para] archiving and packaging systems.
[para] The target is specified in a minimally-encoded form in the filename itself - but still human readable.
[para] format of name <nominalname>#<encodedtarget>.fxlnk
[para] where <nominalname> can be empty - then the effective nominal name is the tail of the <encodedtarget>
[para] The + symbol substitutes for forward-slashes.
[para] Other chars can be encoded using url-like encoding - (but only up to %7E !)
[para] We deliberately treat higher % sequences literally.
[para] This means actual uri::urn encoded unicode sequences (e.g %E2%99%A5 [lb]heart[rb]) can remain literal for linking to urls.
[para] e.g if an actual + or # is required in a filename or path segment they can be encoded as %2B & %23
[para] e.g a link to a file file#A.txt in parent dir could be:
[para] file%23A.txt#..+file%23A.txt.fxlnk
[para] or equivalently (but obviously affecting sorting) #..+file%23A.txt.fxlnk
[para] The <nominalname> can be unrelated to the actual target
[para] e.g datafile.dat#..+file%23A.txt.fxlnk
[para] This system has no filesystem support - and must be completely application driven.
[para] This can be useful for example in application test packages which may be tarred or zipped and moved cross platform.
[para] The target being fully specified in the name means the file doesn't have to be read for the target to be determined
[para] Extensions to behaviour should be added in the file as text data in Toml format,
[para] with custom data being under a single application-chosen table name
[para] The toplevel Toml table [lb]fauxlink[rb] is reserved for core extensions to this system.
[para] Aside from the 2 used for delimiting (+ #)
[para] certain characters which might normally be allowed in filesystems are required to be encoded
[para] e.g space and tab are required to be %20 %09
[para] Others that require encoding are: * ? \ / | : ; " < >
[para] The nul character in raw form, when detected, is always mapped away to the empty string - as very few filesystems support it.
[para] Control characters and other punctuation is optional to encode.
[para] Generally utf-8 should be used where possible and unicode characters can often be left unencoded on modern systems.
[para] Where encoding of unicode is desired in the nominalname,encodedtarget,tag or comment portions it can be specified as %UXXXXXXXX
[para] There must be between 1 and 8 X digits following the %U. Interpretation of chars following %U stops at the first non-hex character.
[para] This means %Utest would not get any translation as there were no hex digits so it would come out as %Utest
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
[section Overview]
[para] overview of fauxlink
[subsection Concepts]
[para] -
[subsection dependencies]
[para] packages used by fauxlink
[list_begin itemized]
[item] [package {Tcl 8.6-}]
[list_end]
[section API]
[subsection {Namespace fauxlink::class}]
[para] class definitions
[list_begin enumerated]
[list_end] [comment {--- end class enumeration ---}]
[subsection {Namespace fauxlink}]
[para] Core API functions for fauxlink
[list_begin definitions]
[list_end] [comment {--- end definitions namespace fauxlink ---}]
[subsection {Namespace fauxlink::lib}]
[para] Secondary functions that are part of the API
[list_begin definitions]
[list_end] [comment {--- end definitions namespace fauxlink::lib ---}]
[section Internal]
[subsection {Namespace fauxlink::system}]
[para] Internal functions that are not part of the API
[manpage_end]

2
src/doc/_module_modpod-0.1.0.tm.man → src/doc/_module_modpod-0.1.2.tm.man

@ -1,7 +1,7 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin modpod_module_modpod 0 0.1.0]
[manpage_begin modpod_module_modpod 0 0.1.2]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]

49
src/doc/_module_overtype-1.6.3.tm.man

@ -1,49 +0,0 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin overtype_module_overtype 0 1.6.3]
[copyright "2024"]
[titledesc {overtype text layout - ansi aware}] [comment {-- Name section and table of contents description --}]
[moddesc {overtype text layout}] [comment {-- Description at end of page heading --}]
[require overtype]
[keywords module text ansi]
[description]
[para] -
[section Overview]
[para] overview of overtype
[subsection Concepts]
[para] -
[subsection dependencies]
[para] packages used by overtype
[list_begin itemized]
[item] [package {Tcl 8.6}]
[item] [package textutil]
[item] [package punk::ansi]
[para] - required to detect, split, strip and calculate lengths of text possibly containing ansi codes
[item] [package punk::char]
[para] - box drawing - and also unicode character width determination for proper layout of text with double-column-width chars
[list_end]
[section API]
[subsection {Namespace overtype}]
[para] Core API functions for overtype
[list_begin definitions]
[call [fun overtype::renderspace] [arg args] ]
[para] usage: ?-transparent [lb]0|1[rb]? ?-overflow [lb]1|0[rb]? ?-ellipsis [lb]1|0[rb]? ?-ellipsistext ...? undertext overtext
[call [fun overtype::renderline] [arg args] ]
[para] renderline is the core engine for overtype string processing (frames & textblocks), and the raw mode commandline repl for the Tcl Punk Shell
[para] It is also a central part of an ansi (micro) virtual terminal-emulator of sorts
[para] This system does a half decent job at rendering 90's ANSI art to manipulable colour text blocks that can be joined & framed for layout display within a unix or windows terminal
[para] Renderline helps maintain ANSI text styling reset/replay codes so that the styling of one block doesn't affect another.
[para] Calling on the punk::ansi library - it can coalesce codes to keep the size down.
[para] It is a giant mess of doing exactly what common wisdom says not to do... lots at once.
[para] renderline is part of the Unicode and ANSI aware Overtype system which 'renders' a block of text onto a static underlay
[para] The underlay is generally expected to be an ordered set of lines or a rectangular text block analogous to a terminal screen - but it can also be ragged in line length, or just blank.
[para] The overlay couuld be similar - in which case it may often be used to overwrite a column or section of the underlay.
[para] The overlay could however be a sequence of ANSI-laden text that jumps all over the place.
[para] renderline itself only deals with a single line - or sometimes a single character. It is generally called from a loop that does further terminal-like or textblock processing.
[para] By suppyling the -info 1 option - it can return various fields indicating the state of the render.
[para] The main 3 are the result, overflow_right, and unapplied.
[para] Renderline handles cursor movements from either keystrokes or ANSI sequences but for a full system the aforementioned loop will need to be in place to manage the set of lines under manipulation.
[list_end] [comment {--- end definitions namespace overtype ---}]
[manpage_end]

49
src/doc/_module_overtype-1.6.4.tm.man

@ -1,49 +0,0 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin overtype_module_overtype 0 1.6.4]
[copyright "2024"]
[titledesc {overtype text layout - ansi aware}] [comment {-- Name section and table of contents description --}]
[moddesc {overtype text layout}] [comment {-- Description at end of page heading --}]
[require overtype]
[keywords module text ansi]
[description]
[para] -
[section Overview]
[para] overview of overtype
[subsection Concepts]
[para] -
[subsection dependencies]
[para] packages used by overtype
[list_begin itemized]
[item] [package {Tcl 8.6}]
[item] [package textutil]
[item] [package punk::ansi]
[para] - required to detect, split, strip and calculate lengths of text possibly containing ansi codes
[item] [package punk::char]
[para] - box drawing - and also unicode character width determination for proper layout of text with double-column-width chars
[list_end]
[section API]
[subsection {Namespace overtype}]
[para] Core API functions for overtype
[list_begin definitions]
[call [fun overtype::renderspace] [arg args] ]
[para] usage: ?-transparent [lb]0|1[rb]? ?-overflow [lb]1|0[rb]? ?-ellipsis [lb]1|0[rb]? ?-ellipsistext ...? undertext overtext
[call [fun overtype::renderline] [arg args] ]
[para] renderline is the core engine for overtype string processing (frames & textblocks), and the raw mode commandline repl for the Tcl Punk Shell
[para] It is also a central part of an ansi (micro) virtual terminal-emulator of sorts
[para] This system does a half decent job at rendering 90's ANSI art to manipulable colour text blocks that can be joined & framed for layout display within a unix or windows terminal
[para] Renderline helps maintain ANSI text styling reset/replay codes so that the styling of one block doesn't affect another.
[para] Calling on the punk::ansi library - it can coalesce codes to keep the size down.
[para] It is a giant mess of doing exactly what common wisdom says not to do... lots at once.
[para] renderline is part of the Unicode and ANSI aware Overtype system which 'renders' a block of text onto a static underlay
[para] The underlay is generally expected to be an ordered set of lines or a rectangular text block analogous to a terminal screen - but it can also be ragged in line length, or just blank.
[para] The overlay couuld be similar - in which case it may often be used to overwrite a column or section of the underlay.
[para] The overlay could however be a sequence of ANSI-laden text that jumps all over the place.
[para] renderline itself only deals with a single line - or sometimes a single character. It is generally called from a loop that does further terminal-like or textblock processing.
[para] By suppyling the -info 1 option - it can return various fields indicating the state of the render.
[para] The main 3 are the result, overflow_right, and unapplied.
[para] Renderline handles cursor movements from either keystrokes or ANSI sequences but for a full system the aforementioned loop will need to be in place to manage the set of lines under manipulation.
[list_end] [comment {--- end definitions namespace overtype ---}]
[manpage_end]

2
src/doc/_module_overtype-1.6.5.tm.man

@ -28,7 +28,7 @@
[para] Core API functions for overtype
[list_begin definitions]
[call [fun overtype::renderspace] [arg args] ]
[para] usage: ?-transparent [lb]0|1[rb]? ?-overflow [lb]1|0[rb]? ?-ellipsis [lb]1|0[rb]? ?-ellipsistext ...? undertext overtext
[para] usage: ?-transparent [lb]0|1[rb]? ?-expand_right [lb]1|0[rb]? ?-ellipsis [lb]1|0[rb]? ?-ellipsistext ...? undertext overtext
[call [fun overtype::renderline] [arg args] ]
[para] renderline is the core engine for overtype string processing (frames & textblocks), and the raw mode commandline repl for the Tcl Punk Shell
[para] It is also a central part of an ansi (micro) virtual terminal-emulator of sorts

13
src/doc/_module_poshinfo-0.1.0.tm.man

@ -1,12 +1,12 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_poshinfo 0 0.1.0]
[manpage_begin punkshell_module_poshinfo 0 0.1.0]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]
[titledesc {poshinfo prompt theme tool}] [comment {-- Name section and table of contents description --}]
[moddesc {POSH-related prompt tool}] [comment {-- Description at end of page heading --}]
[require poshinfo]
[keywords module]
[keywords module terminal console theme prompt {prompt theme} POSH]
[description]
[para] -
[section Overview]
@ -23,12 +23,8 @@
[section API]
[subsection {Namespace poshinfo::class}]
[para] class definitions
if {[tcl::info::commands [tcl::namespace::current]::interface_sample1] eq ""} {
[list_begin enumerated]
[list_end] [comment {--- end class enumeration ---}]
}
}
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
[subsection {Namespace poshinfo}]
[para] Core API functions for poshinfo
[list_begin definitions]
@ -38,7 +34,6 @@ if {[tcl::info::commands [tcl::namespace::current]::interface_sample1] eq ""} {
[list_begin definitions]
[list_end] [comment {--- end definitions namespace poshinfo::lib ---}]
[section Internal]
tcl::namespace::eval poshinfo::system {
[subsection {Namespace poshinfo::system}]
[para] Internal functions that are not part of the API
[manpage_end]

2
src/doc/_module_textblock-0.1.1.tm.man

@ -32,7 +32,7 @@
[item]
[para] [emph {handler_classes}]
[list_begin enumerated]
[enum] CLASS [class interface_caphandler.registry]
[enum] CLASS [class textblock::class::table]
[list_begin definitions]
[para] [emph METHODS]
[call class::table [method constructor] [arg args]]

120
src/doc/_module_textblock-0.1.2.tm.man

@ -0,0 +1,120 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin punkshell_module_textblock 0 0.1.2]
[copyright "2024"]
[titledesc {punk textblock functions}] [comment {-- Name section and table of contents description --}]
[moddesc {punk textblock}] [comment {-- Description at end of page heading --}]
[require textblock]
[keywords module ansi text layout colour table frame console terminal]
[description]
[para] Ansi-aware terminal textblock manipulation
[section Overview]
[para] overview of textblock
[subsection Concepts]
[para]
[subsection dependencies]
[para] packages used by textblock
[list_begin itemized]
[item] [package {Tcl 8.6-}]
[item] [package {punk::args}]
[item] [package {punk::char}]
[item] [package {punk::ansi}]
[item] [package {punk::lib}]
[item] [package {overtype}]
[item] [package {term::ansi::code::macros}]
[item] [package {textutil}]
[list_end]
[section API]
[subsection {Namespace textblock::class}]
[para] class definitions
[list_begin itemized] [comment {- textblock::class groupings -}]
[item]
[para] [emph {handler_classes}]
[list_begin enumerated]
[enum] CLASS [class textblock::class::table]
[list_begin definitions]
[para] Create a table suitable for terminal output with various border styles.
[para] The table can contain multiline cells and ANSI colour and text style attributes.
[para] Multiple header rows can be configured.
[para] Header rows can span columns - data rows cannot.
[para] The restriction on data rows is to maintain compatibility of the data with a Tcl matrix command
[para] (see get_matrix command)
[para] Both header and data cells can have various text and blockalignments configured.
[para] [emph METHODS]
[call class::table [method constructor] [arg args]]
[para] TODO - document the many options
[call class::table [method configure] [arg args]]
[para] get or set various table-level properties
[call class::table [method printmatrix] [arg matrix]]
[para] clear all table rows and print a matrix into the table
[para] The rowxcolumn structure must match
[call class::table [method as_matrix] [arg ?cmd?]]
[para] return a struct::matrix command representing the data portion of the table.
[call class::table [method add_column] [arg args]]
[call class::table [method column_count]]
[para] return the number of columns
[call class::table [method configure_column] [arg index_expression] [arg args]]
[para] - undocumented
[call class::table [method header_count]]
[para] return the number of header rows
[call class::table [method header_height] [arg header_index]]
[para] return the height of a header as the number of content-lines
[call class::table [method header_colspans]]
[para] Show the colspans configured for all headers
[call class::table [method configure_header]]
[para] - undocumented
[call class::table [method add_row]\
[arg valuelist]\
[opt "[option -minheight] [arg int_minheight]"]\
[opt "[option -maxheight] [arg int_maxheight]"]\
[opt "[option -ansibase] [arg ansicode]"]\
]
[call class::table [method configure_row]\
[arg index_expression]\
[opt "[option -minheight] [arg int_minheight]"]\
[opt "[option -maxheight] [arg int_maxheight]"]\
[opt "[option -ansibase] [arg ansicode]"]\
]
[call class::table [method row_count]]
[para] return the number of data rows in the table.
[call class::table [method row_clear]]
[para] Remove all rows without resetting column data.
[para] When adding new rows the number of entries will need to match the existing column count.
[call class::table [method clear]]
[para] Remove all row and column data.
[para] If a subsequent call to add_row is made it can contain any number of values.
[para] Further calls to add_row will need to contain the same number of values
[para] as the first call unless default values have been set for the missing columns (review - in flux).
[call class::table [method get_column_cells_by_index] [arg index_expression]]
[para] Return a dict with keys 'headers' and 'cells' giving column header and data values
[call class::table [method get_column_values_by_index] [arg index_expression]]
[para] List the cell values of a column from the data area only (no header values)
[call class::table [method debug]]
[para] display lots of debug information about how the table is constructed.
[call class::table [method column_width] [arg index_expression]]
[para] inner width of column ie the available cell-width without borders/separators
[call class::table [method column_width]]
[para] ordered list of column widths (inner widths)
[call class::table [method width]]
[para] width of the table including borders and separators
[para] calculate width based on assumption frame verticals are 1 screen-column wide
[para] (review - consider possibility of custom unicode double-wide frame?)
[call class::table [method spangroups]]
[para] return a dict keyed by column-index showing advanced span information
[para] (debug tool)
[call class::table [method print]]
[para] Return the table as text suitable for console display
[call class::table [method print_bodymatrix]]
[para] output the matrix string corresponding to the body data using the matrix 2string format
[para] this will be a table without borders,headers,title etc and will exclude additional ANSI applied due to table, row or column settings.
[para] If the original cell data itself contains ANSI - the output will still contain those ansi codes.
[list_end]
[list_end] [comment {- end enumeration provider_classes }]
[list_end] [comment {- end itemized list textblock::class groupings -}]
Already uniform blocks will join faster than textblock::join, and ragged blocks will join in a ragged manner
"
Already uniform blocks will join faster than textblock::join, and ragged blocks will join in a ragged manner
"
[manpage_end]

20
src/doc/_module_tomlish-1.1.1.tm.man

@ -3,12 +3,20 @@
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin tomlish_module_tomlish 0 1.1.1]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]
[titledesc {tomlish toml parser}] [comment {-- Name section and table of contents description --}]
[moddesc {tomlish}] [comment {-- Description at end of page heading --}]
[require tomlish]
[keywords module]
[keywords module parsing toml configuration]
[description]
[para] -
[para] tomlish is an intermediate representation of toml data in a tree structure (tagged lists representing type information)
[para] The design goals are for tomlish to be whitespace and comment preserving ie byte-for byte preservation during roundtrips from toml to tomlish and back to toml
[para] The tomlish representation can then be converted to a Tcl dict structure or to other formats such as json,
[para] although these other formats are generally unlikely to retain whitespace or comments
[para] A further goal is to allow at least a useful subset of in-place editing operations which also preserve whitespace and comments.
[para] e.g leaf key value editing, and table reordering/sorting, key-renaming at any level, key insertions/deletions
[para] The API for editing (tomldoc object?) may require explicit setting of type if accessing an existing key
[para] e.g setting a key that already exists and is a different type (especially if nested structure such as a table or array)
[para] will need a -type option (-force ?) to force overriding with another type such as an int.
[section Overview]
[para] overview of tomlish
[subsection Concepts]
@ -20,10 +28,6 @@
[item] [package {struct::stack}]
[list_end]
[section API]
[subsection {Namespace tomlish::class}]
[para] class definitions
[list_begin enumerated]
[list_end] [comment {--- end class enumeration ---}]
[subsection {Namespace tomlish}]
[para] Core API functions for tomlish
[list_begin definitions]

6
src/doc/punk/_module_aliascore-0.1.0.tm.man

@ -1,12 +1,12 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::aliascore 0 0.1.0]
[manpage_begin punkshell_module_punk::aliascore 0 0.1.0]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[titledesc {punkshell command aliases}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]
[require punk::aliascore]
[keywords module]
[keywords module alias]
[description]
[para] -
[section Overview]

4
src/doc/punk/_module_ansi-0.1.1.tm.man

@ -74,6 +74,7 @@
[para]The following example shows how to do this manually, emitting the string blah at screen position 10,10 and emitting DONE back at the line we started:
[para][example {punk::ansi::move_emit 10 10 blah {*}[punk::console::get_cursor_pos_list] DONE}]
[para]A string created by any move_emit_return for punk::ansi would not behave in an intuitive manner compared to other punk::ansi move functions - so is deliberately omitted.
[call [fun move_emitblock] [arg row] [arg col] [arg textblock]]
[call [fun move_forward] [arg n]]
[call [fun move_back] [arg n]]
[call [fun move_up] [arg n]]
@ -135,6 +136,9 @@ tput rmam
[call [fun ansistrip] [arg text] ]
[para]Return a string with ansi codes stripped out
[para]Alternate graphics chars are replaced with modern unicode equivalents (e.g boxdrawing glyphs)
[call [fun ansistrip] [arg text] ]
[para]Return a string with ansi codes stripped out
[para]Alternate graphics chars are replaced with modern unicode equivalents (e.g boxdrawing glyphs)
[call [fun ansistripraw] [arg text] ]
[para]Return a string with ansi codes stripped out
[para]Alternate graphics modes will be stripped rather than converted to unicode - exposing the raw ascii characters as they appear without graphics mode.

2
src/doc/punk/_module_assertion-0.1.0.tm.man

@ -1,7 +1,7 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::assertion 0 0.1.0]
[manpage_begin punkshell_module_punk::assertion 0 0.1.0]
[copyright "2024"]
[titledesc {assertion alternative to control::assert}] [comment {-- Name section and table of contents description --}]
[moddesc {per-namespace assertions with }] [comment {-- Description at end of page heading --}]

4
src/doc/punk/_module_basictelnet-0.1.0.tm.man

@ -1,12 +1,12 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::basictelnet 0 0.1.0]
[manpage_begin punkshell::basictelnet 0 0.1.0]
[copyright "2024"]
[titledesc {basic telnet client - DKF/Wiki}] [comment {-- Name section and table of contents description --}]
[moddesc {basic telnet client}] [comment {-- Description at end of page heading --}]
[require punk::basictelnet]
[keywords module]
[keywords module telnet protocol console terminal]
[description]
[para] see https://wiki.tcl-lang.org/page/Tcl+Telnet
[section Overview]

45
src/doc/punk/_module_blockletter-0.1.0.tm.man

@ -0,0 +1,45 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin punkshell_module_punk::blockletter 0 0.1.0]
[copyright "2024"]
[titledesc {punk::blockletter frame-based large lettering test/logo}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]
[require punk::blockletter]
[keywords module]
[description]
[para] This is primarily designed to test large lettering using the block2 frametype which requires the right font support
[para] More reasonably sized block-lettering could be obtained using unicode half-blocks instead - but that doesn't allow the frame outline effect that block2 gives.
[para] Individual blocks have a minimum width of 4 columns and a minimum height of 2 rows (smallest element that can be fully framed)
[section Overview]
[para] overview of punk::blockletter
[subsection Concepts]
[para] -
[subsection dependencies]
[para] packages used by punk::blockletter
[list_begin itemized]
[item] [package {Tcl 8.6}]
[item] [package {textblock}]
[list_end]
[section API]
[subsection {Namespace punk::blockletter::class}]
[para] class definitions
if {[tcl::info::commands [tcl::namespace::current]::interface_sample1] eq ""} {
[list_begin enumerated]
[list_end] [comment {--- end class enumeration ---}]
}
}
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
[subsection {Namespace punk::blockletter}]
[para] Core API functions for punk::blockletter
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::blockletter ---}]
[subsection {Namespace punk::blockletter::lib}]
[para] Secondary functions that are part of the API
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::blockletter::lib ---}]
[section Internal]
tcl::namespace::eval punk::blockletter::system {
[subsection {Namespace punk::blockletter::system}]
[para] Internal functions that are not part of the API
[manpage_end]

36
src/doc/punk/_module_cesu-0.1.0.tm.man

@ -0,0 +1,36 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin punkshell_module_punk::cesu 0 0.1.0]
[copyright "2024"]
[titledesc {CESU compatibility ehcoding scheme for utf-16: 8-Bit (CESU-8) ??}] [comment {-- Name section and table of contents description --}]
[moddesc {CESU experimental}] [comment {-- Description at end of page heading --}]
[require punk::cesu]
[keywords module cesu encoding compatibility experimental unofficial]
[description]
[para] experimental
[section Overview]
[para] overview of punk::cesu
[subsection Concepts]
[para] cesu-8 may be mistaken for utf-8 if no supplementary chars present.
[para] see: https://www.unicode.org/reports/tr26/tr26-4.html
[para] Particulary note discouragement of use especially in external interchange.
[subsection dependencies]
[para] packages used by punk::cesu
[list_begin itemized]
[item] [package {Tcl 8.6}]
[list_end]
[section API]
[subsection {Namespace punk::cesu}]
[para] Core API functions for punk::cesu
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::cesu ---}]
[subsection {Namespace punk::cesu::lib}]
[para] Secondary functions that are part of the API
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::cesu::lib ---}]
[section Internal]
tcl::namespace::eval punk::cesu::system {
[subsection {Namespace punk::cesu::system}]
[para] Internal functions that are not part of the API
[manpage_end]

2
src/doc/punk/_module_experiment-0.1.0.tm.man

@ -1,7 +1,7 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::experiment 0 0.1.0]
[manpage_begin punkshell_module_punk::experiment 0 0.1.0]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]

2
src/doc/punk/_module_island-0.1.0.tm.man

@ -1,7 +1,7 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::island 0 0.1.0]
[manpage_begin punkshell_module_punk::island 0 0.1.0]
[copyright "2024"]
[titledesc {filesystem islands for safe interps}] [comment {-- Name section and table of contents description --}]
[moddesc {punk::island for safe interps}] [comment {-- Description at end of page heading --}]

17
src/doc/punk/_module_lib-0.1.1.tm.man

@ -52,11 +52,20 @@
[para]Sometimes the actual integer index is desired.
[para]We want to resolve the index used, without passing arbitrary expressions into the 'expr' function - which could have security risks.
[para]lindex_resolve will parse the index expression and return:
[para] a) -2 if the supplied index expression is below the lower bound for the supplied list. (< 0)
[para] b) -1 if the supplied index expression is above the upper bound for the supplied list. (> end)
[para] a) -3 if the supplied index expression is below the lower bound for the supplied list. (< 0)
[para] b) -2 if the supplied index expression is above the upper bound for the supplied list. (> end)
[para] We don't return -1 - as the similar function lindex_resolve_basic uses this to denote out of range at either end of the list
[para]Otherwise it will return an integer corresponding to the position in the list.
[para]This is in stark contrast to Tcl list function indices which will return empty strings for out or bounds indices, or in the case of lrange, return results anyway.
[para]Like Tcl list commands - it will produce an error if the form of the index is not acceptable
[para]For empty lists, end and end+x indices are considered to be out of bounds on the upper side - thus returning -2
[call [fun lindex_resolve_basic] [arg list] [arg index]]
[para] Accepts index of the forms accepted by Tcl's list commands. (e.g compound indices such as 3+1 end-2)
[para] returns -1 for out of range at either end, or a valid integer index
[para] Unlike lindex_resolve; lindex_resolve_basic can't determine if an out of range index was out of range at the lower or upper bound
[para] This is only likely to be faster than average over lindex_resolve for Tcl which has the builtin lseq command
[para] The performance advantage is more likely to be present when using compound indexes such as $x+1 or end-1
[para] For pure integer indices the performance should be equivalent
[call [fun K] [arg x] [arg y]]
[para]The K-combinator function - returns the first argument, x and discards y
[para]see [uri https://wiki.tcl-lang.org/page/K]
@ -123,13 +132,13 @@ but has the disadvantage of being slower for 'small' numbers and using more memo
[para]For an odd value of x - this will always return x
[call [fun gcd] [arg n] [arg m]]
[para]Return the greatest common divisor of m and n
[para]Straight from Lars Hellström's math::numtheory library in Tcllib
[para]Straight from Lars Hellström's math::numtheory library in Tcllib
[para]Graphical use:
[para]An a by b rectangle can be covered with square tiles of side-length c,
[para]only if c is a common divisor of a and b
[call [fun gcd] [arg n] [arg m]]
[para]Return the lowest common multiple of m and n
[para]Straight from Lars Hellström's math::numtheory library in Tcllib
[para]Straight from Lars Hellström's math::numtheory library in Tcllib
[para]
[call [fun commonDivisors] [arg x] [arg y]]
[para]Return a list of all the common factors of x and y

8
src/doc/punk/_module_packagepreference-0.1.0.tm.man

@ -1,12 +1,12 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::packagepreference 0 0.1.0]
[manpage_begin punkshell_module_punk::packagepreference 0 0.1.0]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]
[titledesc {punkshell package/module loading}] [comment {-- Name section and table of contents description --}]
[moddesc {package/module load}] [comment {-- Description at end of page heading --}]
[require punk::packagepreference]
[keywords module]
[keywords module package]
[description]
[para] -
[section Overview]

42
src/doc/punk/_module_rest-0.1.0.tm.man

@ -0,0 +1,42 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin punkshell_module_punk::rest 0 0.1.0]
[copyright "2024"]
[titledesc {punk::rest}] [comment {-- Name section and table of contents description --}]
[moddesc {experimental rest}] [comment {-- Description at end of page heading --}]
[require punk::rest]
[keywords module rest http]
[description]
[para] Experimental *basic rest as wrapper over http lib - use tcllib's rest package for a more complete implementation of a rest client
[section Overview]
[para] overview of punk::rest
[subsection Concepts]
[para] -
[subsection dependencies]
[para] packages used by punk::rest
[list_begin itemized]
[item] [package {Tcl 8.6}]
[list_end]
[section API]
[subsection {Namespace punk::rest::class}]
[para] class definitions
if {[tcl::info::commands [tcl::namespace::current]::interface_sample1] eq ""} {
[list_begin enumerated]
[list_end] [comment {--- end class enumeration ---}]
}
}
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
[subsection {Namespace punk::rest}]
[para] Core API functions for punk::rest
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::rest ---}]
[subsection {Namespace punk::rest::lib}]
[para] Secondary functions that are part of the API
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::rest::lib ---}]
[section Internal]
tcl::namespace::eval punk::rest::system {
[subsection {Namespace punk::rest::system}]
[para] Internal functions that are not part of the API
[manpage_end]

2
src/doc/punk/_module_sshrun-0.1.0.tm.man

@ -1,7 +1,7 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::sshrun 0 0.1.0]
[manpage_begin punkshell_module_punk::sshrun 0 0.1.0]
[copyright "2009"]
[titledesc {Tcl procedures to execute tcl scripts in remote hosts}] [comment {-- Name section and table of contents description --}]
[moddesc {punk::sshrun tclssh clone}] [comment {-- Description at end of page heading --}]

39
src/doc/punk/_module_trie-0.1.0.tm.man

@ -0,0 +1,39 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin punkshell_module_punk::trie 0 0.1.0]
[copyright "2010"]
[titledesc {punk::trie API}] [comment {-- Name section and table of contents description --}]
[moddesc {punk::trie}] [comment {-- Description at end of page heading --}]
[require punk::trie]
[keywords module datastructure trie]
[description] tcl trie implementation courtesy of CmcC (tcl wiki)
[para] -
[section Overview]
[para] overview of punk::trie
[subsection Concepts]
[para] -
[subsection dependencies]
[para] packages used by punk::trie
[list_begin itemized]
[item] [package {Tcl 8.6}]
[list_end]
[section API]
[subsection {Namespace punk::trie}]
[para] Core API functions for punk::trie
[list_begin enumerated]
[enum] CLASS [class trieclass]
[list_begin definitions]
[call class::trieclass [method matches] [arg t] [arg what]]
[para] search for longest prefix, return matching prefix, element and suffix
[list_end] [comment {--- end definitions ---}]
[list_end] [comment {--- end class enumeration ---}]
[subsection {Namespace punk::trie::lib}]
[para] Secondary functions that are part of the API
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::trie::lib ---}]
[section Internal]
tcl::namespace::eval punk::trie::system {
[subsection {Namespace punk::trie::system}]
[para] Internal functions that are not part of the API
[manpage_end]

4
src/doc/punk/_module_uc-0.1.0.tm.man

@ -1,12 +1,12 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::uc 0 0.1.0]
[manpage_begin punkshell_module_punk::uc 0 0.1.0]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]
[require punk::uc]
[keywords module]
[keywords module unofficial unicode wcswidth]
[description]
[para] -
[section Overview]

50
src/doc/punk/_module_winlnk-0.1.0.tm.man

@ -0,0 +1,50 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin punkshell_module_punk::winlnk 0 0.1.0]
[copyright "2024"]
[titledesc {windows shortcut .lnk library}] [comment {-- Name section and table of contents description --}]
[moddesc {punk::winlnk}] [comment {-- Description at end of page heading --}]
[require punk::winlnk]
[keywords module shortcut lnk parse windows crossplatform]
[description]
[para] Tools for reading windows shortcuts (.lnk files) on any platform
[section Overview]
[para] overview of punk::winlnk
[subsection Concepts]
[para] Windows shortcuts are a binary format file with a .lnk extension
[para] Shell Link (.LNK) Binary File Format is documented in [lb]MS_SHLLINK[rb].pdf published by Microsoft.
[para] Revision 8.0 published 2024-04-23
[subsection dependencies]
[para] packages used by punk::winlnk
[list_begin itemized]
[item] [package {Tcl 8.6}]
[list_end]
[section API]
[subsection {Namespace punk::winlnk::class}]
[para] class definitions
if {[tcl::info::commands [tcl::namespace::current]::interface_sample1] eq ""} {
[list_begin enumerated]
[list_end] [comment {--- end class enumeration ---}]
}
}
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
[subsection {Namespace punk::winlnk}]
[para] Core API functions for punk::winlnk
[list_begin definitions]
[call [fun file_check_header] [arg path] ]
[para]Return 0|1
[para]Determines if the .lnk file specified in path has a valid header for a windows shortcut
[call [fun file_get_info] [arg path] ]
[para] Return a dict of info obtained by parsing the binary data in a windows .lnk file
[para] If the .lnk header check fails, then the .lnk file probably isn't really a shortcut file and the dictionary will contain an 'error' key
[list_end] [comment {--- end definitions namespace punk::winlnk ---}]
[subsection {Namespace punk::winlnk::lib}]
[para] Secondary functions that are part of the API
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::winlnk::lib ---}]
[section Internal]
tcl::namespace::eval punk::winlnk::system {
[subsection {Namespace punk::winlnk::system}]
[para] Internal functions that are not part of the API
[manpage_end]

66
src/doc/punk/_module_zip-0.1.1.tm.man

@ -0,0 +1,66 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin punkshell_module_punk::zip 0 0.1.1]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]
[require punk::zip]
[keywords module zip fileformat]
[description]
[para] -
[section Overview]
[para] overview of punk::zip
[subsection Concepts]
[para] -
[subsection dependencies]
[para] packages used by punk::zip
[list_begin itemized]
[item] [package {Tcl 8.6}]
[item] [package {punk::args}]
[list_end]
[section API]
[subsection {Namespace punk::zip}]
[para] Core API functions for punk::zip
[list_begin definitions]
[call [fun Timet_to_dos] [arg time_t]]
[para] convert a unix timestamp into a DOS timestamp for ZIP times.
[example {
DOS timestamps are 32 bits split into bit regions as follows:
24 16 8 0
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|Y|Y|Y|Y|Y|Y|Y|m| |m|m|m|d|d|d|d|d| |h|h|h|h|h|m|m|m| |m|m|m|s|s|s|s|s|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
}]
[call [fun walk] [arg ?options?] [arg base]]
[para] Walk a directory tree rooted at base
[para] the -excludes list can be a set of glob expressions to match against files and avoid
[para] e.g
[example {
punk::zip::walk -exclude {CVS/* *~.#*} library
}]
[call [fun Addentry] [arg zipchan] [arg base] [arg path] [arg ?comment?]]
[para] Add a single file to a zip archive
[para] The zipchan channel should already be open and binary.
[para] You can provide a -comment for the file.
[para] The return value is the central directory record that will need to be used when finalizing the zip archive.
[call [fun mkzip]\
[opt "[option -offsettype] [arg offsettype]"]\
[opt "[option -return] [arg returntype]"]\
[opt "[option -zipkit] [arg 0|1]"]\
[opt "[option -runtime] [arg preamble_filename]"]\
[opt "[option -comment] [arg zipfilecomment]"]\
[opt "[option -directory] [arg dir_to_zip]"]\
[opt "[option -base] [arg archive_root]"]\
[opt "[option -exclude] [arg globlist]"]\
[arg zipfilename]\
[arg ?glob...?]]
[para] Create a zip archive in 'zipfilename'
[para] If a file already exists, an error will be raised.
[para] Call 'punk::zip::mkzip' with no arguments for usage display.
[list_end] [comment {--- end definitions namespace punk::zip ---}]
[subsection {Namespace punk::zip::lib}]
[para] Secondary functions that are part of the API
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::zip::lib ---}]
[manpage_end]

38
src/doc/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.man

@ -1,9 +1,45 @@
[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin punkshell_module_scriptwrap 0 0.1.0]
[copyright "2024"]
[titledesc {scriptwrap polyglot tool}] [comment {-- Name section and table of contents description --}]
[moddesc {scriptwrap tool}] [comment {-- Description at end of page heading --}]
[require punk::mix::commandset::scriptwrap]
[keywords module commandset launcher scriptwrap]
[description]
[para] -
[section Overview]
[para] overview of scriptwrap
[subsection Concepts]
[para] -
[subsection dependencies]
[para] packages used by poshinfo
[list_begin itemized]
[item] [package {Tcl 8.6}]
[item] [package {punk::lib}]
[item] [package {punk::args}]
[item] [package {punk::mix}]
[item] [package {punk::base}]
[item] [package {punk::fileline}]
[list_end]
[section API]
[subsection {Namespace punk::mix::commandset::scriptwrap}]
[para] Core API functions for punk::mix::commandset::scriptwrap
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::mix::commandset::scriptwrap ---}]
[subsection {Namespace punk::mix::commandset::scriptwrap::lib}]
[para] Library API functions for punk::mix::commandset::scriptwrap
[list_begin definitions]
[call [fun get_wrapper_folders] [arg args] ]
[para] Return list of dicts representing wrapper folders. keys: basefolder sourceinfo
[para] Return list of dicts representing wrapper folders in the project. keys: basefolder sourceinfo
[para] Arguments:
[list_begin arguments]
[arg_def string args] name-value pairs -scriptpath <path>
[list_end]
[list_end] [comment {--- end definitions namespace punk::mix::commandset::scriptwrap::lib ---}]
[subsection {Namespace punk::mix::commandset::scriptwrap::batchlib}]
[para] Utility funcions for processing windows .bat files
[list_begin definitions]
[list_end] [comment {--- end definitions namespace punk::mix::commandset::scriptwrap::batchlib ---}]
[manpage_end]

6
src/doc/punk/nav/_module_fs-0.1.0.tm.man

@ -3,10 +3,10 @@
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::nav::fs 0 0.1.0]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]
[titledesc {punk::nav::fs console filesystem navigation}] [comment {-- Name section and table of contents description --}]
[moddesc {fs nav}] [comment {-- Description at end of page heading --}]
[require punk::nav::fs]
[keywords module]
[keywords module filesystem terminal]
[description]
[para] -
[section Overview]

8
src/doc/punk/repl/_module_codethread-0.1.0.tm.man

@ -3,12 +3,12 @@
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin shellspy_module_punk::repl::codethread 0 0.1.0]
[copyright "2024"]
[titledesc {Module API}] [comment {-- Name section and table of contents description --}]
[moddesc {-}] [comment {-- Description at end of page heading --}]
[titledesc {Module repl codethread}] [comment {-- Name section and table of contents description --}]
[moddesc {codethread for repl - root interpreter}] [comment {-- Description at end of page heading --}]
[require punk::repl::codethread]
[keywords module]
[keywords module repl]
[description]
[para] -
[para] This is part of the infrastructure required for the punk::repl to operate
[section Overview]
[para] overview of punk::repl::codethread
[subsection Concepts]

4
src/embedded/man/files/_module_argparsingtest-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_argparsingtest-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_argparsingtest" 0 0\&.1\&.0 doc "-"
.TH "punkshell_module_argparsingtest" 0 0\&.1\&.0 doc "-"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_argparsingtest \- Module API
punkshell_module_argparsingtest \- Module API
.SH SYNOPSIS
package require \fBargparsingtest \fR
.sp

383
src/embedded/man/files/_module_fauxlink-0.1.1.tm.n

@ -0,0 +1,383 @@
'\"
'\" Generated from file '_module_fauxlink-0\&.1\&.1\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "fauxlink_module_fauxlink" 0 0\&.1\&.1 doc "fauxlink \&.fxlnk"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
.\" .AP type name in/out ?indent?
.\" Start paragraph describing an argument to a library procedure.
.\" type is type of argument (int, etc.), in/out is either "in", "out",
.\" or "in/out" to describe whether procedure reads or modifies arg,
.\" and indent is equivalent to second arg of .IP (shouldn't ever be
.\" needed; use .AS below instead)
.\"
.\" .AS ?type? ?name?
.\" Give maximum sizes of arguments for setting tab stops. Type and
.\" name are examples of largest possible arguments that will be passed
.\" to .AP later. If args are omitted, default tab stops are used.
.\"
.\" .BS
.\" Start box enclosure. From here until next .BE, everything will be
.\" enclosed in one large box.
.\"
.\" .BE
.\" End of box enclosure.
.\"
.\" .CS
.\" Begin code excerpt.
.\"
.\" .CE
.\" End code excerpt.
.\"
.\" .VS ?version? ?br?
.\" Begin vertical sidebar, for use in marking newly-changed parts
.\" of man pages. The first argument is ignored and used for recording
.\" the version when the .VS was added, so that the sidebars can be
.\" found and removed when they reach a certain age. If another argument
.\" is present, then a line break is forced before starting the sidebar.
.\"
.\" .VE
.\" End of vertical sidebar.
.\"
.\" .DS
.\" Begin an indented unfilled display.
.\"
.\" .DE
.\" End of indented unfilled display.
.\"
.\" .SO ?manpage?
.\" Start of list of standard options for a Tk widget. The manpage
.\" argument defines where to look up the standard options; if
.\" omitted, defaults to "options". The options follow on successive
.\" lines, in three columns separated by tabs.
.\"
.\" .SE
.\" End of list of standard options for a Tk widget.
.\"
.\" .OP cmdName dbName dbClass
.\" Start of description of a specific option. cmdName gives the
.\" option's name as specified in the class command, dbName gives
.\" the option's name in the option database, and dbClass gives
.\" the option's class in the option database.
.\"
.\" .UL arg1 arg2
.\" Print arg1 underlined, then print arg2 normally.
.\"
.\" .QW arg1 ?arg2?
.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation).
.\"
.\" .PQ arg1 ?arg2?
.\" Print an open parenthesis, arg1 in quotes, then arg2 normally
.\" (for trailing punctuation) and then a closing parenthesis.
.\"
.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
.if t .wh -1.3i ^B
.nr ^l \n(.l
.ad b
.\" # Start an argument description
.de AP
.ie !"\\$4"" .TP \\$4
.el \{\
. ie !"\\$2"" .TP \\n()Cu
. el .TP 15
.\}
.ta \\n()Au \\n()Bu
.ie !"\\$3"" \{\
\&\\$1 \\fI\\$2\\fP (\\$3)
.\".b
.\}
.el \{\
.br
.ie !"\\$2"" \{\
\&\\$1 \\fI\\$2\\fP
.\}
.el \{\
\&\\fI\\$1\\fP
.\}
.\}
..
.\" # define tabbing values for .AP
.de AS
.nr )A 10n
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
.nr )B \\n()Au+15n
.\"
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
.nr )C \\n()Bu+\\w'(in/out)'u+2n
..
.AS Tcl_Interp Tcl_CreateInterp in/out
.\" # BS - start boxed text
.\" # ^y = starting y location
.\" # ^b = 1
.de BS
.br
.mk ^y
.nr ^b 1u
.if n .nf
.if n .ti 0
.if n \l'\\n(.lu\(ul'
.if n .fi
..
.\" # BE - end boxed text (draw box now)
.de BE
.nf
.ti 0
.mk ^t
.ie n \l'\\n(^lu\(ul'
.el \{\
.\" Draw four-sided box normally, but don't draw top of
.\" box if the box started on an earlier page.
.ie !\\n(^b-1 \{\
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.el \}\
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.\}
.fi
.br
.nr ^b 0
..
.\" # VS - start vertical sidebar
.\" # ^Y = starting y location
.\" # ^v = 1 (for troff; for nroff this doesn't matter)
.de VS
.if !"\\$2"" .br
.mk ^Y
.ie n 'mc \s12\(br\s0
.el .nr ^v 1u
..
.\" # VE - end of vertical sidebar
.de VE
.ie n 'mc
.el \{\
.ev 2
.nf
.ti 0
.mk ^t
\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
.sp -1
.fi
.ev
.\}
.nr ^v 0
..
.\" # Special macro to handle page bottom: finish off current
.\" # box/sidebar if in box/sidebar mode, then invoked standard
.\" # page bottom macro.
.de ^B
.ev 2
'ti 0
'nf
.mk ^t
.if \\n(^b \{\
.\" Draw three-sided box if this is the box's first page,
.\" draw two sides but no top otherwise.
.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.\}
.if \\n(^v \{\
.nr ^x \\n(^tu+1v-\\n(^Yu
\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
.\}
.bp
'fi
.ev
.if \\n(^b \{\
.mk ^y
.nr ^b 2
.\}
.if \\n(^v \{\
.mk ^Y
.\}
..
.\" # DS - begin display
.de DS
.RS
.nf
.sp
..
.\" # DE - end display
.de DE
.fi
.RE
.sp
..
.\" # SO - start of list of standard options
.de SO
'ie '\\$1'' .ds So \\fBoptions\\fR
'el .ds So \\fB\\$1\\fR
.SH "STANDARD OPTIONS"
.LP
.nf
.ta 5.5c 11c
.ft B
..
.\" # SE - end of list of standard options
.de SE
.fi
.ft R
.LP
See the \\*(So manual entry for details on the standard options.
..
.\" # OP - start of full description for a single option
.de OP
.LP
.nf
.ta 4c
Command-Line Name: \\fB\\$1\\fR
Database Name: \\fB\\$2\\fR
Database Class: \\fB\\$3\\fR
.fi
.IP
..
.\" # CS - begin code excerpt
.de CS
.RS
.nf
.ta .25i .5i .75i 1i
..
.\" # CE - end code excerpt
.de CE
.fi
.RE
..
.\" # UL - underline word
.de UL
\\$1\l'|0\(ul'\\$2
..
.\" # QW - apply quotation marks to word
.de QW
.ie '\\*(lq'"' ``\\$1''\\$2
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\$2
..
.\" # PQ - apply parens and quotation marks to word
.de PQ
.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
.\"" fix emacs highlighting
.el (\\*(lq\\$1\\*(rq\\$2)\\$3
..
.\" # QR - quoted range
.de QR
.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
..
.\" # MT - "empty" string
.de MT
.QW ""
..
.BS
.SH NAME
fauxlink_module_fauxlink \- faux link application shortcuts
.SH SYNOPSIS
package require \fBfauxlink \fR
.sp
.BE
.SH DESCRIPTION
.PP
A cross platform shortcut/symlink alternative\&.
.PP
Unapologetically ugly - but practical in certain circumstances\&.
.PP
A solution is required for application-driven filesystem links that survives cross platform moves as well as
.PP
archiving and packaging systems\&.
.PP
The target is specified in a minimally-encoded form in the filename itself - but still human readable\&.
.PP
format of name <nominalname>#<encodedtarget>\&.fxlnk
.PP
where <nominalname> can be empty - then the effective nominal name is the tail of the <encodedtarget>
.PP
The + symbol substitutes for forward-slashes\&.
.PP
Other chars can be encoded using url-like encoding - (but only up to %7E !)
.PP
We deliberately treat higher % sequences literally\&.
.PP
This means actual uri::urn encoded unicode sequences (e\&.g %E2%99%A5 [heart]) can remain literal for linking to urls\&.
.PP
e\&.g if an actual + or # is required in a filename or path segment they can be encoded as %2B & %23
.PP
e\&.g a link to a file file#A\&.txt in parent dir could be:
.PP
file%23A\&.txt#\&.\&.+file%23A\&.txt\&.fxlnk
.PP
or equivalently (but obviously affecting sorting) #\&.\&.+file%23A\&.txt\&.fxlnk
.PP
The <nominalname> can be unrelated to the actual target
.PP
e\&.g datafile\&.dat#\&.\&.+file%23A\&.txt\&.fxlnk
.PP
This system has no filesystem support - and must be completely application driven\&.
.PP
This can be useful for example in application test packages which may be tarred or zipped and moved cross platform\&.
.PP
The target being fully specified in the name means the file doesn't have to be read for the target to be determined
.PP
Extensions to behaviour should be added in the file as text data in Toml format,
.PP
with custom data being under a single application-chosen table name
.PP
The toplevel Toml table [fauxlink] is reserved for core extensions to this system\&.
.PP
Aside from the 2 used for delimiting (+ #)
.PP
certain characters which might normally be allowed in filesystems are required to be encoded
.PP
e\&.g space and tab are required to be %20 %09
.PP
Others that require encoding are: * ? \\ / | : ; " < >
.PP
The nul character in raw form, when detected, is always mapped away to the empty string - as very few filesystems support it\&.
.PP
Control characters and other punctuation is optional to encode\&.
.PP
Generally utf-8 should be used where possible and unicode characters can often be left unencoded on modern systems\&.
.PP
Where encoding of unicode is desired in the nominalname,encodedtarget,tag or comment portions it can be specified as %UXXXXXXXX
.PP
There must be between 1 and 8 X digits following the %U\&. Interpretation of chars following %U stops at the first non-hex character\&.
.PP
This means %Utest would not get any translation as there were no hex digits so it would come out as %Utest
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
.SH OVERVIEW
.PP
overview of fauxlink
.SS CONCEPTS
.PP
-
.SS DEPENDENCIES
.PP
packages used by fauxlink
.IP \(bu
\fBTcl 8\&.6-\fR
.PP
.SH API
.SS "NAMESPACE FAUXLINK::CLASS"
.PP
class definitions
.PP
.SS "NAMESPACE FAUXLINK"
.PP
Core API functions for fauxlink
.PP
.SS "NAMESPACE FAUXLINK::LIB"
.PP
Secondary functions that are part of the API
.PP
.SH INTERNAL
.SS "NAMESPACE FAUXLINK::SYSTEM"
.PP
Internal functions that are not part of the API
.SH KEYWORDS
fake, faux, shortcut, symlink, toml
.SH COPYRIGHT
.nf
Copyright (c) 2024
.fi

4
src/embedded/man/files/_module_modpod-0.1.0.tm.n → src/embedded/man/files/_module_modpod-0.1.2.tm.n

@ -1,8 +1,8 @@
'\"
'\" Generated from file '_module_modpod-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Generated from file '_module_modpod-0\&.1\&.2\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "modpod_module_modpod" 0 0\&.1\&.0 doc "-"
.TH "modpod_module_modpod" 0 0\&.1\&.2 doc "-"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"

2
src/embedded/man/files/_module_overtype-1.6.5.tm.n

@ -313,7 +313,7 @@ Core API functions for overtype
.TP
\fBovertype::renderspace\fR \fIargs\fR
.sp
usage: ?-transparent [0|1]? ?-overflow [1|0]? ?-ellipsis [1|0]? ?-ellipsistext \&.\&.\&.? undertext overtext
usage: ?-transparent [0|1]? ?-expand_right [1|0]? ?-ellipsis [1|0]? ?-ellipsistext \&.\&.\&.? undertext overtext
.TP
\fBovertype::renderline\fR \fIargs\fR
.sp

11
src/embedded/man/files/_module_poshinfo-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_poshinfo-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_poshinfo" 0 0\&.1\&.0 doc "-"
.TH "punkshell_module_poshinfo" 0 0\&.1\&.0 doc "POSH-related prompt tool"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_poshinfo \- Module API
punkshell_module_poshinfo \- poshinfo prompt theme tool
.SH SYNOPSIS
package require \fBposhinfo \fR
.sp
@ -300,11 +300,7 @@ packages used by poshinfo
.SS "NAMESPACE POSHINFO::CLASS"
.PP
class definitions
if { eq ""} {
.PP
}
}
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
.SS "NAMESPACE POSHINFO"
.PP
Core API functions for poshinfo
@ -314,12 +310,11 @@ Core API functions for poshinfo
Secondary functions that are part of the API
.PP
.SH INTERNAL
tcl::namespace::eval poshinfo::system {
.SS "NAMESPACE POSHINFO::SYSTEM"
.PP
Internal functions that are not part of the API
.SH KEYWORDS
module
POSH, console, module, prompt, prompt theme, terminal, theme
.SH COPYRIGHT
.nf
Copyright (c) 2024

2
src/embedded/man/files/_module_textblock-0.1.1.tm.n

@ -320,7 +320,7 @@ class definitions
\fIhandler_classes\fR
.RS
.IP [1]
CLASS \fBinterface_caphandler\&.registry\fR
CLASS \fBtextblock::class::table\fR
.RS
.sp
\fIMETHODS\fR

512
src/embedded/man/files/_module_textblock-0.1.2.tm.n

@ -0,0 +1,512 @@
'\"
'\" Generated from file '_module_textblock-0\&.1\&.2\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "punkshell_module_textblock" 0 0\&.1\&.2 doc "punk textblock"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
.\" .AP type name in/out ?indent?
.\" Start paragraph describing an argument to a library procedure.
.\" type is type of argument (int, etc.), in/out is either "in", "out",
.\" or "in/out" to describe whether procedure reads or modifies arg,
.\" and indent is equivalent to second arg of .IP (shouldn't ever be
.\" needed; use .AS below instead)
.\"
.\" .AS ?type? ?name?
.\" Give maximum sizes of arguments for setting tab stops. Type and
.\" name are examples of largest possible arguments that will be passed
.\" to .AP later. If args are omitted, default tab stops are used.
.\"
.\" .BS
.\" Start box enclosure. From here until next .BE, everything will be
.\" enclosed in one large box.
.\"
.\" .BE
.\" End of box enclosure.
.\"
.\" .CS
.\" Begin code excerpt.
.\"
.\" .CE
.\" End code excerpt.
.\"
.\" .VS ?version? ?br?
.\" Begin vertical sidebar, for use in marking newly-changed parts
.\" of man pages. The first argument is ignored and used for recording
.\" the version when the .VS was added, so that the sidebars can be
.\" found and removed when they reach a certain age. If another argument
.\" is present, then a line break is forced before starting the sidebar.
.\"
.\" .VE
.\" End of vertical sidebar.
.\"
.\" .DS
.\" Begin an indented unfilled display.
.\"
.\" .DE
.\" End of indented unfilled display.
.\"
.\" .SO ?manpage?
.\" Start of list of standard options for a Tk widget. The manpage
.\" argument defines where to look up the standard options; if
.\" omitted, defaults to "options". The options follow on successive
.\" lines, in three columns separated by tabs.
.\"
.\" .SE
.\" End of list of standard options for a Tk widget.
.\"
.\" .OP cmdName dbName dbClass
.\" Start of description of a specific option. cmdName gives the
.\" option's name as specified in the class command, dbName gives
.\" the option's name in the option database, and dbClass gives
.\" the option's class in the option database.
.\"
.\" .UL arg1 arg2
.\" Print arg1 underlined, then print arg2 normally.
.\"
.\" .QW arg1 ?arg2?
.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation).
.\"
.\" .PQ arg1 ?arg2?
.\" Print an open parenthesis, arg1 in quotes, then arg2 normally
.\" (for trailing punctuation) and then a closing parenthesis.
.\"
.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
.if t .wh -1.3i ^B
.nr ^l \n(.l
.ad b
.\" # Start an argument description
.de AP
.ie !"\\$4"" .TP \\$4
.el \{\
. ie !"\\$2"" .TP \\n()Cu
. el .TP 15
.\}
.ta \\n()Au \\n()Bu
.ie !"\\$3"" \{\
\&\\$1 \\fI\\$2\\fP (\\$3)
.\".b
.\}
.el \{\
.br
.ie !"\\$2"" \{\
\&\\$1 \\fI\\$2\\fP
.\}
.el \{\
\&\\fI\\$1\\fP
.\}
.\}
..
.\" # define tabbing values for .AP
.de AS
.nr )A 10n
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
.nr )B \\n()Au+15n
.\"
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
.nr )C \\n()Bu+\\w'(in/out)'u+2n
..
.AS Tcl_Interp Tcl_CreateInterp in/out
.\" # BS - start boxed text
.\" # ^y = starting y location
.\" # ^b = 1
.de BS
.br
.mk ^y
.nr ^b 1u
.if n .nf
.if n .ti 0
.if n \l'\\n(.lu\(ul'
.if n .fi
..
.\" # BE - end boxed text (draw box now)
.de BE
.nf
.ti 0
.mk ^t
.ie n \l'\\n(^lu\(ul'
.el \{\
.\" Draw four-sided box normally, but don't draw top of
.\" box if the box started on an earlier page.
.ie !\\n(^b-1 \{\
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.el \}\
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.\}
.fi
.br
.nr ^b 0
..
.\" # VS - start vertical sidebar
.\" # ^Y = starting y location
.\" # ^v = 1 (for troff; for nroff this doesn't matter)
.de VS
.if !"\\$2"" .br
.mk ^Y
.ie n 'mc \s12\(br\s0
.el .nr ^v 1u
..
.\" # VE - end of vertical sidebar
.de VE
.ie n 'mc
.el \{\
.ev 2
.nf
.ti 0
.mk ^t
\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
.sp -1
.fi
.ev
.\}
.nr ^v 0
..
.\" # Special macro to handle page bottom: finish off current
.\" # box/sidebar if in box/sidebar mode, then invoked standard
.\" # page bottom macro.
.de ^B
.ev 2
'ti 0
'nf
.mk ^t
.if \\n(^b \{\
.\" Draw three-sided box if this is the box's first page,
.\" draw two sides but no top otherwise.
.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.\}
.if \\n(^v \{\
.nr ^x \\n(^tu+1v-\\n(^Yu
\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
.\}
.bp
'fi
.ev
.if \\n(^b \{\
.mk ^y
.nr ^b 2
.\}
.if \\n(^v \{\
.mk ^Y
.\}
..
.\" # DS - begin display
.de DS
.RS
.nf
.sp
..
.\" # DE - end display
.de DE
.fi
.RE
.sp
..
.\" # SO - start of list of standard options
.de SO
'ie '\\$1'' .ds So \\fBoptions\\fR
'el .ds So \\fB\\$1\\fR
.SH "STANDARD OPTIONS"
.LP
.nf
.ta 5.5c 11c
.ft B
..
.\" # SE - end of list of standard options
.de SE
.fi
.ft R
.LP
See the \\*(So manual entry for details on the standard options.
..
.\" # OP - start of full description for a single option
.de OP
.LP
.nf
.ta 4c
Command-Line Name: \\fB\\$1\\fR
Database Name: \\fB\\$2\\fR
Database Class: \\fB\\$3\\fR
.fi
.IP
..
.\" # CS - begin code excerpt
.de CS
.RS
.nf
.ta .25i .5i .75i 1i
..
.\" # CE - end code excerpt
.de CE
.fi
.RE
..
.\" # UL - underline word
.de UL
\\$1\l'|0\(ul'\\$2
..
.\" # QW - apply quotation marks to word
.de QW
.ie '\\*(lq'"' ``\\$1''\\$2
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\$2
..
.\" # PQ - apply parens and quotation marks to word
.de PQ
.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
.\"" fix emacs highlighting
.el (\\*(lq\\$1\\*(rq\\$2)\\$3
..
.\" # QR - quoted range
.de QR
.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
..
.\" # MT - "empty" string
.de MT
.QW ""
..
.BS
.SH NAME
punkshell_module_textblock \- punk textblock functions
.SH SYNOPSIS
package require \fBtextblock \fR
.sp
class::table \fBconstructor\fR \fIargs\fR
.sp
class::table \fBconfigure\fR \fIargs\fR
.sp
class::table \fBprintmatrix\fR \fImatrix\fR
.sp
class::table \fBas_matrix\fR \fI?cmd?\fR
.sp
class::table \fBadd_column\fR \fIargs\fR
.sp
class::table \fBcolumn_count\fR
.sp
class::table \fBconfigure_column\fR \fIindex_expression\fR \fIargs\fR
.sp
class::table \fBheader_count\fR
.sp
class::table \fBheader_height\fR \fIheader_index\fR
.sp
class::table \fBheader_colspans\fR
.sp
class::table \fBconfigure_header\fR
.sp
class::table \fBadd_row\fR \fIvaluelist\fR ?\fB-minheight\fR \fIint_minheight\fR? ?\fB-maxheight\fR \fIint_maxheight\fR? ?\fB-ansibase\fR \fIansicode\fR?
.sp
class::table \fBconfigure_row\fR \fIindex_expression\fR ?\fB-minheight\fR \fIint_minheight\fR? ?\fB-maxheight\fR \fIint_maxheight\fR? ?\fB-ansibase\fR \fIansicode\fR?
.sp
class::table \fBrow_count\fR
.sp
class::table \fBrow_clear\fR
.sp
class::table \fBclear\fR
.sp
class::table \fBget_column_cells_by_index\fR \fIindex_expression\fR
.sp
class::table \fBget_column_values_by_index\fR \fIindex_expression\fR
.sp
class::table \fBdebug\fR
.sp
class::table \fBcolumn_width\fR \fIindex_expression\fR
.sp
class::table \fBcolumn_width\fR
.sp
class::table \fBwidth\fR
.sp
class::table \fBspangroups\fR
.sp
class::table \fBprint\fR
.sp
class::table \fBprint_bodymatrix\fR
.sp
.BE
.SH DESCRIPTION
.PP
Ansi-aware terminal textblock manipulation
.SH OVERVIEW
.PP
overview of textblock
.SS CONCEPTS
.PP
.SS DEPENDENCIES
.PP
packages used by textblock
.IP \(bu
\fBTcl 8\&.6-\fR
.IP \(bu
\fBpunk::args\fR
.IP \(bu
\fBpunk::char\fR
.IP \(bu
\fBpunk::ansi\fR
.IP \(bu
\fBpunk::lib\fR
.IP \(bu
\fBovertype\fR
.IP \(bu
\fBterm::ansi::code::macros\fR
.IP \(bu
\fBtextutil\fR
.PP
.SH API
.SS "NAMESPACE TEXTBLOCK::CLASS"
.PP
class definitions
.IP \(bu
.sp
\fIhandler_classes\fR
.RS
.IP [1]
CLASS \fBtextblock::class::table\fR
.RS
.sp
Create a table suitable for terminal output with various border styles\&.
.sp
The table can contain multiline cells and ANSI colour and text style attributes\&.
.sp
Multiple header rows can be configured\&.
.sp
Header rows can span columns - data rows cannot\&.
.sp
The restriction on data rows is to maintain compatibility of the data with a Tcl matrix command
.sp
(see get_matrix command)
.sp
Both header and data cells can have various text and blockalignments configured\&.
.sp
\fIMETHODS\fR
.TP
class::table \fBconstructor\fR \fIargs\fR
.sp
TODO - document the many options
.TP
class::table \fBconfigure\fR \fIargs\fR
.sp
get or set various table-level properties
.TP
class::table \fBprintmatrix\fR \fImatrix\fR
.sp
clear all table rows and print a matrix into the table
.sp
The rowxcolumn structure must match
.TP
class::table \fBas_matrix\fR \fI?cmd?\fR
.sp
return a struct::matrix command representing the data portion of the table\&.
.TP
class::table \fBadd_column\fR \fIargs\fR
.TP
class::table \fBcolumn_count\fR
.sp
return the number of columns
.TP
class::table \fBconfigure_column\fR \fIindex_expression\fR \fIargs\fR
.sp
- undocumented
.TP
class::table \fBheader_count\fR
.sp
return the number of header rows
.TP
class::table \fBheader_height\fR \fIheader_index\fR
.sp
return the height of a header as the number of content-lines
.TP
class::table \fBheader_colspans\fR
.sp
Show the colspans configured for all headers
.TP
class::table \fBconfigure_header\fR
.sp
- undocumented
.TP
class::table \fBadd_row\fR \fIvaluelist\fR ?\fB-minheight\fR \fIint_minheight\fR? ?\fB-maxheight\fR \fIint_maxheight\fR? ?\fB-ansibase\fR \fIansicode\fR?
.TP
class::table \fBconfigure_row\fR \fIindex_expression\fR ?\fB-minheight\fR \fIint_minheight\fR? ?\fB-maxheight\fR \fIint_maxheight\fR? ?\fB-ansibase\fR \fIansicode\fR?
.TP
class::table \fBrow_count\fR
.sp
return the number of data rows in the table\&.
.TP
class::table \fBrow_clear\fR
.sp
Remove all rows without resetting column data\&.
.sp
When adding new rows the number of entries will need to match the existing column count\&.
.TP
class::table \fBclear\fR
.sp
Remove all row and column data\&.
.sp
If a subsequent call to add_row is made it can contain any number of values\&.
.sp
Further calls to add_row will need to contain the same number of values
.sp
as the first call unless default values have been set for the missing columns (review - in flux)\&.
.TP
class::table \fBget_column_cells_by_index\fR \fIindex_expression\fR
.sp
Return a dict with keys 'headers' and 'cells' giving column header and data values
.TP
class::table \fBget_column_values_by_index\fR \fIindex_expression\fR
.sp
List the cell values of a column from the data area only (no header values)
.TP
class::table \fBdebug\fR
.sp
display lots of debug information about how the table is constructed\&.
.TP
class::table \fBcolumn_width\fR \fIindex_expression\fR
.sp
inner width of column ie the available cell-width without borders/separators
.TP
class::table \fBcolumn_width\fR
.sp
ordered list of column widths (inner widths)
.TP
class::table \fBwidth\fR
.sp
width of the table including borders and separators
.sp
calculate width based on assumption frame verticals are 1 screen-column wide
.sp
(review - consider possibility of custom unicode double-wide frame?)
.TP
class::table \fBspangroups\fR
.sp
return a dict keyed by column-index showing advanced span information
.sp
(debug tool)
.TP
class::table \fBprint\fR
.sp
Return the table as text suitable for console display
.TP
class::table \fBprint_bodymatrix\fR
.sp
output the matrix string corresponding to the body data using the matrix 2string format
.sp
this will be a table without borders,headers,title etc and will exclude additional ANSI applied due to table, row or column settings\&.
.sp
If the original cell data itself contains ANSI - the output will still contain those ansi codes\&.
.RE
.RE
.PP
Already uniform blocks will join faster than textblock::join, and ragged blocks will join in a ragged manner
"
Already uniform blocks will join faster than textblock::join, and ragged blocks will join in a ragged manner
"
.SH KEYWORDS
ansi, colour, console, frame, layout, module, table, terminal, text
.SH COPYRIGHT
.nf
Copyright (c) 2024
.fi

28
src/embedded/man/files/_module_tomlish-1.1.1.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_tomlish-1\&.1\&.1\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "tomlish_module_tomlish" 0 1\&.1\&.1 doc "-"
.TH "tomlish_module_tomlish" 0 1\&.1\&.1 doc "tomlish"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
tomlish_module_tomlish \- Module API
tomlish_module_tomlish \- tomlish toml parser
.SH SYNOPSIS
package require \fBtomlish \fR
.sp
@ -287,7 +287,23 @@ app::\fBencoder\fR \fIargs\fR
.BE
.SH DESCRIPTION
.PP
-
tomlish is an intermediate representation of toml data in a tree structure (tagged lists representing type information)
.PP
The design goals are for tomlish to be whitespace and comment preserving ie byte-for byte preservation during roundtrips from toml to tomlish and back to toml
.PP
The tomlish representation can then be converted to a Tcl dict structure or to other formats such as json,
.PP
although these other formats are generally unlikely to retain whitespace or comments
.PP
A further goal is to allow at least a useful subset of in-place editing operations which also preserve whitespace and comments\&.
.PP
e\&.g leaf key value editing, and table reordering/sorting, key-renaming at any level, key insertions/deletions
.PP
The API for editing (tomldoc object?) may require explicit setting of type if accessing an existing key
.PP
e\&.g setting a key that already exists and is a different type (especially if nested structure such as a table or array)
.PP
will need a -type option (-force ?) to force overriding with another type such as an int\&.
.SH OVERVIEW
.PP
overview of tomlish
@ -303,10 +319,6 @@ packages used by tomlish
\fBstruct::stack\fR
.PP
.SH API
.SS "NAMESPACE TOMLISH::CLASS"
.PP
class definitions
.PP
.SS "NAMESPACE TOMLISH"
.PP
Core API functions for tomlish
@ -358,7 +370,7 @@ This encoder is intended to be compatible with toml-test
Secondary functions that are part of the API
.PP
.SH KEYWORDS
module
configuration, module, parsing, toml
.SH COPYRIGHT
.nf
Copyright (c) 2024

6
src/embedded/man/files/punk/_module_aliascore-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_aliascore-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_punk::aliascore" 0 0\&.1\&.0 doc "-"
.TH "punkshell_module_punk::aliascore" 0 0\&.1\&.0 doc "-"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::aliascore \- Module API
punkshell_module_punk::aliascore \- punkshell command aliases
.SH SYNOPSIS
package require \fBpunk::aliascore \fR
.sp
@ -306,7 +306,7 @@ Secondary functions that are part of the API
.PP
Internal functions that are not part of the API
.SH KEYWORDS
module
alias, module
.SH COPYRIGHT
.nf
Copyright (c) 2024

12
src/embedded/man/files/punk/_module_ansi-0.1.1.tm.n

@ -304,6 +304,8 @@ package require \fBpunk::ansi \fR
.sp
\fBmove_emit\fR \fIrow\fR \fIcol\fR \fIdata\fR ?row col data\&.\&.\&.?
.sp
\fBmove_emitblock\fR \fIrow\fR \fIcol\fR \fItextblock\fR
.sp
\fBmove_forward\fR \fIn\fR
.sp
\fBmove_back\fR \fIn\fR
@ -360,6 +362,8 @@ package require \fBpunk::ansi \fR
.sp
\fBansistrip\fR \fItext\fR
.sp
\fBansistrip\fR \fItext\fR
.sp
\fBansistripraw\fR \fItext\fR
.sp
\fBis_sgr_reset\fR \fIcode\fR
@ -510,6 +514,8 @@ punk::ansi::move_emit 10 10 blah {*}[punk::console::get_cursor_pos_list] DONE
.sp
A string created by any move_emit_return for punk::ansi would not behave in an intuitive manner compared to other punk::ansi move functions - so is deliberately omitted\&.
.TP
\fBmove_emitblock\fR \fIrow\fR \fIcol\fR \fItextblock\fR
.TP
\fBmove_forward\fR \fIn\fR
.TP
\fBmove_back\fR \fIn\fR
@ -631,6 +637,12 @@ Return a string with ansi codes stripped out
.sp
Alternate graphics chars are replaced with modern unicode equivalents (e\&.g boxdrawing glyphs)
.TP
\fBansistrip\fR \fItext\fR
.sp
Return a string with ansi codes stripped out
.sp
Alternate graphics chars are replaced with modern unicode equivalents (e\&.g boxdrawing glyphs)
.TP
\fBansistripraw\fR \fItext\fR
.sp
Return a string with ansi codes stripped out

4
src/embedded/man/files/punk/_module_assertion-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_assertion-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_punk::assertion" 0 0\&.1\&.0 doc "per-namespace assertions with"
.TH "punkshell_module_punk::assertion" 0 0\&.1\&.0 doc "per-namespace assertions with"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::assertion \- assertion alternative to control::assert
punkshell_module_punk::assertion \- assertion alternative to control::assert
.SH SYNOPSIS
package require \fBpunk::assertion \fR
.sp

6
src/embedded/man/files/punk/_module_basictelnet-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_basictelnet-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_punk::basictelnet" 0 0\&.1\&.0 doc "basic telnet client"
.TH "punkshell::basictelnet" 0 0\&.1\&.0 doc "basic telnet client"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::basictelnet \- basic telnet client - DKF/Wiki
punkshell::basictelnet \- basic telnet client - DKF/Wiki
.SH SYNOPSIS
package require \fBpunk::basictelnet \fR
.sp
@ -310,7 +310,7 @@ Secondary functions that are part of the API
.PP
Internal functions that are not part of the API
.SH KEYWORDS
module
console, module, protocol, telnet, terminal
.SH COPYRIGHT
.nf
Copyright (c) 2024

329
src/embedded/man/files/punk/_module_blockletter-0.1.0.tm.n

@ -0,0 +1,329 @@
'\"
'\" Generated from file '_module_blockletter-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "punkshell_module_punk::blockletter" 0 0\&.1\&.0 doc "-"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
.\" .AP type name in/out ?indent?
.\" Start paragraph describing an argument to a library procedure.
.\" type is type of argument (int, etc.), in/out is either "in", "out",
.\" or "in/out" to describe whether procedure reads or modifies arg,
.\" and indent is equivalent to second arg of .IP (shouldn't ever be
.\" needed; use .AS below instead)
.\"
.\" .AS ?type? ?name?
.\" Give maximum sizes of arguments for setting tab stops. Type and
.\" name are examples of largest possible arguments that will be passed
.\" to .AP later. If args are omitted, default tab stops are used.
.\"
.\" .BS
.\" Start box enclosure. From here until next .BE, everything will be
.\" enclosed in one large box.
.\"
.\" .BE
.\" End of box enclosure.
.\"
.\" .CS
.\" Begin code excerpt.
.\"
.\" .CE
.\" End code excerpt.
.\"
.\" .VS ?version? ?br?
.\" Begin vertical sidebar, for use in marking newly-changed parts
.\" of man pages. The first argument is ignored and used for recording
.\" the version when the .VS was added, so that the sidebars can be
.\" found and removed when they reach a certain age. If another argument
.\" is present, then a line break is forced before starting the sidebar.
.\"
.\" .VE
.\" End of vertical sidebar.
.\"
.\" .DS
.\" Begin an indented unfilled display.
.\"
.\" .DE
.\" End of indented unfilled display.
.\"
.\" .SO ?manpage?
.\" Start of list of standard options for a Tk widget. The manpage
.\" argument defines where to look up the standard options; if
.\" omitted, defaults to "options". The options follow on successive
.\" lines, in three columns separated by tabs.
.\"
.\" .SE
.\" End of list of standard options for a Tk widget.
.\"
.\" .OP cmdName dbName dbClass
.\" Start of description of a specific option. cmdName gives the
.\" option's name as specified in the class command, dbName gives
.\" the option's name in the option database, and dbClass gives
.\" the option's class in the option database.
.\"
.\" .UL arg1 arg2
.\" Print arg1 underlined, then print arg2 normally.
.\"
.\" .QW arg1 ?arg2?
.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation).
.\"
.\" .PQ arg1 ?arg2?
.\" Print an open parenthesis, arg1 in quotes, then arg2 normally
.\" (for trailing punctuation) and then a closing parenthesis.
.\"
.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
.if t .wh -1.3i ^B
.nr ^l \n(.l
.ad b
.\" # Start an argument description
.de AP
.ie !"\\$4"" .TP \\$4
.el \{\
. ie !"\\$2"" .TP \\n()Cu
. el .TP 15
.\}
.ta \\n()Au \\n()Bu
.ie !"\\$3"" \{\
\&\\$1 \\fI\\$2\\fP (\\$3)
.\".b
.\}
.el \{\
.br
.ie !"\\$2"" \{\
\&\\$1 \\fI\\$2\\fP
.\}
.el \{\
\&\\fI\\$1\\fP
.\}
.\}
..
.\" # define tabbing values for .AP
.de AS
.nr )A 10n
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
.nr )B \\n()Au+15n
.\"
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
.nr )C \\n()Bu+\\w'(in/out)'u+2n
..
.AS Tcl_Interp Tcl_CreateInterp in/out
.\" # BS - start boxed text
.\" # ^y = starting y location
.\" # ^b = 1
.de BS
.br
.mk ^y
.nr ^b 1u
.if n .nf
.if n .ti 0
.if n \l'\\n(.lu\(ul'
.if n .fi
..
.\" # BE - end boxed text (draw box now)
.de BE
.nf
.ti 0
.mk ^t
.ie n \l'\\n(^lu\(ul'
.el \{\
.\" Draw four-sided box normally, but don't draw top of
.\" box if the box started on an earlier page.
.ie !\\n(^b-1 \{\
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.el \}\
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.\}
.fi
.br
.nr ^b 0
..
.\" # VS - start vertical sidebar
.\" # ^Y = starting y location
.\" # ^v = 1 (for troff; for nroff this doesn't matter)
.de VS
.if !"\\$2"" .br
.mk ^Y
.ie n 'mc \s12\(br\s0
.el .nr ^v 1u
..
.\" # VE - end of vertical sidebar
.de VE
.ie n 'mc
.el \{\
.ev 2
.nf
.ti 0
.mk ^t
\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
.sp -1
.fi
.ev
.\}
.nr ^v 0
..
.\" # Special macro to handle page bottom: finish off current
.\" # box/sidebar if in box/sidebar mode, then invoked standard
.\" # page bottom macro.
.de ^B
.ev 2
'ti 0
'nf
.mk ^t
.if \\n(^b \{\
.\" Draw three-sided box if this is the box's first page,
.\" draw two sides but no top otherwise.
.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.\}
.if \\n(^v \{\
.nr ^x \\n(^tu+1v-\\n(^Yu
\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
.\}
.bp
'fi
.ev
.if \\n(^b \{\
.mk ^y
.nr ^b 2
.\}
.if \\n(^v \{\
.mk ^Y
.\}
..
.\" # DS - begin display
.de DS
.RS
.nf
.sp
..
.\" # DE - end display
.de DE
.fi
.RE
.sp
..
.\" # SO - start of list of standard options
.de SO
'ie '\\$1'' .ds So \\fBoptions\\fR
'el .ds So \\fB\\$1\\fR
.SH "STANDARD OPTIONS"
.LP
.nf
.ta 5.5c 11c
.ft B
..
.\" # SE - end of list of standard options
.de SE
.fi
.ft R
.LP
See the \\*(So manual entry for details on the standard options.
..
.\" # OP - start of full description for a single option
.de OP
.LP
.nf
.ta 4c
Command-Line Name: \\fB\\$1\\fR
Database Name: \\fB\\$2\\fR
Database Class: \\fB\\$3\\fR
.fi
.IP
..
.\" # CS - begin code excerpt
.de CS
.RS
.nf
.ta .25i .5i .75i 1i
..
.\" # CE - end code excerpt
.de CE
.fi
.RE
..
.\" # UL - underline word
.de UL
\\$1\l'|0\(ul'\\$2
..
.\" # QW - apply quotation marks to word
.de QW
.ie '\\*(lq'"' ``\\$1''\\$2
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\$2
..
.\" # PQ - apply parens and quotation marks to word
.de PQ
.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
.\"" fix emacs highlighting
.el (\\*(lq\\$1\\*(rq\\$2)\\$3
..
.\" # QR - quoted range
.de QR
.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
..
.\" # MT - "empty" string
.de MT
.QW ""
..
.BS
.SH NAME
punkshell_module_punk::blockletter \- punk::blockletter frame-based large lettering test/logo
.SH SYNOPSIS
package require \fBpunk::blockletter \fR
.sp
.BE
.SH DESCRIPTION
.PP
This is primarily designed to test large lettering using the block2 frametype which requires the right font support
.PP
More reasonably sized block-lettering could be obtained using unicode half-blocks instead - but that doesn't allow the frame outline effect that block2 gives\&.
.PP
Individual blocks have a minimum width of 4 columns and a minimum height of 2 rows (smallest element that can be fully framed)
.SH OVERVIEW
.PP
overview of punk::blockletter
.SS CONCEPTS
.PP
-
.SS DEPENDENCIES
.PP
packages used by punk::blockletter
.IP \(bu
\fBTcl 8\&.6\fR
.IP \(bu
\fBtextblock\fR
.PP
.SH API
.SS "NAMESPACE PUNK::BLOCKLETTER::CLASS"
.PP
class definitions
if { eq ""} {
.PP
}
}
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
.SS "NAMESPACE PUNK::BLOCKLETTER"
.PP
Core API functions for punk::blockletter
.PP
.SS "NAMESPACE PUNK::BLOCKLETTER::LIB"
.PP
Secondary functions that are part of the API
.PP
.SH INTERNAL
tcl::namespace::eval punk::blockletter::system {
.SS "NAMESPACE PUNK::BLOCKLETTER::SYSTEM"
.PP
Internal functions that are not part of the API
.SH KEYWORDS
module
.SH COPYRIGHT
.nf
Copyright (c) 2024
.fi

319
src/embedded/man/files/punk/_module_cesu-0.1.0.tm.n

@ -0,0 +1,319 @@
'\"
'\" Generated from file '_module_cesu-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "punkshell_module_punk::cesu" 0 0\&.1\&.0 doc "CESU experimental"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
.\" .AP type name in/out ?indent?
.\" Start paragraph describing an argument to a library procedure.
.\" type is type of argument (int, etc.), in/out is either "in", "out",
.\" or "in/out" to describe whether procedure reads or modifies arg,
.\" and indent is equivalent to second arg of .IP (shouldn't ever be
.\" needed; use .AS below instead)
.\"
.\" .AS ?type? ?name?
.\" Give maximum sizes of arguments for setting tab stops. Type and
.\" name are examples of largest possible arguments that will be passed
.\" to .AP later. If args are omitted, default tab stops are used.
.\"
.\" .BS
.\" Start box enclosure. From here until next .BE, everything will be
.\" enclosed in one large box.
.\"
.\" .BE
.\" End of box enclosure.
.\"
.\" .CS
.\" Begin code excerpt.
.\"
.\" .CE
.\" End code excerpt.
.\"
.\" .VS ?version? ?br?
.\" Begin vertical sidebar, for use in marking newly-changed parts
.\" of man pages. The first argument is ignored and used for recording
.\" the version when the .VS was added, so that the sidebars can be
.\" found and removed when they reach a certain age. If another argument
.\" is present, then a line break is forced before starting the sidebar.
.\"
.\" .VE
.\" End of vertical sidebar.
.\"
.\" .DS
.\" Begin an indented unfilled display.
.\"
.\" .DE
.\" End of indented unfilled display.
.\"
.\" .SO ?manpage?
.\" Start of list of standard options for a Tk widget. The manpage
.\" argument defines where to look up the standard options; if
.\" omitted, defaults to "options". The options follow on successive
.\" lines, in three columns separated by tabs.
.\"
.\" .SE
.\" End of list of standard options for a Tk widget.
.\"
.\" .OP cmdName dbName dbClass
.\" Start of description of a specific option. cmdName gives the
.\" option's name as specified in the class command, dbName gives
.\" the option's name in the option database, and dbClass gives
.\" the option's class in the option database.
.\"
.\" .UL arg1 arg2
.\" Print arg1 underlined, then print arg2 normally.
.\"
.\" .QW arg1 ?arg2?
.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation).
.\"
.\" .PQ arg1 ?arg2?
.\" Print an open parenthesis, arg1 in quotes, then arg2 normally
.\" (for trailing punctuation) and then a closing parenthesis.
.\"
.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
.if t .wh -1.3i ^B
.nr ^l \n(.l
.ad b
.\" # Start an argument description
.de AP
.ie !"\\$4"" .TP \\$4
.el \{\
. ie !"\\$2"" .TP \\n()Cu
. el .TP 15
.\}
.ta \\n()Au \\n()Bu
.ie !"\\$3"" \{\
\&\\$1 \\fI\\$2\\fP (\\$3)
.\".b
.\}
.el \{\
.br
.ie !"\\$2"" \{\
\&\\$1 \\fI\\$2\\fP
.\}
.el \{\
\&\\fI\\$1\\fP
.\}
.\}
..
.\" # define tabbing values for .AP
.de AS
.nr )A 10n
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
.nr )B \\n()Au+15n
.\"
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
.nr )C \\n()Bu+\\w'(in/out)'u+2n
..
.AS Tcl_Interp Tcl_CreateInterp in/out
.\" # BS - start boxed text
.\" # ^y = starting y location
.\" # ^b = 1
.de BS
.br
.mk ^y
.nr ^b 1u
.if n .nf
.if n .ti 0
.if n \l'\\n(.lu\(ul'
.if n .fi
..
.\" # BE - end boxed text (draw box now)
.de BE
.nf
.ti 0
.mk ^t
.ie n \l'\\n(^lu\(ul'
.el \{\
.\" Draw four-sided box normally, but don't draw top of
.\" box if the box started on an earlier page.
.ie !\\n(^b-1 \{\
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.el \}\
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.\}
.fi
.br
.nr ^b 0
..
.\" # VS - start vertical sidebar
.\" # ^Y = starting y location
.\" # ^v = 1 (for troff; for nroff this doesn't matter)
.de VS
.if !"\\$2"" .br
.mk ^Y
.ie n 'mc \s12\(br\s0
.el .nr ^v 1u
..
.\" # VE - end of vertical sidebar
.de VE
.ie n 'mc
.el \{\
.ev 2
.nf
.ti 0
.mk ^t
\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
.sp -1
.fi
.ev
.\}
.nr ^v 0
..
.\" # Special macro to handle page bottom: finish off current
.\" # box/sidebar if in box/sidebar mode, then invoked standard
.\" # page bottom macro.
.de ^B
.ev 2
'ti 0
'nf
.mk ^t
.if \\n(^b \{\
.\" Draw three-sided box if this is the box's first page,
.\" draw two sides but no top otherwise.
.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.\}
.if \\n(^v \{\
.nr ^x \\n(^tu+1v-\\n(^Yu
\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
.\}
.bp
'fi
.ev
.if \\n(^b \{\
.mk ^y
.nr ^b 2
.\}
.if \\n(^v \{\
.mk ^Y
.\}
..
.\" # DS - begin display
.de DS
.RS
.nf
.sp
..
.\" # DE - end display
.de DE
.fi
.RE
.sp
..
.\" # SO - start of list of standard options
.de SO
'ie '\\$1'' .ds So \\fBoptions\\fR
'el .ds So \\fB\\$1\\fR
.SH "STANDARD OPTIONS"
.LP
.nf
.ta 5.5c 11c
.ft B
..
.\" # SE - end of list of standard options
.de SE
.fi
.ft R
.LP
See the \\*(So manual entry for details on the standard options.
..
.\" # OP - start of full description for a single option
.de OP
.LP
.nf
.ta 4c
Command-Line Name: \\fB\\$1\\fR
Database Name: \\fB\\$2\\fR
Database Class: \\fB\\$3\\fR
.fi
.IP
..
.\" # CS - begin code excerpt
.de CS
.RS
.nf
.ta .25i .5i .75i 1i
..
.\" # CE - end code excerpt
.de CE
.fi
.RE
..
.\" # UL - underline word
.de UL
\\$1\l'|0\(ul'\\$2
..
.\" # QW - apply quotation marks to word
.de QW
.ie '\\*(lq'"' ``\\$1''\\$2
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\$2
..
.\" # PQ - apply parens and quotation marks to word
.de PQ
.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
.\"" fix emacs highlighting
.el (\\*(lq\\$1\\*(rq\\$2)\\$3
..
.\" # QR - quoted range
.de QR
.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
..
.\" # MT - "empty" string
.de MT
.QW ""
..
.BS
.SH NAME
punkshell_module_punk::cesu \- CESU compatibility ehcoding scheme for utf-16: 8-Bit (CESU-8) ??
.SH SYNOPSIS
package require \fBpunk::cesu \fR
.sp
.BE
.SH DESCRIPTION
.PP
experimental
.SH OVERVIEW
.PP
overview of punk::cesu
.SS CONCEPTS
.PP
cesu-8 may be mistaken for utf-8 if no supplementary chars present\&.
.PP
see: https://www\&.unicode\&.org/reports/tr26/tr26-4\&.html
.PP
Particulary note discouragement of use especially in external interchange\&.
.SS DEPENDENCIES
.PP
packages used by punk::cesu
.IP \(bu
\fBTcl 8\&.6\fR
.PP
.SH API
.SS "NAMESPACE PUNK::CESU"
.PP
Core API functions for punk::cesu
.PP
.SS "NAMESPACE PUNK::CESU::LIB"
.PP
Secondary functions that are part of the API
.PP
.SH INTERNAL
tcl::namespace::eval punk::cesu::system {
.SS "NAMESPACE PUNK::CESU::SYSTEM"
.PP
Internal functions that are not part of the API
.SH KEYWORDS
cesu, compatibility, encoding, experimental, module, unofficial
.SH COPYRIGHT
.nf
Copyright (c) 2024
.fi

4
src/embedded/man/files/punk/_module_experiment-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_experiment-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_punk::experiment" 0 0\&.1\&.0 doc "-"
.TH "punkshell_module_punk::experiment" 0 0\&.1\&.0 doc "-"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::experiment \- Module API
punkshell_module_punk::experiment \- Module API
.SH SYNOPSIS
package require \fBpunk::experiment \fR
.sp

4
src/embedded/man/files/punk/_module_island-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_island-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_punk::island" 0 0\&.1\&.0 doc "punk::island for safe interps"
.TH "punkshell_module_punk::island" 0 0\&.1\&.0 doc "punk::island for safe interps"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::island \- filesystem islands for safe interps
punkshell_module_punk::island \- filesystem islands for safe interps
.SH SYNOPSIS
package require \fBpunk::island \fR
.sp

24
src/embedded/man/files/punk/_module_lib-0.1.1.tm.n

@ -284,6 +284,8 @@ package require \fBpunk::lib \fR
.sp
\fBlindex_resolve\fR \fIlist\fR \fIindex\fR
.sp
\fBlindex_resolve_basic\fR \fIlist\fR \fIindex\fR
.sp
\fBK\fR \fIx\fR \fIy\fR
.sp
\fBis_utf8_multibyteprefix\fR \fIstr\fR
@ -404,15 +406,33 @@ We want to resolve the index used, without passing arbitrary expressions into th
.sp
lindex_resolve will parse the index expression and return:
.sp
a) -2 if the supplied index expression is below the lower bound for the supplied list\&. (< 0)
a) -3 if the supplied index expression is below the lower bound for the supplied list\&. (< 0)
.sp
b) -2 if the supplied index expression is above the upper bound for the supplied list\&. (> end)
.sp
b) -1 if the supplied index expression is above the upper bound for the supplied list\&. (> end)
We don't return -1 - as the similar function lindex_resolve_basic uses this to denote out of range at either end of the list
.sp
Otherwise it will return an integer corresponding to the position in the list\&.
.sp
This is in stark contrast to Tcl list function indices which will return empty strings for out or bounds indices, or in the case of lrange, return results anyway\&.
.sp
Like Tcl list commands - it will produce an error if the form of the index is not acceptable
.sp
For empty lists, end and end+x indices are considered to be out of bounds on the upper side - thus returning -2
.TP
\fBlindex_resolve_basic\fR \fIlist\fR \fIindex\fR
.sp
Accepts index of the forms accepted by Tcl's list commands\&. (e\&.g compound indices such as 3+1 end-2)
.sp
returns -1 for out of range at either end, or a valid integer index
.sp
Unlike lindex_resolve; lindex_resolve_basic can't determine if an out of range index was out of range at the lower or upper bound
.sp
This is only likely to be faster than average over lindex_resolve for Tcl which has the builtin lseq command
.sp
The performance advantage is more likely to be present when using compound indexes such as $x+1 or end-1
.sp
For pure integer indices the performance should be equivalent
.TP
\fBK\fR \fIx\fR \fIy\fR
.sp

6
src/embedded/man/files/punk/_module_packagepreference-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_packagepreference-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_punk::packagepreference" 0 0\&.1\&.0 doc "-"
.TH "punkshell_module_punk::packagepreference" 0 0\&.1\&.0 doc "package/module load"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::packagepreference \- Module API
punkshell_module_punk::packagepreference \- punkshell package/module loading
.SH SYNOPSIS
package require \fBpunk::packagepreference \fR
.sp
@ -345,7 +345,7 @@ tcl::namespace::eval punk::packagepreference::system {
.PP
Internal functions that are not part of the API
.SH KEYWORDS
module
module, package
.SH COPYRIGHT
.nf
Copyright (c) 2024

323
src/embedded/man/files/punk/_module_rest-0.1.0.tm.n

@ -0,0 +1,323 @@
'\"
'\" Generated from file '_module_rest-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "punkshell_module_punk::rest" 0 0\&.1\&.0 doc "experimental rest"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
.\" .AP type name in/out ?indent?
.\" Start paragraph describing an argument to a library procedure.
.\" type is type of argument (int, etc.), in/out is either "in", "out",
.\" or "in/out" to describe whether procedure reads or modifies arg,
.\" and indent is equivalent to second arg of .IP (shouldn't ever be
.\" needed; use .AS below instead)
.\"
.\" .AS ?type? ?name?
.\" Give maximum sizes of arguments for setting tab stops. Type and
.\" name are examples of largest possible arguments that will be passed
.\" to .AP later. If args are omitted, default tab stops are used.
.\"
.\" .BS
.\" Start box enclosure. From here until next .BE, everything will be
.\" enclosed in one large box.
.\"
.\" .BE
.\" End of box enclosure.
.\"
.\" .CS
.\" Begin code excerpt.
.\"
.\" .CE
.\" End code excerpt.
.\"
.\" .VS ?version? ?br?
.\" Begin vertical sidebar, for use in marking newly-changed parts
.\" of man pages. The first argument is ignored and used for recording
.\" the version when the .VS was added, so that the sidebars can be
.\" found and removed when they reach a certain age. If another argument
.\" is present, then a line break is forced before starting the sidebar.
.\"
.\" .VE
.\" End of vertical sidebar.
.\"
.\" .DS
.\" Begin an indented unfilled display.
.\"
.\" .DE
.\" End of indented unfilled display.
.\"
.\" .SO ?manpage?
.\" Start of list of standard options for a Tk widget. The manpage
.\" argument defines where to look up the standard options; if
.\" omitted, defaults to "options". The options follow on successive
.\" lines, in three columns separated by tabs.
.\"
.\" .SE
.\" End of list of standard options for a Tk widget.
.\"
.\" .OP cmdName dbName dbClass
.\" Start of description of a specific option. cmdName gives the
.\" option's name as specified in the class command, dbName gives
.\" the option's name in the option database, and dbClass gives
.\" the option's class in the option database.
.\"
.\" .UL arg1 arg2
.\" Print arg1 underlined, then print arg2 normally.
.\"
.\" .QW arg1 ?arg2?
.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation).
.\"
.\" .PQ arg1 ?arg2?
.\" Print an open parenthesis, arg1 in quotes, then arg2 normally
.\" (for trailing punctuation) and then a closing parenthesis.
.\"
.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
.if t .wh -1.3i ^B
.nr ^l \n(.l
.ad b
.\" # Start an argument description
.de AP
.ie !"\\$4"" .TP \\$4
.el \{\
. ie !"\\$2"" .TP \\n()Cu
. el .TP 15
.\}
.ta \\n()Au \\n()Bu
.ie !"\\$3"" \{\
\&\\$1 \\fI\\$2\\fP (\\$3)
.\".b
.\}
.el \{\
.br
.ie !"\\$2"" \{\
\&\\$1 \\fI\\$2\\fP
.\}
.el \{\
\&\\fI\\$1\\fP
.\}
.\}
..
.\" # define tabbing values for .AP
.de AS
.nr )A 10n
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
.nr )B \\n()Au+15n
.\"
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
.nr )C \\n()Bu+\\w'(in/out)'u+2n
..
.AS Tcl_Interp Tcl_CreateInterp in/out
.\" # BS - start boxed text
.\" # ^y = starting y location
.\" # ^b = 1
.de BS
.br
.mk ^y
.nr ^b 1u
.if n .nf
.if n .ti 0
.if n \l'\\n(.lu\(ul'
.if n .fi
..
.\" # BE - end boxed text (draw box now)
.de BE
.nf
.ti 0
.mk ^t
.ie n \l'\\n(^lu\(ul'
.el \{\
.\" Draw four-sided box normally, but don't draw top of
.\" box if the box started on an earlier page.
.ie !\\n(^b-1 \{\
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.el \}\
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.\}
.fi
.br
.nr ^b 0
..
.\" # VS - start vertical sidebar
.\" # ^Y = starting y location
.\" # ^v = 1 (for troff; for nroff this doesn't matter)
.de VS
.if !"\\$2"" .br
.mk ^Y
.ie n 'mc \s12\(br\s0
.el .nr ^v 1u
..
.\" # VE - end of vertical sidebar
.de VE
.ie n 'mc
.el \{\
.ev 2
.nf
.ti 0
.mk ^t
\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
.sp -1
.fi
.ev
.\}
.nr ^v 0
..
.\" # Special macro to handle page bottom: finish off current
.\" # box/sidebar if in box/sidebar mode, then invoked standard
.\" # page bottom macro.
.de ^B
.ev 2
'ti 0
'nf
.mk ^t
.if \\n(^b \{\
.\" Draw three-sided box if this is the box's first page,
.\" draw two sides but no top otherwise.
.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.\}
.if \\n(^v \{\
.nr ^x \\n(^tu+1v-\\n(^Yu
\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
.\}
.bp
'fi
.ev
.if \\n(^b \{\
.mk ^y
.nr ^b 2
.\}
.if \\n(^v \{\
.mk ^Y
.\}
..
.\" # DS - begin display
.de DS
.RS
.nf
.sp
..
.\" # DE - end display
.de DE
.fi
.RE
.sp
..
.\" # SO - start of list of standard options
.de SO
'ie '\\$1'' .ds So \\fBoptions\\fR
'el .ds So \\fB\\$1\\fR
.SH "STANDARD OPTIONS"
.LP
.nf
.ta 5.5c 11c
.ft B
..
.\" # SE - end of list of standard options
.de SE
.fi
.ft R
.LP
See the \\*(So manual entry for details on the standard options.
..
.\" # OP - start of full description for a single option
.de OP
.LP
.nf
.ta 4c
Command-Line Name: \\fB\\$1\\fR
Database Name: \\fB\\$2\\fR
Database Class: \\fB\\$3\\fR
.fi
.IP
..
.\" # CS - begin code excerpt
.de CS
.RS
.nf
.ta .25i .5i .75i 1i
..
.\" # CE - end code excerpt
.de CE
.fi
.RE
..
.\" # UL - underline word
.de UL
\\$1\l'|0\(ul'\\$2
..
.\" # QW - apply quotation marks to word
.de QW
.ie '\\*(lq'"' ``\\$1''\\$2
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\$2
..
.\" # PQ - apply parens and quotation marks to word
.de PQ
.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
.\"" fix emacs highlighting
.el (\\*(lq\\$1\\*(rq\\$2)\\$3
..
.\" # QR - quoted range
.de QR
.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
..
.\" # MT - "empty" string
.de MT
.QW ""
..
.BS
.SH NAME
punkshell_module_punk::rest \- punk::rest
.SH SYNOPSIS
package require \fBpunk::rest \fR
.sp
.BE
.SH DESCRIPTION
.PP
Experimental *basic rest as wrapper over http lib - use tcllib's rest package for a more complete implementation of a rest client
.SH OVERVIEW
.PP
overview of punk::rest
.SS CONCEPTS
.PP
-
.SS DEPENDENCIES
.PP
packages used by punk::rest
.IP \(bu
\fBTcl 8\&.6\fR
.PP
.SH API
.SS "NAMESPACE PUNK::REST::CLASS"
.PP
class definitions
if { eq ""} {
.PP
}
}
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
.SS "NAMESPACE PUNK::REST"
.PP
Core API functions for punk::rest
.PP
.SS "NAMESPACE PUNK::REST::LIB"
.PP
Secondary functions that are part of the API
.PP
.SH INTERNAL
tcl::namespace::eval punk::rest::system {
.SS "NAMESPACE PUNK::REST::SYSTEM"
.PP
Internal functions that are not part of the API
.SH KEYWORDS
http, module, rest
.SH COPYRIGHT
.nf
Copyright (c) 2024
.fi

4
src/embedded/man/files/punk/_module_sshrun-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_sshrun-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2009
'\"
.TH "shellspy_module_punk::sshrun" 0 0\&.1\&.0 doc "punk::sshrun tclssh clone"
.TH "punkshell_module_punk::sshrun" 0 0\&.1\&.0 doc "punk::sshrun tclssh clone"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::sshrun \- Tcl procedures to execute tcl scripts in remote hosts
punkshell_module_punk::sshrun \- Tcl procedures to execute tcl scripts in remote hosts
.SH SYNOPSIS
package require \fBpunk::sshrun \fR
.sp

325
src/embedded/man/files/punk/_module_trie-0.1.0.tm.n

@ -0,0 +1,325 @@
'\"
'\" Generated from file '_module_trie-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2010
'\"
.TH "punkshell_module_punk::trie" 0 0\&.1\&.0 doc "punk::trie"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
.\" .AP type name in/out ?indent?
.\" Start paragraph describing an argument to a library procedure.
.\" type is type of argument (int, etc.), in/out is either "in", "out",
.\" or "in/out" to describe whether procedure reads or modifies arg,
.\" and indent is equivalent to second arg of .IP (shouldn't ever be
.\" needed; use .AS below instead)
.\"
.\" .AS ?type? ?name?
.\" Give maximum sizes of arguments for setting tab stops. Type and
.\" name are examples of largest possible arguments that will be passed
.\" to .AP later. If args are omitted, default tab stops are used.
.\"
.\" .BS
.\" Start box enclosure. From here until next .BE, everything will be
.\" enclosed in one large box.
.\"
.\" .BE
.\" End of box enclosure.
.\"
.\" .CS
.\" Begin code excerpt.
.\"
.\" .CE
.\" End code excerpt.
.\"
.\" .VS ?version? ?br?
.\" Begin vertical sidebar, for use in marking newly-changed parts
.\" of man pages. The first argument is ignored and used for recording
.\" the version when the .VS was added, so that the sidebars can be
.\" found and removed when they reach a certain age. If another argument
.\" is present, then a line break is forced before starting the sidebar.
.\"
.\" .VE
.\" End of vertical sidebar.
.\"
.\" .DS
.\" Begin an indented unfilled display.
.\"
.\" .DE
.\" End of indented unfilled display.
.\"
.\" .SO ?manpage?
.\" Start of list of standard options for a Tk widget. The manpage
.\" argument defines where to look up the standard options; if
.\" omitted, defaults to "options". The options follow on successive
.\" lines, in three columns separated by tabs.
.\"
.\" .SE
.\" End of list of standard options for a Tk widget.
.\"
.\" .OP cmdName dbName dbClass
.\" Start of description of a specific option. cmdName gives the
.\" option's name as specified in the class command, dbName gives
.\" the option's name in the option database, and dbClass gives
.\" the option's class in the option database.
.\"
.\" .UL arg1 arg2
.\" Print arg1 underlined, then print arg2 normally.
.\"
.\" .QW arg1 ?arg2?
.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation).
.\"
.\" .PQ arg1 ?arg2?
.\" Print an open parenthesis, arg1 in quotes, then arg2 normally
.\" (for trailing punctuation) and then a closing parenthesis.
.\"
.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
.if t .wh -1.3i ^B
.nr ^l \n(.l
.ad b
.\" # Start an argument description
.de AP
.ie !"\\$4"" .TP \\$4
.el \{\
. ie !"\\$2"" .TP \\n()Cu
. el .TP 15
.\}
.ta \\n()Au \\n()Bu
.ie !"\\$3"" \{\
\&\\$1 \\fI\\$2\\fP (\\$3)
.\".b
.\}
.el \{\
.br
.ie !"\\$2"" \{\
\&\\$1 \\fI\\$2\\fP
.\}
.el \{\
\&\\fI\\$1\\fP
.\}
.\}
..
.\" # define tabbing values for .AP
.de AS
.nr )A 10n
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
.nr )B \\n()Au+15n
.\"
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
.nr )C \\n()Bu+\\w'(in/out)'u+2n
..
.AS Tcl_Interp Tcl_CreateInterp in/out
.\" # BS - start boxed text
.\" # ^y = starting y location
.\" # ^b = 1
.de BS
.br
.mk ^y
.nr ^b 1u
.if n .nf
.if n .ti 0
.if n \l'\\n(.lu\(ul'
.if n .fi
..
.\" # BE - end boxed text (draw box now)
.de BE
.nf
.ti 0
.mk ^t
.ie n \l'\\n(^lu\(ul'
.el \{\
.\" Draw four-sided box normally, but don't draw top of
.\" box if the box started on an earlier page.
.ie !\\n(^b-1 \{\
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.el \}\
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.\}
.fi
.br
.nr ^b 0
..
.\" # VS - start vertical sidebar
.\" # ^Y = starting y location
.\" # ^v = 1 (for troff; for nroff this doesn't matter)
.de VS
.if !"\\$2"" .br
.mk ^Y
.ie n 'mc \s12\(br\s0
.el .nr ^v 1u
..
.\" # VE - end of vertical sidebar
.de VE
.ie n 'mc
.el \{\
.ev 2
.nf
.ti 0
.mk ^t
\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
.sp -1
.fi
.ev
.\}
.nr ^v 0
..
.\" # Special macro to handle page bottom: finish off current
.\" # box/sidebar if in box/sidebar mode, then invoked standard
.\" # page bottom macro.
.de ^B
.ev 2
'ti 0
'nf
.mk ^t
.if \\n(^b \{\
.\" Draw three-sided box if this is the box's first page,
.\" draw two sides but no top otherwise.
.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.\}
.if \\n(^v \{\
.nr ^x \\n(^tu+1v-\\n(^Yu
\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
.\}
.bp
'fi
.ev
.if \\n(^b \{\
.mk ^y
.nr ^b 2
.\}
.if \\n(^v \{\
.mk ^Y
.\}
..
.\" # DS - begin display
.de DS
.RS
.nf
.sp
..
.\" # DE - end display
.de DE
.fi
.RE
.sp
..
.\" # SO - start of list of standard options
.de SO
'ie '\\$1'' .ds So \\fBoptions\\fR
'el .ds So \\fB\\$1\\fR
.SH "STANDARD OPTIONS"
.LP
.nf
.ta 5.5c 11c
.ft B
..
.\" # SE - end of list of standard options
.de SE
.fi
.ft R
.LP
See the \\*(So manual entry for details on the standard options.
..
.\" # OP - start of full description for a single option
.de OP
.LP
.nf
.ta 4c
Command-Line Name: \\fB\\$1\\fR
Database Name: \\fB\\$2\\fR
Database Class: \\fB\\$3\\fR
.fi
.IP
..
.\" # CS - begin code excerpt
.de CS
.RS
.nf
.ta .25i .5i .75i 1i
..
.\" # CE - end code excerpt
.de CE
.fi
.RE
..
.\" # UL - underline word
.de UL
\\$1\l'|0\(ul'\\$2
..
.\" # QW - apply quotation marks to word
.de QW
.ie '\\*(lq'"' ``\\$1''\\$2
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\$2
..
.\" # PQ - apply parens and quotation marks to word
.de PQ
.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
.\"" fix emacs highlighting
.el (\\*(lq\\$1\\*(rq\\$2)\\$3
..
.\" # QR - quoted range
.de QR
.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
..
.\" # MT - "empty" string
.de MT
.QW ""
..
.BS
.SH NAME
punkshell_module_punk::trie \- punk::trie API
.SH SYNOPSIS
package require \fBpunk::trie \fR
.sp
class::trieclass \fBmatches\fR \fIt\fR \fIwhat\fR
.sp
.BE
.SH DESCRIPTION tcl trie implementation courtesy of CmcC (tcl wiki)
.PP
-
.SH OVERVIEW
.PP
overview of punk::trie
.SS CONCEPTS
.PP
-
.SS DEPENDENCIES
.PP
packages used by punk::trie
.IP \(bu
\fBTcl 8\&.6\fR
.PP
.SH API
.SS "NAMESPACE PUNK::TRIE"
.PP
Core API functions for punk::trie
.IP [1]
CLASS \fBtrieclass\fR
.RS
.TP
class::trieclass \fBmatches\fR \fIt\fR \fIwhat\fR
.sp
search for longest prefix, return matching prefix, element and suffix
.RE
.PP
.SS "NAMESPACE PUNK::TRIE::LIB"
.PP
Secondary functions that are part of the API
.PP
.SH INTERNAL
tcl::namespace::eval punk::trie::system {
.SS "NAMESPACE PUNK::TRIE::SYSTEM"
.PP
Internal functions that are not part of the API
.SH KEYWORDS
datastructure, module, trie
.SH COPYRIGHT
.nf
Copyright (c) 2010
.fi

6
src/embedded/man/files/punk/_module_uc-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_uc-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_punk::uc" 0 0\&.1\&.0 doc "-"
.TH "punkshell_module_punk::uc" 0 0\&.1\&.0 doc "-"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::uc \- Module API
punkshell_module_punk::uc \- Module API
.SH SYNOPSIS
package require \fBpunk::uc \fR
.sp
@ -310,7 +310,7 @@ Secondary functions that are part of the API
.PP
Internal functions that are not part of the API
.SH KEYWORDS
module
module, unicode, unofficial, wcswidth
.SH COPYRIGHT
.nf
Copyright (c) 2024

343
src/embedded/man/files/punk/_module_winlnk-0.1.0.tm.n

@ -0,0 +1,343 @@
'\"
'\" Generated from file '_module_winlnk-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "punkshell_module_punk::winlnk" 0 0\&.1\&.0 doc "punk::winlnk"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
.\" .AP type name in/out ?indent?
.\" Start paragraph describing an argument to a library procedure.
.\" type is type of argument (int, etc.), in/out is either "in", "out",
.\" or "in/out" to describe whether procedure reads or modifies arg,
.\" and indent is equivalent to second arg of .IP (shouldn't ever be
.\" needed; use .AS below instead)
.\"
.\" .AS ?type? ?name?
.\" Give maximum sizes of arguments for setting tab stops. Type and
.\" name are examples of largest possible arguments that will be passed
.\" to .AP later. If args are omitted, default tab stops are used.
.\"
.\" .BS
.\" Start box enclosure. From here until next .BE, everything will be
.\" enclosed in one large box.
.\"
.\" .BE
.\" End of box enclosure.
.\"
.\" .CS
.\" Begin code excerpt.
.\"
.\" .CE
.\" End code excerpt.
.\"
.\" .VS ?version? ?br?
.\" Begin vertical sidebar, for use in marking newly-changed parts
.\" of man pages. The first argument is ignored and used for recording
.\" the version when the .VS was added, so that the sidebars can be
.\" found and removed when they reach a certain age. If another argument
.\" is present, then a line break is forced before starting the sidebar.
.\"
.\" .VE
.\" End of vertical sidebar.
.\"
.\" .DS
.\" Begin an indented unfilled display.
.\"
.\" .DE
.\" End of indented unfilled display.
.\"
.\" .SO ?manpage?
.\" Start of list of standard options for a Tk widget. The manpage
.\" argument defines where to look up the standard options; if
.\" omitted, defaults to "options". The options follow on successive
.\" lines, in three columns separated by tabs.
.\"
.\" .SE
.\" End of list of standard options for a Tk widget.
.\"
.\" .OP cmdName dbName dbClass
.\" Start of description of a specific option. cmdName gives the
.\" option's name as specified in the class command, dbName gives
.\" the option's name in the option database, and dbClass gives
.\" the option's class in the option database.
.\"
.\" .UL arg1 arg2
.\" Print arg1 underlined, then print arg2 normally.
.\"
.\" .QW arg1 ?arg2?
.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation).
.\"
.\" .PQ arg1 ?arg2?
.\" Print an open parenthesis, arg1 in quotes, then arg2 normally
.\" (for trailing punctuation) and then a closing parenthesis.
.\"
.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
.if t .wh -1.3i ^B
.nr ^l \n(.l
.ad b
.\" # Start an argument description
.de AP
.ie !"\\$4"" .TP \\$4
.el \{\
. ie !"\\$2"" .TP \\n()Cu
. el .TP 15
.\}
.ta \\n()Au \\n()Bu
.ie !"\\$3"" \{\
\&\\$1 \\fI\\$2\\fP (\\$3)
.\".b
.\}
.el \{\
.br
.ie !"\\$2"" \{\
\&\\$1 \\fI\\$2\\fP
.\}
.el \{\
\&\\fI\\$1\\fP
.\}
.\}
..
.\" # define tabbing values for .AP
.de AS
.nr )A 10n
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
.nr )B \\n()Au+15n
.\"
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
.nr )C \\n()Bu+\\w'(in/out)'u+2n
..
.AS Tcl_Interp Tcl_CreateInterp in/out
.\" # BS - start boxed text
.\" # ^y = starting y location
.\" # ^b = 1
.de BS
.br
.mk ^y
.nr ^b 1u
.if n .nf
.if n .ti 0
.if n \l'\\n(.lu\(ul'
.if n .fi
..
.\" # BE - end boxed text (draw box now)
.de BE
.nf
.ti 0
.mk ^t
.ie n \l'\\n(^lu\(ul'
.el \{\
.\" Draw four-sided box normally, but don't draw top of
.\" box if the box started on an earlier page.
.ie !\\n(^b-1 \{\
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.el \}\
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
.\}
.\}
.fi
.br
.nr ^b 0
..
.\" # VS - start vertical sidebar
.\" # ^Y = starting y location
.\" # ^v = 1 (for troff; for nroff this doesn't matter)
.de VS
.if !"\\$2"" .br
.mk ^Y
.ie n 'mc \s12\(br\s0
.el .nr ^v 1u
..
.\" # VE - end of vertical sidebar
.de VE
.ie n 'mc
.el \{\
.ev 2
.nf
.ti 0
.mk ^t
\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
.sp -1
.fi
.ev
.\}
.nr ^v 0
..
.\" # Special macro to handle page bottom: finish off current
.\" # box/sidebar if in box/sidebar mode, then invoked standard
.\" # page bottom macro.
.de ^B
.ev 2
'ti 0
'nf
.mk ^t
.if \\n(^b \{\
.\" Draw three-sided box if this is the box's first page,
.\" draw two sides but no top otherwise.
.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
.\}
.if \\n(^v \{\
.nr ^x \\n(^tu+1v-\\n(^Yu
\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
.\}
.bp
'fi
.ev
.if \\n(^b \{\
.mk ^y
.nr ^b 2
.\}
.if \\n(^v \{\
.mk ^Y
.\}
..
.\" # DS - begin display
.de DS
.RS
.nf
.sp
..
.\" # DE - end display
.de DE
.fi
.RE
.sp
..
.\" # SO - start of list of standard options
.de SO
'ie '\\$1'' .ds So \\fBoptions\\fR
'el .ds So \\fB\\$1\\fR
.SH "STANDARD OPTIONS"
.LP
.nf
.ta 5.5c 11c
.ft B
..
.\" # SE - end of list of standard options
.de SE
.fi
.ft R
.LP
See the \\*(So manual entry for details on the standard options.
..
.\" # OP - start of full description for a single option
.de OP
.LP
.nf
.ta 4c
Command-Line Name: \\fB\\$1\\fR
Database Name: \\fB\\$2\\fR
Database Class: \\fB\\$3\\fR
.fi
.IP
..
.\" # CS - begin code excerpt
.de CS
.RS
.nf
.ta .25i .5i .75i 1i
..
.\" # CE - end code excerpt
.de CE
.fi
.RE
..
.\" # UL - underline word
.de UL
\\$1\l'|0\(ul'\\$2
..
.\" # QW - apply quotation marks to word
.de QW
.ie '\\*(lq'"' ``\\$1''\\$2
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\$2
..
.\" # PQ - apply parens and quotation marks to word
.de PQ
.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
.\"" fix emacs highlighting
.el (\\*(lq\\$1\\*(rq\\$2)\\$3
..
.\" # QR - quoted range
.de QR
.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
.\"" fix emacs highlighting
.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
..
.\" # MT - "empty" string
.de MT
.QW ""
..
.BS
.SH NAME
punkshell_module_punk::winlnk \- windows shortcut \&.lnk library
.SH SYNOPSIS
package require \fBpunk::winlnk \fR
.sp
\fBfile_check_header\fR \fIpath\fR
.sp
\fBfile_get_info\fR \fIpath\fR
.sp
.BE
.SH DESCRIPTION
.PP
Tools for reading windows shortcuts (\&.lnk files) on any platform
.SH OVERVIEW
.PP
overview of punk::winlnk
.SS CONCEPTS
.PP
Windows shortcuts are a binary format file with a \&.lnk extension
.PP
Shell Link (\&.LNK) Binary File Format is documented in [MS_SHLLINK]\&.pdf published by Microsoft\&.
.PP
Revision 8\&.0 published 2024-04-23
.SS DEPENDENCIES
.PP
packages used by punk::winlnk
.IP \(bu
\fBTcl 8\&.6\fR
.PP
.SH API
.SS "NAMESPACE PUNK::WINLNK::CLASS"
.PP
class definitions
if { eq ""} {
.PP
}
}
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
.SS "NAMESPACE PUNK::WINLNK"
.PP
Core API functions for punk::winlnk
.TP
\fBfile_check_header\fR \fIpath\fR
.sp
Return 0|1
.sp
Determines if the \&.lnk file specified in path has a valid header for a windows shortcut
.TP
\fBfile_get_info\fR \fIpath\fR
.sp
Return a dict of info obtained by parsing the binary data in a windows \&.lnk file
.sp
If the \&.lnk header check fails, then the \&.lnk file probably isn't really a shortcut file and the dictionary will contain an 'error' key
.PP
.SS "NAMESPACE PUNK::WINLNK::LIB"
.PP
Secondary functions that are part of the API
.PP
.SH INTERNAL
tcl::namespace::eval punk::winlnk::system {
.SS "NAMESPACE PUNK::WINLNK::SYSTEM"
.PP
Internal functions that are not part of the API
.SH KEYWORDS
crossplatform, lnk, module, parse, shortcut, windows
.SH COPYRIGHT
.nf
Copyright (c) 2024
.fi

94
src/embedded/man/files/_module_overtype-1.6.3.tm.n → src/embedded/man/files/punk/_module_zip-0.1.1.tm.n

@ -1,8 +1,8 @@
'\"
'\" Generated from file '_module_overtype-1\&.6\&.3\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Generated from file '_module_zip-0\&.1\&.1\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "overtype_module_overtype" 0 1\&.6\&.3 doc "overtype text layout"
.TH "punkshell_module_punk::zip" 0 0\&.1\&.1 doc "-"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,13 +272,17 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
overtype_module_overtype \- overtype text layout - ansi aware
punkshell_module_punk::zip \- Module API
.SH SYNOPSIS
package require \fBovertype \fR
package require \fBpunk::zip \fR
.sp
\fBovertype::renderspace\fR \fIargs\fR
\fBTimet_to_dos\fR \fItime_t\fR
.sp
\fBovertype::renderline\fR \fIargs\fR
\fBwalk\fR \fI?options?\fR \fIbase\fR
.sp
\fBAddentry\fR \fIzipchan\fR \fIbase\fR \fIpath\fR \fI?comment?\fR
.sp
\fBmkzip\fR ?\fB-offsettype\fR \fIoffsettype\fR? ?\fB-return\fR \fIreturntype\fR? ?\fB-zipkit\fR \fI0|1\fR? ?\fB-runtime\fR \fIpreamble_filename\fR? ?\fB-comment\fR \fIzipfilecomment\fR? ?\fB-directory\fR \fIdir_to_zip\fR? ?\fB-base\fR \fIarchive_root\fR? ?\fB-exclude\fR \fIgloblist\fR? \fIzipfilename\fR \fI?glob\&.\&.\&.?\fR
.sp
.BE
.SH DESCRIPTION
@ -286,67 +290,75 @@ package require \fBovertype \fR
-
.SH OVERVIEW
.PP
overview of overtype
overview of punk::zip
.SS CONCEPTS
.PP
-
.SS DEPENDENCIES
.PP
packages used by overtype
packages used by punk::zip
.IP \(bu
\fBTcl 8\&.6\fR
.IP \(bu
\fBtextutil\fR
.IP \(bu
\fBpunk::ansi\fR
.sp
- required to detect, split, strip and calculate lengths of text possibly containing ansi codes
.IP \(bu
\fBpunk::char\fR
.sp
- box drawing - and also unicode character width determination for proper layout of text with double-column-width chars
\fBpunk::args\fR
.PP
.SH API
.SS "NAMESPACE OVERTYPE"
.SS "NAMESPACE PUNK::ZIP"
.PP
Core API functions for overtype
Core API functions for punk::zip
.TP
\fBovertype::renderspace\fR \fIargs\fR
\fBTimet_to_dos\fR \fItime_t\fR
.sp
usage: ?-transparent [0|1]? ?-overflow [1|0]? ?-ellipsis [1|0]? ?-ellipsistext \&.\&.\&.? undertext overtext
convert a unix timestamp into a DOS timestamp for ZIP times\&.
.CS
DOS timestamps are 32 bits split into bit regions as follows:
24 16 8 0
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|Y|Y|Y|Y|Y|Y|Y|m| |m|m|m|d|d|d|d|d| |h|h|h|h|h|m|m|m| |m|m|m|s|s|s|s|s|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
.CE
.TP
\fBovertype::renderline\fR \fIargs\fR
.sp
renderline is the core engine for overtype string processing (frames & textblocks), and the raw mode commandline repl for the Tcl Punk Shell
\fBwalk\fR \fI?options?\fR \fIbase\fR
.sp
It is also a central part of an ansi (micro) virtual terminal-emulator of sorts
Walk a directory tree rooted at base
.sp
This system does a half decent job at rendering 90's ANSI art to manipulable colour text blocks that can be joined & framed for layout display within a unix or windows terminal
the -excludes list can be a set of glob expressions to match against files and avoid
.sp
Renderline helps maintain ANSI text styling reset/replay codes so that the styling of one block doesn't affect another\&.
.sp
Calling on the punk::ansi library - it can coalesce codes to keep the size down\&.
.sp
It is a giant mess of doing exactly what common wisdom says not to do\&.\&.\&. lots at once\&.
.sp
renderline is part of the Unicode and ANSI aware Overtype system which 'renders' a block of text onto a static underlay
e\&.g
.CS
punk::zip::walk -exclude {CVS/* *~\&.#*} library
.CE
.TP
\fBAddentry\fR \fIzipchan\fR \fIbase\fR \fIpath\fR \fI?comment?\fR
.sp
The underlay is generally expected to be an ordered set of lines or a rectangular text block analogous to a terminal screen - but it can also be ragged in line length, or just blank\&.
Add a single file to a zip archive
.sp
The overlay couuld be similar - in which case it may often be used to overwrite a column or section of the underlay\&.
The zipchan channel should already be open and binary\&.
.sp
The overlay could however be a sequence of ANSI-laden text that jumps all over the place\&.
You can provide a -comment for the file\&.
.sp
renderline itself only deals with a single line - or sometimes a single character\&. It is generally called from a loop that does further terminal-like or textblock processing\&.
The return value is the central directory record that will need to be used when finalizing the zip archive\&.
.TP
\fBmkzip\fR ?\fB-offsettype\fR \fIoffsettype\fR? ?\fB-return\fR \fIreturntype\fR? ?\fB-zipkit\fR \fI0|1\fR? ?\fB-runtime\fR \fIpreamble_filename\fR? ?\fB-comment\fR \fIzipfilecomment\fR? ?\fB-directory\fR \fIdir_to_zip\fR? ?\fB-base\fR \fIarchive_root\fR? ?\fB-exclude\fR \fIgloblist\fR? \fIzipfilename\fR \fI?glob\&.\&.\&.?\fR
.sp
By suppyling the -info 1 option - it can return various fields indicating the state of the render\&.
Create a zip archive in 'zipfilename'
.sp
The main 3 are the result, overflow_right, and unapplied\&.
If a file already exists, an error will be raised\&.
.sp
Renderline handles cursor movements from either keystrokes or ANSI sequences but for a full system the aforementioned loop will need to be in place to manage the set of lines under manipulation\&.
Call 'punk::zip::mkzip' with no arguments for usage display\&.
.PP
.SS "NAMESPACE PUNK::ZIP::LIB"
.PP
Secondary functions that are part of the API
.PP
.SH KEYWORDS
ansi, module, text
fileformat, module, zip
.SH COPYRIGHT
.nf
Copyright (c) 2024

83
src/embedded/man/files/_module_overtype-1.6.4.tm.n → src/embedded/man/files/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.n

@ -1,8 +1,8 @@
'\"
'\" Generated from file '_module_overtype-1\&.6\&.4\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Generated from file '_module_scriptwrap-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "overtype_module_overtype" 0 1\&.6\&.4 doc "overtype text layout"
.TH "punkshell_module_scriptwrap" 0 0\&.1\&.0 doc "scriptwrap tool"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,13 +272,11 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
overtype_module_overtype \- overtype text layout - ansi aware
punkshell_module_scriptwrap \- scriptwrap polyglot tool
.SH SYNOPSIS
package require \fBovertype \fR
package require \fBpunk::mix::commandset::scriptwrap \fR
.sp
\fBovertype::renderspace\fR \fIargs\fR
.sp
\fBovertype::renderline\fR \fIargs\fR
\fBget_wrapper_folders\fR \fIargs\fR
.sp
.BE
.SH DESCRIPTION
@ -286,67 +284,52 @@ package require \fBovertype \fR
-
.SH OVERVIEW
.PP
overview of overtype
overview of scriptwrap
.SS CONCEPTS
.PP
-
.SS DEPENDENCIES
.PP
packages used by overtype
packages used by poshinfo
.IP \(bu
\fBTcl 8\&.6\fR
.IP \(bu
\fBtextutil\fR
\fBpunk::lib\fR
.IP \(bu
\fBpunk::ansi\fR
.sp
- required to detect, split, strip and calculate lengths of text possibly containing ansi codes
\fBpunk::args\fR
.IP \(bu
\fBpunk::char\fR
.sp
- box drawing - and also unicode character width determination for proper layout of text with double-column-width chars
\fBpunk::mix\fR
.IP \(bu
\fBpunk::base\fR
.IP \(bu
\fBpunk::fileline\fR
.PP
.SH API
.SS "NAMESPACE OVERTYPE"
.SS "NAMESPACE PUNK::MIX::COMMANDSET::SCRIPTWRAP"
.PP
Core API functions for overtype
.TP
\fBovertype::renderspace\fR \fIargs\fR
.sp
usage: ?-transparent [0|1]? ?-overflow [1|0]? ?-ellipsis [1|0]? ?-ellipsistext \&.\&.\&.? undertext overtext
Core API functions for punk::mix::commandset::scriptwrap
.PP
.SS "NAMESPACE PUNK::MIX::COMMANDSET::SCRIPTWRAP::LIB"
.PP
Library API functions for punk::mix::commandset::scriptwrap
.TP
\fBovertype::renderline\fR \fIargs\fR
.sp
renderline is the core engine for overtype string processing (frames & textblocks), and the raw mode commandline repl for the Tcl Punk Shell
.sp
It is also a central part of an ansi (micro) virtual terminal-emulator of sorts
.sp
This system does a half decent job at rendering 90's ANSI art to manipulable colour text blocks that can be joined & framed for layout display within a unix or windows terminal
.sp
Renderline helps maintain ANSI text styling reset/replay codes so that the styling of one block doesn't affect another\&.
\fBget_wrapper_folders\fR \fIargs\fR
.sp
Calling on the punk::ansi library - it can coalesce codes to keep the size down\&.
Return list of dicts representing wrapper folders in the project\&. keys: basefolder sourceinfo
.sp
It is a giant mess of doing exactly what common wisdom says not to do\&.\&.\&. lots at once\&.
.sp
renderline is part of the Unicode and ANSI aware Overtype system which 'renders' a block of text onto a static underlay
.sp
The underlay is generally expected to be an ordered set of lines or a rectangular text block analogous to a terminal screen - but it can also be ragged in line length, or just blank\&.
.sp
The overlay couuld be similar - in which case it may often be used to overwrite a column or section of the underlay\&.
.sp
The overlay could however be a sequence of ANSI-laden text that jumps all over the place\&.
.sp
renderline itself only deals with a single line - or sometimes a single character\&. It is generally called from a loop that does further terminal-like or textblock processing\&.
.sp
By suppyling the -info 1 option - it can return various fields indicating the state of the render\&.
.sp
The main 3 are the result, overflow_right, and unapplied\&.
.sp
Renderline handles cursor movements from either keystrokes or ANSI sequences but for a full system the aforementioned loop will need to be in place to manage the set of lines under manipulation\&.
Arguments:
.RS
.TP
string \fIargs\fR
name-value pairs -scriptpath <path>
.RE
.PP
.SS "NAMESPACE PUNK::MIX::COMMANDSET::SCRIPTWRAP::BATCHLIB"
.PP
Utility funcions for processing windows \&.bat files
.PP
.SH KEYWORDS
ansi, module, text
commandset, launcher, module, scriptwrap
.SH COPYRIGHT
.nf
Copyright (c) 2024

6
src/embedded/man/files/punk/nav/_module_fs-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_fs-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_punk::nav::fs" 0 0\&.1\&.0 doc "-"
.TH "shellspy_module_punk::nav::fs" 0 0\&.1\&.0 doc "fs nav"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,7 +272,7 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::nav::fs \- Module API
shellspy_module_punk::nav::fs \- punk::nav::fs console filesystem navigation
.SH SYNOPSIS
package require \fBpunk::nav::fs \fR
.sp
@ -324,7 +324,7 @@ Secondary functions that are part of the API
.PP
Internal functions that are not part of the API
.SH KEYWORDS
module
filesystem, module, terminal
.SH COPYRIGHT
.nf
Copyright (c) 2024

8
src/embedded/man/files/punk/repl/_module_codethread-0.1.0.tm.n

@ -2,7 +2,7 @@
'\" Generated from file '_module_codethread-0\&.1\&.0\&.tm\&.man' by tcllib/doctools with format 'nroff'
'\" Copyright (c) 2024
'\"
.TH "shellspy_module_punk::repl::codethread" 0 0\&.1\&.0 doc "-"
.TH "shellspy_module_punk::repl::codethread" 0 0\&.1\&.0 doc "codethread for repl - root interpreter"
.\" The -*- nroff -*- definitions below are for supplemental macros used
.\" in Tcl/Tk manual entries.
.\"
@ -272,14 +272,14 @@ Database Class: \\fB\\$3\\fR
..
.BS
.SH NAME
shellspy_module_punk::repl::codethread \- Module API
shellspy_module_punk::repl::codethread \- Module repl codethread
.SH SYNOPSIS
package require \fBpunk::repl::codethread \fR
.sp
.BE
.SH DESCRIPTION
.PP
-
This is part of the infrastructure required for the punk::repl to operate
.SH OVERVIEW
.PP
overview of punk::repl::codethread
@ -314,7 +314,7 @@ Secondary functions that are part of the API
.PP
Internal functions that are not part of the API
.SH KEYWORDS
module
module, repl
.SH COPYRIGHT
.nf
Copyright (c) 2024

371
src/embedded/man/index.n

@ -278,20 +278,29 @@ BOM
\fBfiles/punk/_module_fileline-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::fileline
.RE
ansi
POSH
.RS
.TP
\fBfiles/_module_overtype-1\&.6\&.4\&.tm\&.n\fR
overtype_module_overtype
\fBfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_poshinfo
.RE
alias
.RS
.TP
\fBfiles/_module_overtype-1\&.6\&.3\&.tm\&.n\fR
overtype_module_overtype
\fBfiles/punk/_module_aliascore-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::aliascore
.RE
ansi
.RS
.TP
\fBfiles/_module_overtype-1\&.6\&.5\&.tm\&.n\fR
overtype_module_overtype
.TP
\fBfiles/punk/_module_ansi-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::ansi
.TP
\fBfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR
punkshell_module_textblock
.RE
args
.RS
@ -309,13 +318,13 @@ assert
.RS
.TP
\fBfiles/punk/_module_assertion-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::assertion
punkshell_module_punk::assertion
.RE
assertion
.RS
.TP
\fBfiles/punk/_module_assertion-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::assertion
punkshell_module_punk::assertion
.RE
capability
.RS
@ -323,30 +332,84 @@ capability
\fBfiles/punk/_module_cap-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::cap
.RE
cesu
.RS
.TP
\fBfiles/punk/_module_cesu-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::cesu
.RE
changelog
.RS
.TP
\fBfiles/project_changes\&.n\fR
punkshell__project_changes
.RE
colour
.RS
.TP
\fBfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR
punkshell_module_textblock
.RE
commandset
.RS
.TP
\fBfiles/punk/mix/commandset/_module_scriptwrap-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_scriptwrap
.RE
compatibility
.RS
.TP
\fBfiles/punk/_module_cesu-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::cesu
.RE
configuration
.RS
.TP
\fBfiles/_module_tomlish-1\&.1\&.1\&.tm\&.n\fR
tomlish_module_tomlish
.RE
console
.RS
.TP
\fBfiles/punk/_module_basictelnet-0\&.1\&.0\&.tm\&.n\fR
punkshell::basictelnet
.TP
\fBfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_poshinfo
.TP
\fBfiles/punk/_module_ansi-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::ansi
.TP
\fBfiles/punk/_module_console-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::console
.TP
\fBfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR
punkshell_module_textblock
.RE
crossplatform
.RS
.TP
\fBfiles/punk/_module_winlnk-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::winlnk
.RE
datastructure
.RS
.TP
\fBfiles/punk/_module_trie-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::trie
.RE
debug
.RS
.TP
\fBfiles/punk/_module_assertion-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::assertion
punkshell_module_punk::assertion
.RE
encoding
.RS
.TP
\fBfiles/punk/_module_cesu-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::cesu
.TP
\fBfiles/punk/_module_fileline-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::fileline
.RE
@ -362,29 +425,77 @@ punkshell_module_punk::encmime
experimental
.RS
.TP
\fBfiles/punk/_module_cesu-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::cesu
.TP
\fBfiles/punk/_module_flib-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::flib
.RE
fake
.RS
.TP
\fBfiles/_module_fauxlink-0\&.1\&.1\&.tm\&.n\fR
fauxlink_module_fauxlink
.RE
faux
.RS
.TP
\fBfiles/_module_fauxlink-0\&.1\&.1\&.tm\&.n\fR
fauxlink_module_fauxlink
.RE
file
.RS
.TP
\fBfiles/punk/_module_fileline-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::fileline
.RE
fileformat
.RS
.TP
\fBfiles/punk/_module_zip-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::zip
.RE
filesystem
.RS
.TP
\fBfiles/punk/_module_island-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::island
.TP
\fBfiles/punk/_module_path-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::path
.TP
\fBfiles/punk/_module_island-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::island
\fBfiles/punk/nav/_module_fs-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::nav::fs
.RE
frame
.RS
.TP
\fBfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR
punkshell_module_textblock
.RE
http
.RS
.TP
\fBfiles/punk/_module_rest-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::rest
.RE
interp
.RS
.TP
\fBfiles/punk/_module_island-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::island
punkshell_module_punk::island
.RE
launcher
.RS
.TP
\fBfiles/punk/mix/commandset/_module_scriptwrap-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_scriptwrap
.RE
layout
.RS
.TP
\fBfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR
punkshell_module_textblock
.RE
lib
.RS
@ -395,20 +506,32 @@ punkshell_module_punk::lib
\fBfiles/_module_textblock-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_textblock
.RE
lnk
.RS
.TP
\fBfiles/punk/_module_winlnk-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::winlnk
.RE
module
.RS
.TP
\fBfiles/_module_modpod-0\&.1\&.0\&.tm\&.n\fR
\fBfiles/_module_modpod-0\&.1\&.2\&.tm\&.n\fR
modpod_module_modpod
.TP
\fBfiles/_module_overtype-1\&.6\&.4\&.tm\&.n\fR
\fBfiles/_module_overtype-1\&.6\&.5\&.tm\&.n\fR
overtype_module_overtype
.TP
\fBfiles/_module_overtype-1\&.6\&.3\&.tm\&.n\fR
overtype_module_overtype
\fBfiles/punk/_module_basictelnet-0\&.1\&.0\&.tm\&.n\fR
punkshell::basictelnet
.TP
\fBfiles/_module_overtype-1\&.6\&.5\&.tm\&.n\fR
overtype_module_overtype
\fBfiles/_module_argparsingtest-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_argparsingtest
.TP
\fBfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_poshinfo
.TP
\fBfiles/punk/_module_aliascore-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::aliascore
.TP
\fBfiles/punk/_module_ansi-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::ansi
@ -416,9 +539,18 @@ punkshell_module_punk::ansi
\fBfiles/punk/_module_args-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::args
.TP
\fBfiles/punk/_module_assertion-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::assertion
.TP
\fBfiles/punk/_module_blockletter-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::blockletter
.TP
\fBfiles/punk/_module_cap-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::cap
.TP
\fBfiles/punk/_module_cesu-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::cesu
.TP
\fBfiles/punk/_module_char-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::char
.TP
@ -428,63 +560,72 @@ punkshell_module_punk::console
\fBfiles/punk/_module_encmime-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::encmime
.TP
\fBfiles/punk/_module_experiment-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::experiment
.TP
\fBfiles/punk/_module_fileline-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::fileline
.TP
\fBfiles/punk/_module_flib-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::flib
.TP
\fBfiles/punk/_module_island-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::island
.TP
\fBfiles/punk/_module_lib-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::lib
.TP
\fBfiles/punk/_module_packagepreference-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::packagepreference
.TP
\fBfiles/punk/_module_path-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::path
.TP
\fBfiles/_module_textblock-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_textblock
\fBfiles/punk/_module_rest-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::rest
.TP
\fBfiles/_module_argparsingtest-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_argparsingtest
\fBfiles/punk/_module_sshrun-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::sshrun
.TP
\fBfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_poshinfo
\fBfiles/punk/_module_trie-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::trie
.TP
\fBfiles/punk/_module_aliascore-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::aliascore
\fBfiles/punk/_module_uc-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::uc
.TP
\fBfiles/punk/_module_assertion-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::assertion
\fBfiles/punk/_module_winlnk-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::winlnk
.TP
\fBfiles/punk/_module_basictelnet-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::basictelnet
\fBfiles/punk/_module_zip-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::zip
.TP
\fBfiles/punk/_module_experiment-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::experiment
\fBfiles/punk/mix/commandset/_module_scriptwrap-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_scriptwrap
.TP
\fBfiles/punk/_module_island-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::island
\fBfiles/_module_textblock-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_textblock
.TP
\fBfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR
punkshell_module_textblock
.TP
\fBfiles/punk/nav/_module_fs-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::nav::fs
.TP
\fBfiles/punk/_module_packagepreference-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::packagepreference
.TP
\fBfiles/punk/repl/_module_codethread-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::repl::codethread
.TP
\fBfiles/punk/_module_sshrun-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::sshrun
.TP
\fBfiles/punk/_module_uc-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::uc
.TP
\fBfiles/punk/_module_zip-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::zip
.TP
\fBfiles/_module_tomlish-1\&.1\&.1\&.tm\&.n\fR
tomlish_module_tomlish
.RE
package
.RS
.TP
\fBfiles/punk/_module_packagepreference-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::packagepreference
.RE
parse
.RS
.TP
@ -493,6 +634,15 @@ punkshell_module_punk::args
.TP
\fBfiles/punk/_module_fileline-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::fileline
.TP
\fBfiles/punk/_module_winlnk-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::winlnk
.RE
parsing
.RS
.TP
\fBfiles/_module_tomlish-1\&.1\&.1\&.tm\&.n\fR
tomlish_module_tomlish
.RE
path
.RS
@ -512,6 +662,24 @@ proc
\fBfiles/punk/_module_args-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::args
.RE
prompt
.RS
.TP
\fBfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_poshinfo
.RE
prompt theme
.RS
.TP
\fBfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_poshinfo
.RE
protocol
.RS
.TP
\fBfiles/punk/_module_basictelnet-0\&.1\&.0\&.tm\&.n\fR
punkshell::basictelnet
.RE
punk
.RS
.TP
@ -535,6 +703,21 @@ punkshell__project_changes
.TP
\fBfiles/project_intro\&.n\fR
punkshell__project_intro
.TP
\fBfiles/punk/repl/_module_codethread-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::repl::codethread
.RE
rest
.RS
.TP
\fBfiles/punk/_module_rest-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::rest
.RE
scriptwrap
.RS
.TP
\fBfiles/punk/mix/commandset/_module_scriptwrap-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_scriptwrap
.RE
shell
.RS
@ -548,11 +731,20 @@ punkshell__project_changes
\fBfiles/project_intro\&.n\fR
punkshell__project_intro
.RE
shortcut
.RS
.TP
\fBfiles/_module_fauxlink-0\&.1\&.1\&.tm\&.n\fR
fauxlink_module_fauxlink
.TP
\fBfiles/punk/_module_winlnk-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::winlnk
.RE
ssh
.RS
.TP
\fBfiles/punk/_module_sshrun-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::sshrun
punkshell_module_punk::sshrun
.RE
string
.RS
@ -560,29 +752,92 @@ string
\fBfiles/punk/_module_ansi-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::ansi
.RE
symlink
.RS
.TP
\fBfiles/_module_fauxlink-0\&.1\&.1\&.tm\&.n\fR
fauxlink_module_fauxlink
.RE
table
.RS
.TP
\fBfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR
punkshell_module_textblock
.RE
telnet
.RS
.TP
\fBfiles/punk/_module_basictelnet-0\&.1\&.0\&.tm\&.n\fR
punkshell::basictelnet
.RE
terminal
.RS
.TP
\fBfiles/punk/_module_basictelnet-0\&.1\&.0\&.tm\&.n\fR
punkshell::basictelnet
.TP
\fBfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_poshinfo
.TP
\fBfiles/punk/_module_ansi-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::ansi
.TP
\fBfiles/punk/_module_console-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::console
.TP
\fBfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR
punkshell_module_textblock
.TP
\fBfiles/punk/nav/_module_fs-0\&.1\&.0\&.tm\&.n\fR
shellspy_module_punk::nav::fs
.RE
text
.RS
.TP
\fBfiles/_module_overtype-1\&.6\&.4\&.tm\&.n\fR
overtype_module_overtype
.TP
\fBfiles/_module_overtype-1\&.6\&.3\&.tm\&.n\fR
overtype_module_overtype
.TP
\fBfiles/_module_overtype-1\&.6\&.5\&.tm\&.n\fR
overtype_module_overtype
.TP
\fBfiles/punk/_module_fileline-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::fileline
.TP
\fBfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR
punkshell_module_textblock
.RE
theme
.RS
.TP
\fBfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_poshinfo
.RE
toml
.RS
.TP
\fBfiles/_module_fauxlink-0\&.1\&.1\&.tm\&.n\fR
fauxlink_module_fauxlink
.TP
\fBfiles/_module_tomlish-1\&.1\&.1\&.tm\&.n\fR
tomlish_module_tomlish
.RE
trie
.RS
.TP
\fBfiles/punk/_module_trie-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::trie
.RE
unicode
.RS
.TP
\fBfiles/punk/_module_uc-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::uc
.RE
unofficial
.RS
.TP
\fBfiles/punk/_module_cesu-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::cesu
.TP
\fBfiles/punk/_module_uc-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::uc
.RE
utility
.RS
@ -593,4 +848,22 @@ punkshell_module_punk::lib
\fBfiles/_module_textblock-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_textblock
.RE
wcswidth
.RS
.TP
\fBfiles/punk/_module_uc-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::uc
.RE
windows
.RS
.TP
\fBfiles/punk/_module_winlnk-0\&.1\&.0\&.tm\&.n\fR
punkshell_module_punk::winlnk
.RE
zip
.RS
.TP
\fBfiles/punk/_module_zip-0\&.1\&.1\&.tm\&.n\fR
punkshell_module_punk::zip
.RE
.RE

91
src/embedded/man/toc.n

@ -273,14 +273,11 @@ Database Class: \\fB\\$3\\fR
doc
.RS
.TP
\fBmodpod_module_modpod\fR
\fIfiles/_module_modpod-0\&.1\&.0\&.tm\&.n\fR: Module API
.TP
\fBovertype_module_overtype\fR
\fIfiles/_module_overtype-1\&.6\&.4\&.tm\&.n\fR: overtype text layout - ansi aware
\fBfauxlink_module_fauxlink\fR
\fIfiles/_module_fauxlink-0\&.1\&.1\&.tm\&.n\fR: faux link application shortcuts
.TP
\fBovertype_module_overtype\fR
\fIfiles/_module_overtype-1\&.6\&.3\&.tm\&.n\fR: overtype text layout - ansi aware
\fBmodpod_module_modpod\fR
\fIfiles/_module_modpod-0\&.1\&.2\&.tm\&.n\fR: Module API
.TP
\fBovertype_module_overtype\fR
\fIfiles/_module_overtype-1\&.6\&.5\&.tm\&.n\fR: overtype text layout - ansi aware
@ -288,21 +285,42 @@ doc
\fBpunkshell\fR
\fIfiles/main\&.n\fR: punkshell - Core
.TP
\fBpunkshell::basictelnet\fR
\fIfiles/punk/_module_basictelnet-0\&.1\&.0\&.tm\&.n\fR: basic telnet client - DKF/Wiki
.TP
\fBpunkshell__project_changes\fR
\fIfiles/project_changes\&.n\fR: punkshell Changes
.TP
\fBpunkshell__project_intro\fR
\fIfiles/project_intro\&.n\fR: Introduction to punkshell
.TP
\fBpunkshell_module_argparsingtest\fR
\fIfiles/_module_argparsingtest-0\&.1\&.0\&.tm\&.n\fR: Module API
.TP
\fBpunkshell_module_poshinfo\fR
\fIfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR: poshinfo prompt theme tool
.TP
\fBpunkshell_module_punk::aliascore\fR
\fIfiles/punk/_module_aliascore-0\&.1\&.0\&.tm\&.n\fR: punkshell command aliases
.TP
\fBpunkshell_module_punk::ansi\fR
\fIfiles/punk/_module_ansi-0\&.1\&.1\&.tm\&.n\fR: Ansi string functions
.TP
\fBpunkshell_module_punk::args\fR
\fIfiles/punk/_module_args-0\&.1\&.0\&.tm\&.n\fR: args parsing
.TP
\fBpunkshell_module_punk::assertion\fR
\fIfiles/punk/_module_assertion-0\&.1\&.0\&.tm\&.n\fR: assertion alternative to control::assert
.TP
\fBpunkshell_module_punk::blockletter\fR
\fIfiles/punk/_module_blockletter-0\&.1\&.0\&.tm\&.n\fR: punk::blockletter frame-based large lettering test/logo
.TP
\fBpunkshell_module_punk::cap\fR
\fIfiles/punk/_module_cap-0\&.1\&.0\&.tm\&.n\fR: capability provider and handler plugin system
.TP
\fBpunkshell_module_punk::cesu\fR
\fIfiles/punk/_module_cesu-0\&.1\&.0\&.tm\&.n\fR: CESU compatibility ehcoding scheme for utf-16: 8-Bit (CESU-8) ??
.TP
\fBpunkshell_module_punk::char\fR
\fIfiles/punk/_module_char-0\&.1\&.0\&.tm\&.n\fR: character-set and unicode utilities
.TP
@ -312,62 +330,65 @@ doc
\fBpunkshell_module_punk::encmime\fR
\fIfiles/punk/_module_encmime-0\&.1\&.0\&.tm\&.n\fR: mime encodings related subset of tcllib mime
.TP
\fBpunkshell_module_punk::experiment\fR
\fIfiles/punk/_module_experiment-0\&.1\&.0\&.tm\&.n\fR: Module API
.TP
\fBpunkshell_module_punk::fileline\fR
\fIfiles/punk/_module_fileline-0\&.1\&.0\&.tm\&.n\fR: file line-handling utilities
.TP
\fBpunkshell_module_punk::flib\fR
\fIfiles/punk/_module_flib-0\&.1\&.0\&.tm\&.n\fR: flib experimental
.TP
\fBpunkshell_module_punk::island\fR
\fIfiles/punk/_module_island-0\&.1\&.0\&.tm\&.n\fR: filesystem islands for safe interps
.TP
\fBpunkshell_module_punk::lib\fR
\fIfiles/punk/_module_lib-0\&.1\&.1\&.tm\&.n\fR: punk general utility functions
.TP
\fBpunkshell_module_punk::mix::commandset::project\fR
\fIfiles/punk/mix/commandset/_module_project-0\&.1\&.0\&.tm\&.n\fR: dec commandset - project
.TP
\fBpunkshell_module_punk::packagepreference\fR
\fIfiles/punk/_module_packagepreference-0\&.1\&.0\&.tm\&.n\fR: punkshell package/module loading
.TP
\fBpunkshell_module_punk::path\fR
\fIfiles/punk/_module_path-0\&.1\&.0\&.tm\&.n\fR: Filesystem path utilities
.TP
\fBpunkshell_module_textblock\fR
\fIfiles/_module_textblock-0\&.1\&.1\&.tm\&.n\fR: punk textblock functions
\fBpunkshell_module_punk::rest\fR
\fIfiles/punk/_module_rest-0\&.1\&.0\&.tm\&.n\fR: punk::rest
.TP
\fBshellspy_module_argparsingtest\fR
\fIfiles/_module_argparsingtest-0\&.1\&.0\&.tm\&.n\fR: Module API
\fBpunkshell_module_punk::sshrun\fR
\fIfiles/punk/_module_sshrun-0\&.1\&.0\&.tm\&.n\fR: Tcl procedures to execute tcl scripts in remote hosts
.TP
\fBshellspy_module_poshinfo\fR
\fIfiles/_module_poshinfo-0\&.1\&.0\&.tm\&.n\fR: Module API
\fBpunkshell_module_punk::trie\fR
\fIfiles/punk/_module_trie-0\&.1\&.0\&.tm\&.n\fR: punk::trie API
.TP
\fBshellspy_module_punk::aliascore\fR
\fIfiles/punk/_module_aliascore-0\&.1\&.0\&.tm\&.n\fR: Module API
\fBpunkshell_module_punk::uc\fR
\fIfiles/punk/_module_uc-0\&.1\&.0\&.tm\&.n\fR: Module API
.TP
\fBshellspy_module_punk::assertion\fR
\fIfiles/punk/_module_assertion-0\&.1\&.0\&.tm\&.n\fR: assertion alternative to control::assert
\fBpunkshell_module_punk::winlnk\fR
\fIfiles/punk/_module_winlnk-0\&.1\&.0\&.tm\&.n\fR: windows shortcut \&.lnk library
.TP
\fBshellspy_module_punk::basictelnet\fR
\fIfiles/punk/_module_basictelnet-0\&.1\&.0\&.tm\&.n\fR: basic telnet client - DKF/Wiki
\fBpunkshell_module_punk::zip\fR
\fIfiles/punk/_module_zip-0\&.1\&.1\&.tm\&.n\fR: Module API
.TP
\fBshellspy_module_punk::experiment\fR
\fIfiles/punk/_module_experiment-0\&.1\&.0\&.tm\&.n\fR: Module API
\fBpunkshell_module_scriptwrap\fR
\fIfiles/punk/mix/commandset/_module_scriptwrap-0\&.1\&.0\&.tm\&.n\fR: scriptwrap polyglot tool
.TP
\fBshellspy_module_punk::island\fR
\fIfiles/punk/_module_island-0\&.1\&.0\&.tm\&.n\fR: filesystem islands for safe interps
\fBpunkshell_module_textblock\fR
\fIfiles/_module_textblock-0\&.1\&.1\&.tm\&.n\fR: punk textblock functions
.TP
\fBshellspy_module_punk::nav::fs\fR
\fIfiles/punk/nav/_module_fs-0\&.1\&.0\&.tm\&.n\fR: Module API
\fBpunkshell_module_textblock\fR
\fIfiles/_module_textblock-0\&.1\&.2\&.tm\&.n\fR: punk textblock functions
.TP
\fBshellspy_module_punk::packagepreference\fR
\fIfiles/punk/_module_packagepreference-0\&.1\&.0\&.tm\&.n\fR: Module API
\fBshellspy_module_punk::nav::fs\fR
\fIfiles/punk/nav/_module_fs-0\&.1\&.0\&.tm\&.n\fR: punk::nav::fs console filesystem navigation
.TP
\fBshellspy_module_punk::repl::codethread\fR
\fIfiles/punk/repl/_module_codethread-0\&.1\&.0\&.tm\&.n\fR: Module API
.TP
\fBshellspy_module_punk::sshrun\fR
\fIfiles/punk/_module_sshrun-0\&.1\&.0\&.tm\&.n\fR: Tcl procedures to execute tcl scripts in remote hosts
.TP
\fBshellspy_module_punk::uc\fR
\fIfiles/punk/_module_uc-0\&.1\&.0\&.tm\&.n\fR: Module API
\fIfiles/punk/repl/_module_codethread-0\&.1\&.0\&.tm\&.n\fR: Module repl codethread
.TP
\fBshellspy_module_punk::zip\fR
\fIfiles/punk/_module_zip-0\&.1\&.0\&.tm\&.n\fR: Module API
.TP
\fBtomlish_module_tomlish\fR
\fIfiles/_module_tomlish-1\&.1\&.1\&.tm\&.n\fR: Module API
\fIfiles/_module_tomlish-1\&.1\&.1\&.tm\&.n\fR: tomlish toml parser

73
src/embedded/md/.doc/tocdoc

@ -1,35 +1,42 @@
[toc_begin {Table Of Contents} doc]
[item doc/files/_module_modpod-0.1.0.tm.md modpod_module_modpod {Module API}]
[item doc/files/_module_overtype-1.6.3.tm.md overtype_module_overtype {overtype text layout - ansi aware}]
[item doc/files/_module_overtype-1.6.4.tm.md overtype_module_overtype {overtype text layout - ansi aware}]
[item doc/files/_module_overtype-1.6.5.tm.md overtype_module_overtype {overtype text layout - ansi aware}]
[item doc/files/main.md punkshell {punkshell - Core}]
[item doc/files/project_changes.md punkshell__project_changes {punkshell Changes}]
[item doc/files/project_intro.md punkshell__project_intro {Introduction to punkshell}]
[item doc/files/punk/_module_ansi-0.1.1.tm.md punkshell_module_punk::ansi {Ansi string functions}]
[item doc/files/punk/_module_args-0.1.0.tm.md punkshell_module_punk::args {args parsing}]
[item doc/files/punk/_module_cap-0.1.0.tm.md punkshell_module_punk::cap {capability provider and handler plugin system}]
[item doc/files/punk/_module_char-0.1.0.tm.md punkshell_module_punk::char {character-set and unicode utilities}]
[item doc/files/punk/_module_console-0.1.1.tm.md punkshell_module_punk::console {punk console}]
[item doc/files/punk/_module_encmime-0.1.0.tm.md punkshell_module_punk::encmime {mime encodings related subset of tcllib mime}]
[item doc/files/punk/_module_fileline-0.1.0.tm.md punkshell_module_punk::fileline {file line-handling utilities}]
[item doc/files/punk/_module_flib-0.1.0.tm.md punkshell_module_punk::flib {flib experimental}]
[item doc/files/punk/_module_lib-0.1.1.tm.md punkshell_module_punk::lib {punk general utility functions}]
[item doc/files/punk/mix/commandset/_module_project-0.1.0.tm.md punkshell_module_punk::mix::commandset::project {dec commandset - project}]
[item doc/files/punk/_module_path-0.1.0.tm.md punkshell_module_punk::path {Filesystem path utilities}]
[item doc/files/_module_textblock-0.1.1.tm.md punkshell_module_textblock {punk textblock functions}]
[item doc/files/_module_argparsingtest-0.1.0.tm.md shellspy_module_argparsingtest {Module API}]
[item doc/files/_module_poshinfo-0.1.0.tm.md shellspy_module_poshinfo {Module API}]
[item doc/files/punk/_module_aliascore-0.1.0.tm.md shellspy_module_punk::aliascore {Module API}]
[item doc/files/punk/_module_assertion-0.1.0.tm.md shellspy_module_punk::assertion {assertion alternative to control::assert}]
[item doc/files/punk/_module_basictelnet-0.1.0.tm.md shellspy_module_punk::basictelnet {basic telnet client - DKF/Wiki}]
[item doc/files/punk/_module_experiment-0.1.0.tm.md shellspy_module_punk::experiment {Module API}]
[item doc/files/punk/_module_island-0.1.0.tm.md shellspy_module_punk::island {filesystem islands for safe interps}]
[item doc/files/punk/nav/_module_fs-0.1.0.tm.md shellspy_module_punk::nav::fs {Module API}]
[item doc/files/punk/_module_packagepreference-0.1.0.tm.md shellspy_module_punk::packagepreference {Module API}]
[item doc/files/punk/repl/_module_codethread-0.1.0.tm.md shellspy_module_punk::repl::codethread {Module API}]
[item doc/files/punk/_module_sshrun-0.1.0.tm.md shellspy_module_punk::sshrun {Tcl procedures to execute tcl scripts in remote hosts}]
[item doc/files/punk/_module_uc-0.1.0.tm.md shellspy_module_punk::uc {Module API}]
[item doc/files/punk/_module_zip-0.1.0.tm.md shellspy_module_punk::zip {Module API}]
[item doc/files/_module_tomlish-1.1.1.tm.md tomlish_module_tomlish {Module API}]
[item doc/files/_module_fauxlink-0.1.1.tm.md fauxlink_module_fauxlink {faux link application shortcuts}]
[item doc/files/_module_modpod-0.1.2.tm.md modpod_module_modpod {Module API}]
[item doc/files/_module_overtype-1.6.5.tm.md overtype_module_overtype {overtype text layout - ansi aware}]
[item doc/files/main.md punkshell {punkshell - Core}]
[item doc/files/punk/_module_basictelnet-0.1.0.tm.md punkshell::basictelnet {basic telnet client - DKF/Wiki}]
[item doc/files/project_changes.md punkshell__project_changes {punkshell Changes}]
[item doc/files/project_intro.md punkshell__project_intro {Introduction to punkshell}]
[item doc/files/_module_argparsingtest-0.1.0.tm.md punkshell_module_argparsingtest {Module API}]
[item doc/files/_module_poshinfo-0.1.0.tm.md punkshell_module_poshinfo {poshinfo prompt theme tool}]
[item doc/files/punk/_module_aliascore-0.1.0.tm.md punkshell_module_punk::aliascore {punkshell command aliases}]
[item doc/files/punk/_module_ansi-0.1.1.tm.md punkshell_module_punk::ansi {Ansi string functions}]
[item doc/files/punk/_module_args-0.1.0.tm.md punkshell_module_punk::args {args parsing}]
[item doc/files/punk/_module_assertion-0.1.0.tm.md punkshell_module_punk::assertion {assertion alternative to control::assert}]
[item doc/files/punk/_module_blockletter-0.1.0.tm.md punkshell_module_punk::blockletter {punk::blockletter frame-based large lettering test/logo}]
[item doc/files/punk/_module_cap-0.1.0.tm.md punkshell_module_punk::cap {capability provider and handler plugin system}]
[item doc/files/punk/_module_cesu-0.1.0.tm.md punkshell_module_punk::cesu {CESU compatibility ehcoding scheme for utf-16: 8-Bit (CESU-8) ??}]
[item doc/files/punk/_module_char-0.1.0.tm.md punkshell_module_punk::char {character-set and unicode utilities}]
[item doc/files/punk/_module_console-0.1.1.tm.md punkshell_module_punk::console {punk console}]
[item doc/files/punk/_module_encmime-0.1.0.tm.md punkshell_module_punk::encmime {mime encodings related subset of tcllib mime}]
[item doc/files/punk/_module_experiment-0.1.0.tm.md punkshell_module_punk::experiment {Module API}]
[item doc/files/punk/_module_fileline-0.1.0.tm.md punkshell_module_punk::fileline {file line-handling utilities}]
[item doc/files/punk/_module_flib-0.1.0.tm.md punkshell_module_punk::flib {flib experimental}]
[item doc/files/punk/_module_island-0.1.0.tm.md punkshell_module_punk::island {filesystem islands for safe interps}]
[item doc/files/punk/_module_lib-0.1.1.tm.md punkshell_module_punk::lib {punk general utility functions}]
[item doc/files/punk/mix/commandset/_module_project-0.1.0.tm.md punkshell_module_punk::mix::commandset::project {dec commandset - project}]
[item doc/files/punk/_module_packagepreference-0.1.0.tm.md punkshell_module_punk::packagepreference {punkshell package/module loading}]
[item doc/files/punk/_module_path-0.1.0.tm.md punkshell_module_punk::path {Filesystem path utilities}]
[item doc/files/punk/_module_rest-0.1.0.tm.md punkshell_module_punk::rest punk::rest]
[item doc/files/punk/_module_sshrun-0.1.0.tm.md punkshell_module_punk::sshrun {Tcl procedures to execute tcl scripts in remote hosts}]
[item doc/files/punk/_module_trie-0.1.0.tm.md punkshell_module_punk::trie {punk::trie API}]
[item doc/files/punk/_module_uc-0.1.0.tm.md punkshell_module_punk::uc {Module API}]
[item doc/files/punk/_module_winlnk-0.1.0.tm.md punkshell_module_punk::winlnk {windows shortcut .lnk library}]
[item doc/files/punk/_module_zip-0.1.1.tm.md punkshell_module_punk::zip {Module API}]
[item doc/files/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.md punkshell_module_scriptwrap {scriptwrap polyglot tool}]
[item doc/files/_module_textblock-0.1.1.tm.md punkshell_module_textblock {punk textblock functions}]
[item doc/files/_module_textblock-0.1.2.tm.md punkshell_module_textblock {punk textblock functions}]
[item doc/files/punk/nav/_module_fs-0.1.0.tm.md shellspy_module_punk::nav::fs {punk::nav::fs console filesystem navigation}]
[item doc/files/punk/repl/_module_codethread-0.1.0.tm.md shellspy_module_punk::repl::codethread {Module repl codethread}]
[item doc/files/punk/_module_zip-0.1.0.tm.md shellspy_module_punk::zip {Module API}]
[item doc/files/_module_tomlish-1.1.1.tm.md tomlish_module_tomlish {tomlish toml parser}]
[toc_end]

2
src/embedded/md/.idx

File diff suppressed because one or more lines are too long

2
src/embedded/md/.toc

@ -1 +1 @@
doc {doc/toc {{doc/files/punk/_module_uc-0.1.0.tm.md shellspy_module_punk::uc {Module API}} {doc/files/punk/_module_lib-0.1.1.tm.md punkshell_module_punk::lib {punk general utility functions}} {doc/files/punk/_module_assertion-0.1.0.tm.md shellspy_module_punk::assertion {assertion alternative to control::assert}} {doc/files/project_intro.md punkshell__project_intro {Introduction to punkshell}} {doc/files/punk/_module_experiment-0.1.0.tm.md shellspy_module_punk::experiment {Module API}} {doc/files/_module_poshinfo-0.1.0.tm.md shellspy_module_poshinfo {Module API}} {doc/files/_module_argparsingtest-0.1.0.tm.md shellspy_module_argparsingtest {Module API}} {doc/files/_module_overtype-1.6.3.tm.md overtype_module_overtype {overtype text layout - ansi aware}} {doc/files/punk/_module_sshrun-0.1.0.tm.md shellspy_module_punk::sshrun {Tcl procedures to execute tcl scripts in remote hosts}} {doc/files/punk/_module_packagepreference-0.1.0.tm.md shellspy_module_punk::packagepreference {Module API}} {doc/files/punk/_module_island-0.1.0.tm.md shellspy_module_punk::island {filesystem islands for safe interps}} {doc/files/punk/_module_aliascore-0.1.0.tm.md shellspy_module_punk::aliascore {Module API}} {doc/files/main.md punkshell {punkshell - Core}} {doc/files/_module_overtype-1.6.4.tm.md overtype_module_overtype {overtype text layout - ansi aware}} {doc/files/punk/_module_console-0.1.1.tm.md punkshell_module_punk::console {punk console}} {doc/files/_module_textblock-0.1.1.tm.md punkshell_module_textblock {punk textblock functions}} {doc/files/_module_overtype-1.6.5.tm.md overtype_module_overtype {overtype text layout - ansi aware}} {doc/files/punk/_module_flib-0.1.0.tm.md punkshell_module_punk::flib {flib experimental}} {doc/files/_module_tomlish-1.1.1.tm.md tomlish_module_tomlish {Module API}} {doc/files/punk/mix/commandset/_module_project-0.1.0.tm.md punkshell_module_punk::mix::commandset::project {dec commandset - project}} {doc/files/punk/_module_basictelnet-0.1.0.tm.md shellspy_module_punk::basictelnet {basic telnet client - DKF/Wiki}} {doc/files/punk/_module_fileline-0.1.0.tm.md punkshell_module_punk::fileline {file line-handling utilities}} {doc/files/punk/_module_zip-0.1.0.tm.md shellspy_module_punk::zip {Module API}} {doc/files/punk/_module_cap-0.1.0.tm.md punkshell_module_punk::cap {capability provider and handler plugin system}} {doc/files/punk/_module_ansi-0.1.1.tm.md punkshell_module_punk::ansi {Ansi string functions}} {doc/files/punk/repl/_module_codethread-0.1.0.tm.md shellspy_module_punk::repl::codethread {Module API}} {doc/files/punk/nav/_module_fs-0.1.0.tm.md shellspy_module_punk::nav::fs {Module API}} {doc/files/punk/_module_path-0.1.0.tm.md punkshell_module_punk::path {Filesystem path utilities}} {doc/files/punk/_module_args-0.1.0.tm.md punkshell_module_punk::args {args parsing}} {doc/files/project_changes.md punkshell__project_changes {punkshell Changes}} {doc/files/punk/_module_encmime-0.1.0.tm.md punkshell_module_punk::encmime {mime encodings related subset of tcllib mime}} {doc/files/punk/_module_char-0.1.0.tm.md punkshell_module_punk::char {character-set and unicode utilities}} {doc/files/_module_modpod-0.1.0.tm.md modpod_module_modpod {Module API}}}}
doc {doc/toc {{doc/files/punk/_module_uc-0.1.0.tm.md punkshell_module_punk::uc {Module API}} {doc/files/punk/_module_lib-0.1.1.tm.md punkshell_module_punk::lib {punk general utility functions}} {doc/files/punk/_module_cesu-0.1.0.tm.md punkshell_module_punk::cesu {CESU compatibility ehcoding scheme for utf-16: 8-Bit (CESU-8) ??}} {doc/files/punk/_module_assertion-0.1.0.tm.md punkshell_module_punk::assertion {assertion alternative to control::assert}} {doc/files/project_intro.md punkshell__project_intro {Introduction to punkshell}} {doc/files/_module_modpod-0.1.2.tm.md modpod_module_modpod {Module API}} {doc/files/punk/_module_experiment-0.1.0.tm.md punkshell_module_punk::experiment {Module API}} {doc/files/_module_poshinfo-0.1.0.tm.md punkshell_module_poshinfo {poshinfo prompt theme tool}} {doc/files/_module_argparsingtest-0.1.0.tm.md punkshell_module_argparsingtest {Module API}} {doc/files/punk/_module_sshrun-0.1.0.tm.md punkshell_module_punk::sshrun {Tcl procedures to execute tcl scripts in remote hosts}} {doc/files/punk/_module_packagepreference-0.1.0.tm.md punkshell_module_punk::packagepreference {punkshell package/module loading}} {doc/files/punk/_module_island-0.1.0.tm.md punkshell_module_punk::island {filesystem islands for safe interps}} {doc/files/punk/_module_aliascore-0.1.0.tm.md punkshell_module_punk::aliascore {punkshell command aliases}} {doc/files/main.md punkshell {punkshell - Core}} {doc/files/punk/_module_console-0.1.1.tm.md punkshell_module_punk::console {punk console}} {doc/files/_module_textblock-0.1.1.tm.md punkshell_module_textblock {punk textblock functions}} {doc/files/_module_overtype-1.6.5.tm.md overtype_module_overtype {overtype text layout - ansi aware}} {doc/files/punk/_module_flib-0.1.0.tm.md punkshell_module_punk::flib {flib experimental}} {doc/files/_module_tomlish-1.1.1.tm.md tomlish_module_tomlish {tomlish toml parser}} {doc/files/_module_textblock-0.1.2.tm.md punkshell_module_textblock {punk textblock functions}} {doc/files/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.md punkshell_module_scriptwrap {scriptwrap polyglot tool}} {doc/files/punk/mix/commandset/_module_project-0.1.0.tm.md punkshell_module_punk::mix::commandset::project {dec commandset - project}} {doc/files/punk/_module_rest-0.1.0.tm.md punkshell_module_punk::rest punk::rest} {doc/files/punk/_module_basictelnet-0.1.0.tm.md punkshell::basictelnet {basic telnet client - DKF/Wiki}} {doc/files/_module_fauxlink-0.1.1.tm.md fauxlink_module_fauxlink {faux link application shortcuts}} {doc/files/punk/_module_fileline-0.1.0.tm.md punkshell_module_punk::fileline {file line-handling utilities}} {doc/files/punk/_module_zip-0.1.0.tm.md shellspy_module_punk::zip {Module API}} {doc/files/punk/_module_winlnk-0.1.0.tm.md punkshell_module_punk::winlnk {windows shortcut .lnk library}} {doc/files/punk/_module_blockletter-0.1.0.tm.md punkshell_module_punk::blockletter {punk::blockletter frame-based large lettering test/logo}} {doc/files/punk/_module_zip-0.1.1.tm.md punkshell_module_punk::zip {Module API}} {doc/files/punk/_module_trie-0.1.0.tm.md punkshell_module_punk::trie {punk::trie API}} {doc/files/punk/_module_cap-0.1.0.tm.md punkshell_module_punk::cap {capability provider and handler plugin system}} {doc/files/punk/_module_ansi-0.1.1.tm.md punkshell_module_punk::ansi {Ansi string functions}} {doc/files/punk/repl/_module_codethread-0.1.0.tm.md shellspy_module_punk::repl::codethread {Module repl codethread}} {doc/files/punk/nav/_module_fs-0.1.0.tm.md shellspy_module_punk::nav::fs {punk::nav::fs console filesystem navigation}} {doc/files/punk/_module_path-0.1.0.tm.md punkshell_module_punk::path {Filesystem path utilities}} {doc/files/punk/_module_args-0.1.0.tm.md punkshell_module_punk::args {args parsing}} {doc/files/project_changes.md punkshell__project_changes {punkshell Changes}} {doc/files/punk/_module_encmime-0.1.0.tm.md punkshell_module_punk::encmime {mime encodings related subset of tcllib mime}} {doc/files/punk/_module_char-0.1.0.tm.md punkshell_module_punk::char {character-set and unicode utilities}}}}

2
src/embedded/md/.xrf

File diff suppressed because one or more lines are too long

6
src/embedded/md/doc/files/_module_argparsingtest-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_argparsingtest \- \-)
[//000000001]: # (punkshell\_module\_argparsingtest \- \-)
[//000000002]: # (Generated from file '\_module\_argparsingtest\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_argparsingtest\(0\) 0\.1\.0 doc "\-")
[//000000004]: # (punkshell\_module\_argparsingtest\(0\) 0\.1\.0 doc "\-")
<hr> [ <a href="../../toc.md">Main Table Of Contents</a> &#124; <a
href="../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_argparsingtest \- Module API
punkshell\_module\_argparsingtest \- Module API
# <a name='toc'></a>Table Of Contents

168
src/embedded/md/doc/files/_module_fauxlink-0.1.1.tm.md

@ -0,0 +1,168 @@
[//000000001]: # (fauxlink\_module\_fauxlink \- fauxlink \.fxlnk)
[//000000002]: # (Generated from file '\_module\_fauxlink\-0\.1\.1\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (fauxlink\_module\_fauxlink\(0\) 0\.1\.1 doc "fauxlink \.fxlnk")
<hr> [ <a href="../../toc.md">Main Table Of Contents</a> &#124; <a
href="../toc.md">Table Of Contents</a> &#124; <a
href="../../index.md">Keyword Index</a> ] <hr>
# NAME
fauxlink\_module\_fauxlink \- faux link application shortcuts
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace fauxlink::class](#subsection3)
- [Namespace fauxlink](#subsection4)
- [Namespace fauxlink::lib](#subsection5)
- [Internal](#section4)
- [Namespace fauxlink::system](#subsection6)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require fauxlink
# <a name='description'></a>DESCRIPTION
A cross platform shortcut/symlink alternative\.
Unapologetically ugly \- but practical in certain circumstances\.
A solution is required for application\-driven filesystem links that survives
cross platform moves as well as
archiving and packaging systems\.
The target is specified in a minimally\-encoded form in the filename itself \- but
still human readable\.
format of name <nominalname>\#<encodedtarget>\.fxlnk
where <nominalname> can be empty \- then the effective nominal name is the tail
of the <encodedtarget>
The \+ symbol substitutes for forward\-slashes\.
Other chars can be encoded using url\-like encoding \- \(but only up to %7E \!\)
We deliberately treat higher % sequences literally\.
This means actual uri::urn encoded unicode sequences \(e\.g %E2%99%A5 \[heart\]\) can
remain literal for linking to urls\.
e\.g if an actual \+ or \# is required in a filename or path segment they can be
encoded as %2B & %23
e\.g a link to a file file\#A\.txt in parent dir could be:
file%23A\.txt\#\.\.\+file%23A\.txt\.fxlnk
or equivalently \(but obviously affecting sorting\) \#\.\.\+file%23A\.txt\.fxlnk
The <nominalname> can be unrelated to the actual target
e\.g datafile\.dat\#\.\.\+file%23A\.txt\.fxlnk
This system has no filesystem support \- and must be completely application
driven\.
This can be useful for example in application test packages which may be tarred
or zipped and moved cross platform\.
The target being fully specified in the name means the file doesn't have to be
read for the target to be determined
Extensions to behaviour should be added in the file as text data in Toml format,
with custom data being under a single application\-chosen table name
The toplevel Toml table \[fauxlink\] is reserved for core extensions to this
system\.
Aside from the 2 used for delimiting \(\+ \#\)
certain characters which might normally be allowed in filesystems are required
to be encoded
e\.g space and tab are required to be %20 %09
Others that require encoding are: \* ? \\ / &#124; : ; " < >
The nul character in raw form, when detected, is always mapped away to the empty
string \- as very few filesystems support it\.
Control characters and other punctuation is optional to encode\.
Generally utf\-8 should be used where possible and unicode characters can often
be left unencoded on modern systems\.
Where encoding of unicode is desired in the nominalname,encodedtarget,tag or
comment portions it can be specified as %UXXXXXXXX
There must be between 1 and 8 X digits following the %U\. Interpretation of chars
following %U stops at the first non\-hex character\.
This means %Utest would not get any translation as there were no hex digits so
it would come out as %Utest \+\+ \+\+\+ \+\+\+ \+\+\+ \+\+\+ \+\+\+ \+\+\+ \+\+\+ \+\+\+ \+\+\+ \+\+\+
# <a name='section2'></a>Overview
overview of fauxlink
## <a name='subsection1'></a>Concepts
\-
## <a name='subsection2'></a>dependencies
packages used by fauxlink
- __Tcl 8\.6\-__
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace fauxlink::class
class definitions
## <a name='subsection4'></a>Namespace fauxlink
## <a name='subsection5'></a>Namespace fauxlink::lib
# <a name='section4'></a>Internal
## <a name='subsection6'></a>Namespace fauxlink::system
# <a name='keywords'></a>KEYWORDS
[fake](\.\./\.\./index\.md\#fake), [faux](\.\./\.\./index\.md\#faux),
[shortcut](\.\./\.\./index\.md\#shortcut), [symlink](\.\./\.\./index\.md\#symlink),
[toml](\.\./\.\./index\.md\#toml)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

4
src/embedded/md/doc/files/_module_modpod-0.1.0.tm.md → src/embedded/md/doc/files/_module_modpod-0.1.2.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (modpod\_module\_modpod \- \-)
[//000000002]: # (Generated from file '\_module\_modpod\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000002]: # (Generated from file '\_module\_modpod\-0\.1\.2\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (modpod\_module\_modpod\(0\) 0\.1\.0 doc "\-")
[//000000004]: # (modpod\_module\_modpod\(0\) 0\.1\.2 doc "\-")
<hr> [ <a href="../../toc.md">Main Table Of Contents</a> &#124; <a
href="../toc.md">Table Of Contents</a> &#124; <a

139
src/embedded/md/doc/files/_module_overtype-1.6.3.tm.md

@ -1,139 +0,0 @@
[//000000001]: # (overtype\_module\_overtype \- overtype text layout)
[//000000002]: # (Generated from file '\_module\_overtype\-1\.6\.3\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (overtype\_module\_overtype\(0\) 1\.6\.3 doc "overtype text layout")
<hr> [ <a href="../../toc.md">Main Table Of Contents</a> &#124; <a
href="../toc.md">Table Of Contents</a> &#124; <a
href="../../index.md">Keyword Index</a> ] <hr>
# NAME
overtype\_module\_overtype \- overtype text layout \- ansi aware
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace overtype](#subsection3)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require overtype
[__overtype::renderspace__ *args*](#1)
[__overtype::renderline__ *args*](#2)
# <a name='description'></a>DESCRIPTION
\-
# <a name='section2'></a>Overview
overview of overtype
## <a name='subsection1'></a>Concepts
\-
## <a name='subsection2'></a>dependencies
packages used by overtype
- __Tcl 8\.6__
- __textutil__
- __punk::ansi__
\- required to detect, split, strip and calculate lengths of text possibly
containing ansi codes
- __punk::char__
\- box drawing \- and also unicode character width determination for proper
layout of text with double\-column\-width chars
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace overtype
Core API functions for overtype
- <a name='1'></a>__overtype::renderspace__ *args*
usage: ?\-transparent \[0&#124;1\]? ?\-overflow \[1&#124;0\]? ?\-ellipsis \[1&#124;0\]?
?\-ellipsistext \.\.\.? undertext overtext
- <a name='2'></a>__overtype::renderline__ *args*
renderline is the core engine for overtype string processing \(frames &
textblocks\), and the raw mode commandline repl for the Tcl Punk Shell
It is also a central part of an ansi \(micro\) virtual terminal\-emulator of
sorts
This system does a half decent job at rendering 90's ANSI art to manipulable
colour text blocks that can be joined & framed for layout display within a
unix or windows terminal
Renderline helps maintain ANSI text styling reset/replay codes so that the
styling of one block doesn't affect another\.
Calling on the punk::ansi library \- it can coalesce codes to keep the size
down\.
It is a giant mess of doing exactly what common wisdom says not to do\.\.\.
lots at once\.
renderline is part of the Unicode and ANSI aware Overtype system which
'renders' a block of text onto a static underlay
The underlay is generally expected to be an ordered set of lines or a
rectangular text block analogous to a terminal screen \- but it can also be
ragged in line length, or just blank\.
The overlay couuld be similar \- in which case it may often be used to
overwrite a column or section of the underlay\.
The overlay could however be a sequence of ANSI\-laden text that jumps all
over the place\.
renderline itself only deals with a single line \- or sometimes a single
character\. It is generally called from a loop that does further
terminal\-like or textblock processing\.
By suppyling the \-info 1 option \- it can return various fields indicating
the state of the render\.
The main 3 are the result, overflow\_right, and unapplied\.
Renderline handles cursor movements from either keystrokes or ANSI sequences
but for a full system the aforementioned loop will need to be in place to
manage the set of lines under manipulation\.
# <a name='keywords'></a>KEYWORDS
[ansi](\.\./\.\./index\.md\#ansi), [module](\.\./\.\./index\.md\#module),
[text](\.\./\.\./index\.md\#text)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

139
src/embedded/md/doc/files/_module_overtype-1.6.4.tm.md

@ -1,139 +0,0 @@
[//000000001]: # (overtype\_module\_overtype \- overtype text layout)
[//000000002]: # (Generated from file '\_module\_overtype\-1\.6\.4\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (overtype\_module\_overtype\(0\) 1\.6\.4 doc "overtype text layout")
<hr> [ <a href="../../toc.md">Main Table Of Contents</a> &#124; <a
href="../toc.md">Table Of Contents</a> &#124; <a
href="../../index.md">Keyword Index</a> ] <hr>
# NAME
overtype\_module\_overtype \- overtype text layout \- ansi aware
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace overtype](#subsection3)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require overtype
[__overtype::renderspace__ *args*](#1)
[__overtype::renderline__ *args*](#2)
# <a name='description'></a>DESCRIPTION
\-
# <a name='section2'></a>Overview
overview of overtype
## <a name='subsection1'></a>Concepts
\-
## <a name='subsection2'></a>dependencies
packages used by overtype
- __Tcl 8\.6__
- __textutil__
- __punk::ansi__
\- required to detect, split, strip and calculate lengths of text possibly
containing ansi codes
- __punk::char__
\- box drawing \- and also unicode character width determination for proper
layout of text with double\-column\-width chars
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace overtype
Core API functions for overtype
- <a name='1'></a>__overtype::renderspace__ *args*
usage: ?\-transparent \[0&#124;1\]? ?\-overflow \[1&#124;0\]? ?\-ellipsis \[1&#124;0\]?
?\-ellipsistext \.\.\.? undertext overtext
- <a name='2'></a>__overtype::renderline__ *args*
renderline is the core engine for overtype string processing \(frames &
textblocks\), and the raw mode commandline repl for the Tcl Punk Shell
It is also a central part of an ansi \(micro\) virtual terminal\-emulator of
sorts
This system does a half decent job at rendering 90's ANSI art to manipulable
colour text blocks that can be joined & framed for layout display within a
unix or windows terminal
Renderline helps maintain ANSI text styling reset/replay codes so that the
styling of one block doesn't affect another\.
Calling on the punk::ansi library \- it can coalesce codes to keep the size
down\.
It is a giant mess of doing exactly what common wisdom says not to do\.\.\.
lots at once\.
renderline is part of the Unicode and ANSI aware Overtype system which
'renders' a block of text onto a static underlay
The underlay is generally expected to be an ordered set of lines or a
rectangular text block analogous to a terminal screen \- but it can also be
ragged in line length, or just blank\.
The overlay couuld be similar \- in which case it may often be used to
overwrite a column or section of the underlay\.
The overlay could however be a sequence of ANSI\-laden text that jumps all
over the place\.
renderline itself only deals with a single line \- or sometimes a single
character\. It is generally called from a loop that does further
terminal\-like or textblock processing\.
By suppyling the \-info 1 option \- it can return various fields indicating
the state of the render\.
The main 3 are the result, overflow\_right, and unapplied\.
Renderline handles cursor movements from either keystrokes or ANSI sequences
but for a full system the aforementioned loop will need to be in place to
manage the set of lines under manipulation\.
# <a name='keywords'></a>KEYWORDS
[ansi](\.\./\.\./index\.md\#ansi), [module](\.\./\.\./index\.md\#module),
[text](\.\./\.\./index\.md\#text)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

2
src/embedded/md/doc/files/_module_overtype-1.6.5.tm.md

@ -79,7 +79,7 @@ Core API functions for overtype
- <a name='1'></a>__overtype::renderspace__ *args*
usage: ?\-transparent \[0&#124;1\]? ?\-overflow \[1&#124;0\]? ?\-ellipsis \[1&#124;0\]?
usage: ?\-transparent \[0&#124;1\]? ?\-expand\_right \[1&#124;0\]? ?\-ellipsis \[1&#124;0\]?
?\-ellipsistext \.\.\.? undertext overtext
- <a name='2'></a>__overtype::renderline__ *args*

13
src/embedded/md/doc/files/_module_poshinfo-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_poshinfo \- \-)
[//000000001]: # (punkshell\_module\_poshinfo \- POSH\-related prompt tool)
[//000000002]: # (Generated from file '\_module\_poshinfo\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_poshinfo\(0\) 0\.1\.0 doc "\-")
[//000000004]: # (punkshell\_module\_poshinfo\(0\) 0\.1\.0 doc "POSH\-related prompt tool")
<hr> [ <a href="../../toc.md">Main Table Of Contents</a> &#124; <a
href="../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_poshinfo \- Module API
punkshell\_module\_poshinfo \- poshinfo prompt theme tool
# <a name='toc'></a>Table Of Contents
@ -72,7 +72,7 @@ packages used by poshinfo
## <a name='subsection3'></a>Namespace poshinfo::class
class definitions if \{ eq ""\} \{
class definitions
## <a name='subsection4'></a>Namespace poshinfo
@ -84,7 +84,10 @@ class definitions if \{ eq ""\} \{
# <a name='keywords'></a>KEYWORDS
[module](\.\./\.\./index\.md\#module)
[POSH](\.\./\.\./index\.md\#posh), [console](\.\./\.\./index\.md\#console),
[module](\.\./\.\./index\.md\#module), [prompt](\.\./\.\./index\.md\#prompt),
[prompt theme](\.\./\.\./index\.md\#prompt\_theme),
[terminal](\.\./\.\./index\.md\#terminal), [theme](\.\./\.\./index\.md\#theme)
# <a name='copyright'></a>COPYRIGHT

2
src/embedded/md/doc/files/_module_textblock-0.1.1.tm.md

@ -80,7 +80,7 @@ class definitions
- *handler\_classes*
1. CLASS __interface\_caphandler\.registry__
1. CLASS __textblock::class::table__
* <a name='1'></a>class::table __constructor__ *args*

253
src/embedded/md/doc/files/_module_textblock-0.1.2.tm.md

@ -0,0 +1,253 @@
[//000000001]: # (punkshell\_module\_textblock \- punk textblock)
[//000000002]: # (Generated from file '\_module\_textblock\-0\.1\.2\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (punkshell\_module\_textblock\(0\) 0\.1\.2 doc "punk textblock")
<hr> [ <a href="../../toc.md">Main Table Of Contents</a> &#124; <a
href="../toc.md">Table Of Contents</a> &#124; <a
href="../../index.md">Keyword Index</a> ] <hr>
# NAME
punkshell\_module\_textblock \- punk textblock functions
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace textblock::class](#subsection3)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require textblock
[class::table __constructor__ *args*](#1)
[class::table __configure__ *args*](#2)
[class::table __printmatrix__ *matrix*](#3)
[class::table __as\_matrix__ *?cmd?*](#4)
[class::table __add\_column__ *args*](#5)
[class::table __column\_count__](#6)
[class::table __configure\_column__ *index\_expression* *args*](#7)
[class::table __header\_count__](#8)
[class::table __header\_height__ *header\_index*](#9)
[class::table __header\_colspans__](#10)
[class::table __configure\_header__](#11)
[class::table __add\_row__ *valuelist* ?__\-minheight__ *int\_minheight*? ?__\-maxheight__ *int\_maxheight*? ?__\-ansibase__ *ansicode*?](#12)
[class::table __configure\_row__ *index\_expression* ?__\-minheight__ *int\_minheight*? ?__\-maxheight__ *int\_maxheight*? ?__\-ansibase__ *ansicode*?](#13)
[class::table __row\_count__](#14)
[class::table __row\_clear__](#15)
[class::table __clear__](#16)
[class::table __get\_column\_cells\_by\_index__ *index\_expression*](#17)
[class::table __get\_column\_values\_by\_index__ *index\_expression*](#18)
[class::table __debug__](#19)
[class::table __column\_width__ *index\_expression*](#20)
[class::table __column\_width__](#21)
[class::table __width__](#22)
[class::table __spangroups__](#23)
[class::table __print__](#24)
[class::table __print\_bodymatrix__](#25)
# <a name='description'></a>DESCRIPTION
Ansi\-aware terminal textblock manipulation
# <a name='section2'></a>Overview
overview of textblock
## <a name='subsection1'></a>Concepts
## <a name='subsection2'></a>dependencies
packages used by textblock
- __Tcl 8\.6\-__
- __punk::args__
- __punk::char__
- __punk::ansi__
- __punk::lib__
- __overtype__
- __term::ansi::code::macros__
- __textutil__
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace textblock::class
class definitions
- *handler\_classes*
1. CLASS __textblock::class::table__
* <a name='1'></a>class::table __constructor__ *args*
*METHODS*
TODO \- document the many options
* <a name='2'></a>class::table __configure__ *args*
get or set various table\-level properties
* <a name='3'></a>class::table __printmatrix__ *matrix*
clear all table rows and print a matrix into the table
The rowxcolumn structure must match
* <a name='4'></a>class::table __as\_matrix__ *?cmd?*
return a struct::matrix command representing the data portion of
the table\.
* <a name='5'></a>class::table __add\_column__ *args*
* <a name='6'></a>class::table __column\_count__
return the number of columns
* <a name='7'></a>class::table __configure\_column__ *index\_expression* *args*
\- undocumented
* <a name='8'></a>class::table __header\_count__
return the number of header rows
* <a name='9'></a>class::table __header\_height__ *header\_index*
return the height of a header as the number of content\-lines
* <a name='10'></a>class::table __header\_colspans__
Show the colspans configured for all headers
* <a name='11'></a>class::table __configure\_header__
\- undocumented
* <a name='12'></a>class::table __add\_row__ *valuelist* ?__\-minheight__ *int\_minheight*? ?__\-maxheight__ *int\_maxheight*? ?__\-ansibase__ *ansicode*?
* <a name='13'></a>class::table __configure\_row__ *index\_expression* ?__\-minheight__ *int\_minheight*? ?__\-maxheight__ *int\_maxheight*? ?__\-ansibase__ *ansicode*?
* <a name='14'></a>class::table __row\_count__
return the number of data rows in the table\.
* <a name='15'></a>class::table __row\_clear__
Remove all rows without resetting column data\.
When adding new rows the number of entries will need to match the
existing column count\.
* <a name='16'></a>class::table __clear__
Remove all row and column data\.
If a subsequent call to add\_row is made it can contain any number
of values\.
Further calls to add\_row will need to contain the same number of
values
as the first call unless default values have been set for the
missing columns \(review \- in flux\)\.
* <a name='17'></a>class::table __get\_column\_cells\_by\_index__ *index\_expression*
Return a dict with keys 'headers' and 'cells' giving column header
and data values
* <a name='18'></a>class::table __get\_column\_values\_by\_index__ *index\_expression*
List the cell values of a column from the data area only \(no header
values\)
* <a name='19'></a>class::table __debug__
display lots of debug information about how the table is
constructed\.
* <a name='20'></a>class::table __column\_width__ *index\_expression*
inner width of column ie the available cell\-width without
borders/separators
* <a name='21'></a>class::table __column\_width__
ordered list of column widths \(inner widths\)
* <a name='22'></a>class::table __width__
width of the table including borders and separators
calculate width based on assumption frame verticals are 1
screen\-column wide
\(review \- consider possibility of custom unicode double\-wide
frame?\)
* <a name='23'></a>class::table __spangroups__
return a dict keyed by column\-index showing advanced span
information
\(debug tool\)
* <a name='24'></a>class::table __print__
Return the table as text suitable for console display
* <a name='25'></a>class::table __print\_bodymatrix__
output the matrix string corresponding to the body data using the
matrix 2string format
this will be a table without borders,headers,title etc and will
exclude additional ANSI applied due to table, row or column
settings\.
If the original cell data itself contains ANSI \- the output will
still contain those ansi codes\.
Already uniform blocks will join faster than textblock::join, and ragged blocks
will join in a ragged manner " Already uniform blocks will join faster than
textblock::join, and ragged blocks will join in a ragged manner "
# <a name='keywords'></a>KEYWORDS
[ansi](\.\./\.\./index\.md\#ansi), [colour](\.\./\.\./index\.md\#colour),
[console](\.\./\.\./index\.md\#console), [frame](\.\./\.\./index\.md\#frame),
[layout](\.\./\.\./index\.md\#layout), [module](\.\./\.\./index\.md\#module),
[table](\.\./\.\./index\.md\#table), [terminal](\.\./\.\./index\.md\#terminal),
[text](\.\./\.\./index\.md\#text)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

72
src/embedded/md/doc/files/_module_tomlish-1.1.1.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (tomlish\_module\_tomlish \- \-)
[//000000001]: # (tomlish\_module\_tomlish \- tomlish)
[//000000002]: # (Generated from file '\_module\_tomlish\-1\.1\.1\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (tomlish\_module\_tomlish\(0\) 1\.1\.1 doc "\-")
[//000000004]: # (tomlish\_module\_tomlish\(0\) 1\.1\.1 doc "tomlish")
<hr> [ <a href="../../toc.md">Main Table Of Contents</a> &#124; <a
href="../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../index.md">Keyword Index</a> ] <hr>
# NAME
tomlish\_module\_tomlish \- Module API
tomlish\_module\_tomlish \- tomlish toml parser
# <a name='toc'></a>Table Of Contents
@ -28,21 +28,19 @@ tomlish\_module\_tomlish \- Module API
- [API](#section3)
- [Namespace tomlish::class](#subsection3)
- [Namespace tomlish](#subsection3)
- [Namespace tomlish](#subsection4)
- [Namespace tomlish::encode](#subsection4)
- [Namespace tomlish::encode](#subsection5)
- [Namespace tomlish::decode](#subsection5)
- [Namespace tomlish::decode](#subsection6)
- [Namespace tomlish::utils](#subsection6)
- [Namespace tomlish::utils](#subsection7)
- [Namespace tomlish::parse](#subsection7)
- [Namespace tomlish::parse](#subsection8)
- [Namespace tomlish::app](#subsection8)
- [Namespace tomlish::app](#subsection9)
- [Namespace tomlish::lib](#subsection10)
- [Namespace tomlish::lib](#subsection9)
- [Keywords](#keywords)
@ -59,7 +57,33 @@ package require tomlish
# <a name='description'></a>DESCRIPTION
\-
tomlish is an intermediate representation of toml data in a tree structure
\(tagged lists representing type information\)
The design goals are for tomlish to be whitespace and comment preserving ie
byte\-for byte preservation during roundtrips from toml to tomlish and back to
toml
The tomlish representation can then be converted to a Tcl dict structure or to
other formats such as json,
although these other formats are generally unlikely to retain whitespace or
comments
A further goal is to allow at least a useful subset of in\-place editing
operations which also preserve whitespace and comments\.
e\.g leaf key value editing, and table reordering/sorting, key\-renaming at any
level, key insertions/deletions
The API for editing \(tomldoc object?\) may require explicit setting of type if
accessing an existing key
e\.g setting a key that already exists and is a different type \(especially if
nested structure such as a table or array\)
will need a \-type option \(\-force ?\) to force overriding with another type such
as an int\.
# <a name='section2'></a>Overview
@ -79,27 +103,25 @@ packages used by tomlish
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace tomlish::class
class definitions
## <a name='subsection3'></a>Namespace tomlish
## <a name='subsection4'></a>Namespace tomlish
Core API functions for tomlish
- <a name='1'></a>__json\_to\_toml__ *json*
## <a name='subsection5'></a>Namespace tomlish::encode
## <a name='subsection4'></a>Namespace tomlish::encode
## <a name='subsection6'></a>Namespace tomlish::decode
## <a name='subsection5'></a>Namespace tomlish::decode
- <a name='2'></a>__toml__ *s*
return a Tcl list of tomlish tokens
## <a name='subsection7'></a>Namespace tomlish::utils
## <a name='subsection6'></a>Namespace tomlish::utils
## <a name='subsection8'></a>Namespace tomlish::parse
## <a name='subsection7'></a>Namespace tomlish::parse
## <a name='subsection9'></a>Namespace tomlish::app
## <a name='subsection8'></a>Namespace tomlish::app
- <a name='3'></a>app::__decoder__ *args*
@ -123,13 +145,15 @@ class definitions
This encoder is intended to be compatible with toml\-test
## <a name='subsection10'></a>Namespace tomlish::lib
## <a name='subsection9'></a>Namespace tomlish::lib
Secondary functions that are part of the API
# <a name='keywords'></a>KEYWORDS
[module](\.\./\.\./index\.md\#module)
[configuration](\.\./\.\./index\.md\#configuration),
[module](\.\./\.\./index\.md\#module), [parsing](\.\./\.\./index\.md\#parsing),
[toml](\.\./\.\./index\.md\#toml)
# <a name='copyright'></a>COPYRIGHT

8
src/embedded/md/doc/files/punk/_module_aliascore-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::aliascore \- \-)
[//000000001]: # (punkshell\_module\_punk::aliascore \- \-)
[//000000002]: # (Generated from file '\_module\_aliascore\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_punk::aliascore\(0\) 0\.1\.0 doc "\-")
[//000000004]: # (punkshell\_module\_punk::aliascore\(0\) 0\.1\.0 doc "\-")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::aliascore \- Module API
punkshell\_module\_punk::aliascore \- punkshell command aliases
# <a name='toc'></a>Table Of Contents
@ -76,7 +76,7 @@ Core API functions for punk::aliascore
# <a name='keywords'></a>KEYWORDS
[module](\.\./\.\./\.\./index\.md\#module)
[alias](\.\./\.\./\.\./index\.md\#alias), [module](\.\./\.\./\.\./index\.md\#module)
# <a name='copyright'></a>COPYRIGHT

167
src/embedded/md/doc/files/punk/_module_ansi-0.1.1.tm.md

@ -58,45 +58,47 @@ package require punk::ansi
[__cursor\_off__](#12)
[__move__ *row* *col*](#13)
[__move\_emit__ *row* *col* *data* ?row col data\.\.\.?](#14)
[__move\_forward__ *n*](#15)
[__move\_back__ *n*](#16)
[__move\_up__ *n*](#17)
[__move\_down__ *n*](#18)
[__move\_column__ *col*](#19)
[__move\_row__ *row*](#20)
[__cursor\_save__](#21)
[__cursor\_restore__](#22)
[__cursor\_save\_dec__](#23)
[__cursor\_restore\_attributes__](#24)
[__enable\_line\_wrap__](#25)
[__disable\_line\_wrap__](#26)
[__query\_mode\_line\_wrap__](#27)
[__erase\_line__](#28)
[__erase\_sol__](#29)
[__erase\_eol__](#30)
[__scroll\_up__ *n*](#31)
[__scroll\_down__ *n*](#32)
[__insert\_spaces__ *count*](#33)
[__delete\_characters__ *count*](#34)
[__erase\_characters__ *count*](#35)
[__insert\_lines__ *count*](#36)
[__delete\_lines__ *count*](#37)
[__cursor\_pos__](#38)
[__request\_cursor\_information__](#39)
[__request\_tabstops__](#40)
[__titleset__ *windowtitles*](#41)
[__ansistrip__ *text*](#42)
[__ansistripraw__ *text*](#43)
[__is\_sgr\_reset__ *code*](#44)
[__has\_sgr\_leadingreset__ *code*](#45)
[__detect__ *text*](#46)
[__detect\_csi__ *text*](#47)
[__detect\_sgr__ *text*](#48)
[__strip__ *text*](#49)
[__length__ *text*](#50)
[__VIEW__ *string*](#51)
[__COUNT__ *string*](#52)
[__index__ *string* *index*](#53)
[__move\_emitblock__ *row* *col* *textblock*](#15)
[__move\_forward__ *n*](#16)
[__move\_back__ *n*](#17)
[__move\_up__ *n*](#18)
[__move\_down__ *n*](#19)
[__move\_column__ *col*](#20)
[__move\_row__ *row*](#21)
[__cursor\_save__](#22)
[__cursor\_restore__](#23)
[__cursor\_save\_dec__](#24)
[__cursor\_restore\_attributes__](#25)
[__enable\_line\_wrap__](#26)
[__disable\_line\_wrap__](#27)
[__query\_mode\_line\_wrap__](#28)
[__erase\_line__](#29)
[__erase\_sol__](#30)
[__erase\_eol__](#31)
[__scroll\_up__ *n*](#32)
[__scroll\_down__ *n*](#33)
[__insert\_spaces__ *count*](#34)
[__delete\_characters__ *count*](#35)
[__erase\_characters__ *count*](#36)
[__insert\_lines__ *count*](#37)
[__delete\_lines__ *count*](#38)
[__cursor\_pos__](#39)
[__request\_cursor\_information__](#40)
[__request\_tabstops__](#41)
[__titleset__ *windowtitles*](#42)
[__ansistrip__ *text*](#43)
[__ansistrip__ *text*](#44)
[__ansistripraw__ *text*](#45)
[__is\_sgr\_reset__ *code*](#46)
[__has\_sgr\_leadingreset__ *code*](#47)
[__detect__ *text*](#48)
[__detect\_csi__ *text*](#49)
[__detect\_sgr__ *text*](#50)
[__strip__ *text*](#51)
[__length__ *text*](#52)
[__VIEW__ *string*](#53)
[__COUNT__ *string*](#54)
[__index__ *string* *index*](#55)
# <a name='description'></a>DESCRIPTION
@ -247,21 +249,23 @@ Core API functions for punk::ansi
an intuitive manner compared to other punk::ansi move functions \- so is
deliberately omitted\.
- <a name='15'></a>__move\_forward__ *n*
- <a name='15'></a>__move\_emitblock__ *row* *col* *textblock*
- <a name='16'></a>__move\_back__ *n*
- <a name='16'></a>__move\_forward__ *n*
- <a name='17'></a>__move\_up__ *n*
- <a name='17'></a>__move\_back__ *n*
- <a name='18'></a>__move\_down__ *n*
- <a name='18'></a>__move\_up__ *n*
- <a name='19'></a>__move\_column__ *col*
- <a name='19'></a>__move\_down__ *n*
- <a name='20'></a>__move\_row__ *row*
- <a name='20'></a>__move\_column__ *col*
- <a name='21'></a>__move\_row__ *row*
VPA \- Vertical Line Position Absolute
- <a name='21'></a>__cursor\_save__
- <a name='22'></a>__cursor\_save__
equivalent term::ansi::code::ctrl::sc
@ -270,25 +274,25 @@ Core API functions for punk::ansi
On many terminals either will work \- but cursor\_save\_dec is shorter and
perhaps more widely supported
- <a name='22'></a>__cursor\_restore__
- <a name='23'></a>__cursor\_restore__
equivalent term::ansi::code::ctrl::rc
ANSI/SCO \- see also cursor\_restore\_dec for the DECRC version
- <a name='23'></a>__cursor\_save\_dec__
- <a name='24'></a>__cursor\_save\_dec__
equivalent term::ansi::code::ctrl::sca
DECSC
- <a name='24'></a>__cursor\_restore\_attributes__
- <a name='25'></a>__cursor\_restore\_attributes__
equivalent term::ansi::code::ctrl::rca
DECRC
- <a name='25'></a>__enable\_line\_wrap__
- <a name='26'></a>__enable\_line\_wrap__
enable automatic line wrapping when characters entered beyond rightmost
column
@ -297,41 +301,41 @@ Core API functions for punk::ansi
This is DECAWM \- and is the same sequence output by 'tput smam'
- <a name='26'></a>__disable\_line\_wrap__
- <a name='27'></a>__disable\_line\_wrap__
disable automatic line wrapping
reset DECAWM \- same sequence output by 'tput rmam' tput rmam
- <a name='27'></a>__query\_mode\_line\_wrap__
- <a name='28'></a>__query\_mode\_line\_wrap__
DECRQM to query line\-wrap state
The punk::ansi::query\_mode\_ functions just emit the ansi query sequence\.
- <a name='28'></a>__erase\_line__
- <a name='29'></a>__erase\_line__
- <a name='29'></a>__erase\_sol__
- <a name='30'></a>__erase\_sol__
Erase to start of line, leaving cursor position alone\.
- <a name='30'></a>__erase\_eol__
- <a name='31'></a>__erase\_eol__
- <a name='31'></a>__scroll\_up__ *n*
- <a name='32'></a>__scroll\_up__ *n*
- <a name='32'></a>__scroll\_down__ *n*
- <a name='33'></a>__scroll\_down__ *n*
- <a name='33'></a>__insert\_spaces__ *count*
- <a name='34'></a>__insert\_spaces__ *count*
- <a name='34'></a>__delete\_characters__ *count*
- <a name='35'></a>__delete\_characters__ *count*
- <a name='35'></a>__erase\_characters__ *count*
- <a name='36'></a>__erase\_characters__ *count*
- <a name='36'></a>__insert\_lines__ *count*
- <a name='37'></a>__insert\_lines__ *count*
- <a name='37'></a>__delete\_lines__ *count*
- <a name='38'></a>__delete\_lines__ *count*
- <a name='38'></a>__cursor\_pos__
- <a name='39'></a>__cursor\_pos__
cursor\_pos unlikely to be useful on it's own like this as when written to
the terminal, this sequence causes the terminal to emit the row;col sequence
@ -349,7 +353,7 @@ Core API functions for punk::ansi
The punk::ansi::cursor\_pos function is used by punk::console::get\_cursor\_pos
and punk::console::get\_cursor\_pos\_list
- <a name='39'></a>__request\_cursor\_information__
- <a name='40'></a>__request\_cursor\_information__
DECRQPSR \(DEC Request Presentation State Report\) for DECCCIR Cursor
Information report
@ -359,7 +363,7 @@ Core API functions for punk::ansi
A stdin readloop will need to be in place to read this information
- <a name='40'></a>__request\_tabstops__
- <a name='41'></a>__request\_tabstops__
DECRQPSR \(DEC Request Presentation State Report\) for DECTABSR Tab stop
report
@ -367,20 +371,27 @@ Core API functions for punk::ansi
When written to the terminal, this sequence causes the terminal to emit
tabstop information to stdin
- <a name='41'></a>__titleset__ *windowtitles*
- <a name='42'></a>__titleset__ *windowtitles*
Returns the code to set the title of the terminal window to windowtitle
This may not work on terminals which have multiple panes/windows
- <a name='42'></a>__ansistrip__ *text*
- <a name='43'></a>__ansistrip__ *text*
Return a string with ansi codes stripped out
Alternate graphics chars are replaced with modern unicode equivalents \(e\.g
boxdrawing glyphs\)
- <a name='44'></a>__ansistrip__ *text*
Return a string with ansi codes stripped out
Alternate graphics chars are replaced with modern unicode equivalents \(e\.g
boxdrawing glyphs\)
- <a name='43'></a>__ansistripraw__ *text*
- <a name='45'></a>__ansistripraw__ *text*
Return a string with ansi codes stripped out
@ -395,7 +406,7 @@ API functions for punk::ansi::codetype
Utility functions for processing ansi code sequences
- <a name='44'></a>__is\_sgr\_reset__ *code*
- <a name='46'></a>__is\_sgr\_reset__ *code*
Return a boolean indicating whether this string has a trailing pure SGR
reset
@ -406,7 +417,7 @@ Utility functions for processing ansi code sequences
This is primarily intended for testing a single ansi code sequence, but code
can be any string where the trailing SGR code is to be tested\.
- <a name='45'></a>__has\_sgr\_leadingreset__ *code*
- <a name='47'></a>__has\_sgr\_leadingreset__ *code*
The reset must be the very first item in code to be detected\. Trailing
strings/codes ignored\.
@ -419,7 +430,7 @@ based on but not identical to the Perl Text Ansi module:
https://github\.com/perlancar/perl\-Text\-ANSI\-Util/blob/master/lib/Text/ANSI/BaseUtil\.pm
- <a name='46'></a>__detect__ *text*
- <a name='48'></a>__detect__ *text*
Return a boolean indicating whether Ansi codes were detected in text
@ -432,7 +443,7 @@ https://github\.com/perlancar/perl\-Text\-ANSI\-Util/blob/master/lib/Text/ANSI/B
This can cause square brackets that form part of the ansi being backslash
escaped \- and the regexp can fail to match
- <a name='47'></a>__detect\_csi__ *text*
- <a name='49'></a>__detect\_csi__ *text*
Return a boolean indicating whether an Ansi Control Sequence Introducer
\(CSI\) was detected in text
@ -449,7 +460,7 @@ https://github\.com/perlancar/perl\-Text\-ANSI\-Util/blob/master/lib/Text/ANSI/B
\(This function is not in perl ta\)
- <a name='48'></a>__detect\_sgr__ *text*
- <a name='50'></a>__detect\_sgr__ *text*
Return a boolean indicating whether an ansi Select Graphics Rendition code
was detected\.
@ -464,13 +475,13 @@ https://github\.com/perlancar/perl\-Text\-ANSI\-Util/blob/master/lib/Text/ANSI/B
\(This function is not in perl ta\)
- <a name='49'></a>__strip__ *text*
- <a name='51'></a>__strip__ *text*
Return text stripped of Ansi codes
This is a tailcall to punk::ansi::ansistrip
- <a name='50'></a>__length__ *text*
- <a name='52'></a>__length__ *text*
Return the character length after stripping ansi codes \- not the printing
length
@ -485,7 +496,7 @@ codes is always going to be significantly slower than working with plain strings
Just as working with other forms of markup such as HTML \- you simply need to be
aware of the tradeoffs and design accordingly\.
- <a name='51'></a>__VIEW__ *string*
- <a name='53'></a>__VIEW__ *string*
Return a string with specific ANSI control characters substituted with
visual equivalents frome the appropriate unicode C0 and C1 visualisation
@ -502,7 +513,7 @@ aware of the tradeoffs and design accordingly\.
As punkshell uses linefeed where possible in preference to crlf even on
windows, cr is mapped to \\\\U240D '\\U240D' \- but lf is left as is\.
- <a name='52'></a>__COUNT__ *string*
- <a name='54'></a>__COUNT__ *string*
Returns the count of visible graphemes and non\-ansi control characters
@ -524,7 +535,7 @@ aware of the tradeoffs and design accordingly\.
To get the width, use punk::ansi::printing\_length instead, which is also
ansi aware\.
- <a name='53'></a>__index__ *string* *index*
- <a name='55'></a>__index__ *string* *index*
Takes a string that possibly contains ansi codes such as colour,underline
etc \(SGR codes\)

6
src/embedded/md/doc/files/punk/_module_assertion-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::assertion \- per\-namespace assertions with )
[//000000001]: # (punkshell\_module\_punk::assertion \- per\-namespace assertions with )
[//000000002]: # (Generated from file '\_module\_assertion\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_punk::assertion\(0\) 0\.1\.0 doc "per\-namespace assertions with ")
[//000000004]: # (punkshell\_module\_punk::assertion\(0\) 0\.1\.0 doc "per\-namespace assertions with ")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::assertion \- assertion alternative to control::assert
punkshell\_module\_punk::assertion \- assertion alternative to control::assert
# <a name='toc'></a>Table Of Contents

12
src/embedded/md/doc/files/punk/_module_basictelnet-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::basictelnet \- basic telnet client)
[//000000001]: # (punkshell::basictelnet \- basic telnet client)
[//000000002]: # (Generated from file '\_module\_basictelnet\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_punk::basictelnet\(0\) 0\.1\.0 doc "basic telnet client")
[//000000004]: # (punkshell::basictelnet\(0\) 0\.1\.0 doc "basic telnet client")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::basictelnet \- basic telnet client \- DKF/Wiki
punkshell::basictelnet \- basic telnet client \- DKF/Wiki
# <a name='toc'></a>Table Of Contents
@ -80,7 +80,11 @@ class definitions
# <a name='keywords'></a>KEYWORDS
[module](\.\./\.\./\.\./index\.md\#module)
[console](\.\./\.\./\.\./index\.md\#console),
[module](\.\./\.\./\.\./index\.md\#module),
[protocol](\.\./\.\./\.\./index\.md\#protocol),
[telnet](\.\./\.\./\.\./index\.md\#telnet),
[terminal](\.\./\.\./\.\./index\.md\#terminal)
# <a name='copyright'></a>COPYRIGHT

98
src/embedded/md/doc/files/punk/_module_blockletter-0.1.0.tm.md

@ -0,0 +1,98 @@
[//000000001]: # (punkshell\_module\_punk::blockletter \- \-)
[//000000002]: # (Generated from file '\_module\_blockletter\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (punkshell\_module\_punk::blockletter\(0\) 0\.1\.0 doc "\-")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
punkshell\_module\_punk::blockletter \- punk::blockletter frame\-based large
lettering test/logo
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace punk::blockletter::class](#subsection3)
- [Namespace punk::blockletter](#subsection4)
- [Namespace punk::blockletter::lib](#subsection5)
- [Internal](#section4)
- [Namespace punk::blockletter::system](#subsection6)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require punk::blockletter
# <a name='description'></a>DESCRIPTION
This is primarily designed to test large lettering using the block2 frametype
which requires the right font support
More reasonably sized block\-lettering could be obtained using unicode
half\-blocks instead \- but that doesn't allow the frame outline effect that
block2 gives\.
Individual blocks have a minimum width of 4 columns and a minimum height of 2
rows \(smallest element that can be fully framed\)
# <a name='section2'></a>Overview
overview of punk::blockletter
## <a name='subsection1'></a>Concepts
\-
## <a name='subsection2'></a>dependencies
packages used by punk::blockletter
- __Tcl 8\.6__
- __textblock__
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace punk::blockletter::class
class definitions if \{ eq ""\} \{
## <a name='subsection4'></a>Namespace punk::blockletter
## <a name='subsection5'></a>Namespace punk::blockletter::lib
# <a name='section4'></a>Internal
## <a name='subsection6'></a>Namespace punk::blockletter::system
# <a name='keywords'></a>KEYWORDS
[module](\.\./\.\./\.\./index\.md\#module)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

93
src/embedded/md/doc/files/punk/_module_cesu-0.1.0.tm.md

@ -0,0 +1,93 @@
[//000000001]: # (punkshell\_module\_punk::cesu \- CESU experimental)
[//000000002]: # (Generated from file '\_module\_cesu\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (punkshell\_module\_punk::cesu\(0\) 0\.1\.0 doc "CESU experimental")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
punkshell\_module\_punk::cesu \- CESU compatibility ehcoding scheme for utf\-16:
8\-Bit \(CESU\-8\) ??
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace punk::cesu](#subsection3)
- [Namespace punk::cesu::lib](#subsection4)
- [Internal](#section4)
- [Namespace punk::cesu::system](#subsection5)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require punk::cesu
# <a name='description'></a>DESCRIPTION
experimental
# <a name='section2'></a>Overview
overview of punk::cesu
## <a name='subsection1'></a>Concepts
cesu\-8 may be mistaken for utf\-8 if no supplementary chars present\.
see: https://www\.unicode\.org/reports/tr26/tr26\-4\.html
Particulary note discouragement of use especially in external interchange\.
## <a name='subsection2'></a>dependencies
packages used by punk::cesu
- __Tcl 8\.6__
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace punk::cesu
Core API functions for punk::cesu
## <a name='subsection4'></a>Namespace punk::cesu::lib
# <a name='section4'></a>Internal
## <a name='subsection5'></a>Namespace punk::cesu::system
# <a name='keywords'></a>KEYWORDS
[cesu](\.\./\.\./\.\./index\.md\#cesu),
[compatibility](\.\./\.\./\.\./index\.md\#compatibility),
[encoding](\.\./\.\./\.\./index\.md\#encoding),
[experimental](\.\./\.\./\.\./index\.md\#experimental),
[module](\.\./\.\./\.\./index\.md\#module),
[unofficial](\.\./\.\./\.\./index\.md\#unofficial)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

6
src/embedded/md/doc/files/punk/_module_experiment-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::experiment \- \-)
[//000000001]: # (punkshell\_module\_punk::experiment \- \-)
[//000000002]: # (Generated from file '\_module\_experiment\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_punk::experiment\(0\) 0\.1\.0 doc "\-")
[//000000004]: # (punkshell\_module\_punk::experiment\(0\) 0\.1\.0 doc "\-")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::experiment \- Module API
punkshell\_module\_punk::experiment \- Module API
# <a name='toc'></a>Table Of Contents

6
src/embedded/md/doc/files/punk/_module_island-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::island \- punk::island for safe interps)
[//000000001]: # (punkshell\_module\_punk::island \- punk::island for safe interps)
[//000000002]: # (Generated from file '\_module\_island\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_punk::island\(0\) 0\.1\.0 doc "punk::island for safe interps")
[//000000004]: # (punkshell\_module\_punk::island\(0\) 0\.1\.0 doc "punk::island for safe interps")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::island \- filesystem islands for safe interps
punkshell\_module\_punk::island \- filesystem islands for safe interps
# <a name='toc'></a>Table Of Contents

123
src/embedded/md/doc/files/punk/_module_lib-0.1.1.tm.md

@ -48,30 +48,31 @@ package require punk::lib
[__lpop__ *listvar* ?index?](#2)
[__invoke__ *command*](#3)
[__lindex\_resolve__ *list* *index*](#4)
[__K__ *x* *y*](#5)
[__is\_utf8\_multibyteprefix__ *str*](#6)
[__is\_utf8\_single__ *1234bytes*](#7)
[__get\_utf8\_leading__ *rawbytes*](#8)
[__hex2dec__ ?option value\.\.\.? *list\_largeHex*](#9)
[__dex2hex__ ?option value\.\.\.? *list\_decimals*](#10)
[__log2__ *x*](#11)
[__logbase__ *b* *x*](#12)
[__factors__ *x*](#13)
[__oddFactors__ *x*](#14)
[__greatestFactorBelow__ *x*](#15)
[__greatestOddFactorBelow__ *x*](#16)
[__greatestOddFactor__ *x*](#17)
[__gcd__ *n* *m*](#18)
[__lindex\_resolve\_basic__ *list* *index*](#5)
[__K__ *x* *y*](#6)
[__is\_utf8\_multibyteprefix__ *str*](#7)
[__is\_utf8\_single__ *1234bytes*](#8)
[__get\_utf8\_leading__ *rawbytes*](#9)
[__hex2dec__ ?option value\.\.\.? *list\_largeHex*](#10)
[__dex2hex__ ?option value\.\.\.? *list\_decimals*](#11)
[__log2__ *x*](#12)
[__logbase__ *b* *x*](#13)
[__factors__ *x*](#14)
[__oddFactors__ *x*](#15)
[__greatestFactorBelow__ *x*](#16)
[__greatestOddFactorBelow__ *x*](#17)
[__greatestOddFactor__ *x*](#18)
[__gcd__ *n* *m*](#19)
[__commonDivisors__ *x* *y*](#20)
[__hasglobs__ *str*](#21)
[__trimzero__ *number*](#22)
[__substring\_count__ *str* *substring*](#23)
[__dict\_merge\_ordered__ *defaults* *main*](#24)
[__askuser__ *question*](#25)
[__linesort__ ?sortoption ?val?\.\.\.? *textblock*](#26)
[__list\_as\_lines__ ?\-joinchar char? *linelist*](#27)
[__lines\_as\_list__ ?option value \.\.\.? *text*](#28)
[__gcd__ *n* *m*](#20)
[__commonDivisors__ *x* *y*](#21)
[__hasglobs__ *str*](#22)
[__trimzero__ *number*](#23)
[__substring\_count__ *str* *substring*](#24)
[__dict\_merge\_ordered__ *defaults* *main*](#25)
[__askuser__ *question*](#26)
[__linesort__ ?sortoption ?val?\.\.\.? *textblock*](#27)
[__list\_as\_lines__ ?\-joinchar char? *linelist*](#28)
[__lines\_as\_list__ ?option value \.\.\.? *text*](#29)
# <a name='description'></a>DESCRIPTION
@ -158,12 +159,15 @@ Core API functions for punk::lib
lindex\_resolve will parse the index expression and return:
a\) \-2 if the supplied index expression is below the lower bound for the
a\) \-3 if the supplied index expression is below the lower bound for the
supplied list\. \(< 0\)
b\) \-1 if the supplied index expression is above the upper bound for the
b\) \-2 if the supplied index expression is above the upper bound for the
supplied list\. \(> end\)
We don't return \-1 \- as the similar function lindex\_resolve\_basic uses this
to denote out of range at either end of the list
Otherwise it will return an integer corresponding to the position in the
list\.
@ -174,7 +178,28 @@ Core API functions for punk::lib
Like Tcl list commands \- it will produce an error if the form of the index
is not acceptable
- <a name='5'></a>__K__ *x* *y*
For empty lists, end and end\+x indices are considered to be out of bounds on
the upper side \- thus returning \-2
- <a name='5'></a>__lindex\_resolve\_basic__ *list* *index*
Accepts index of the forms accepted by Tcl's list commands\. \(e\.g compound
indices such as 3\+1 end\-2\)
returns \-1 for out of range at either end, or a valid integer index
Unlike lindex\_resolve; lindex\_resolve\_basic can't determine if an out of
range index was out of range at the lower or upper bound
This is only likely to be faster than average over lindex\_resolve for Tcl
which has the builtin lseq command
The performance advantage is more likely to be present when using compound
indexes such as $x\+1 or end\-1
For pure integer indices the performance should be equivalent
- <a name='6'></a>__K__ *x* *y*
The K\-combinator function \- returns the first argument, x and discards y
@ -183,7 +208,7 @@ Core API functions for punk::lib
It is used in cases where command\-substitution at the calling\-point performs
some desired effect\.
- <a name='6'></a>__is\_utf8\_multibyteprefix__ *str*
- <a name='7'></a>__is\_utf8\_multibyteprefix__ *str*
Returns a boolean if str is potentially a prefix for a multibyte utf\-8
character
@ -202,12 +227,12 @@ Core API functions for punk::lib
e\.g using: set head \[get\_utf8\_leading $testbytes\] ; set tail \[string range
$testbytes \[string length $head\] end\]
- <a name='7'></a>__is\_utf8\_single__ *1234bytes*
- <a name='8'></a>__is\_utf8\_single__ *1234bytes*
Tests input of 1,2,3 or 4 bytes and responds with a boolean indicating if it
is a valid utf\-8 character \(codepoint\)
- <a name='8'></a>__get\_utf8\_leading__ *rawbytes*
- <a name='9'></a>__get\_utf8\_leading__ *rawbytes*
return the leading portion of rawbytes that is a valid utf8 sequence\.
@ -232,7 +257,7 @@ Core API functions for punk::lib
The utf\-8 BOM \\xEF\\xBB\\xBF is a valid UTF8 3\-byte sequence and so can also
be returned as part of the leading utf8 bytes
- <a name='9'></a>__hex2dec__ ?option value\.\.\.? *list\_largeHex*
- <a name='10'></a>__hex2dec__ ?option value\.\.\.? *list\_largeHex*
Convert a list of \(possibly large\) unprefixed hex strings to their decimal
values
@ -249,7 +274,7 @@ Core API functions for punk::lib
Internal whitespace e\.g "F F" is not permitted \- but a completely empty
element "" is allowed and will return 0
- <a name='10'></a>__dex2hex__ ?option value\.\.\.? *list\_decimals*
- <a name='11'></a>__dex2hex__ ?option value\.\.\.? *list\_decimals*
Convert a list of decimal integers to a list of hex values
@ -258,7 +283,7 @@ Core API functions for punk::lib
\-case upper&#124;lower determines the case of the hex letters in the output
- <a name='11'></a>__log2__ *x*
- <a name='12'></a>__log2__ *x*
log base2 of x
@ -268,7 +293,7 @@ Core API functions for punk::lib
\(courtesy of RS
[https://wiki\.tcl\-lang\.org/page/Additional\+math\+functions](https://wiki\.tcl\-lang\.org/page/Additional\+math\+functions)\)
- <a name='12'></a>__logbase__ *b* *x*
- <a name='13'></a>__logbase__ *b* *x*
log base b of x
@ -279,7 +304,7 @@ Core API functions for punk::lib
Use expr's log10\(\) function or tcl::mathfunc::log10 for base 10
- <a name='13'></a>__factors__ *x*
- <a name='14'></a>__factors__ *x*
Return a sorted list of the positive factors of x where x > 0
@ -315,11 +340,11 @@ Core API functions for punk::lib
In other mathematical contexts zero may be considered not to divide
anything\.
- <a name='14'></a>__oddFactors__ *x*
- <a name='15'></a>__oddFactors__ *x*
Return a list of odd integer factors of x, sorted in ascending order
- <a name='15'></a>__greatestFactorBelow__ *x*
- <a name='16'></a>__greatestFactorBelow__ *x*
Return the largest factor of x excluding itself
@ -327,17 +352,17 @@ Core API functions for punk::lib
See Tcllib math::numtheory for more extensive implementations
- <a name='16'></a>__greatestOddFactorBelow__ *x*
- <a name='17'></a>__greatestOddFactorBelow__ *x*
Return the largest odd integer factor of x excluding x itself
- <a name='17'></a>__greatestOddFactor__ *x*
- <a name='18'></a>__greatestOddFactor__ *x*
Return the largest odd integer factor of x
For an odd value of x \- this will always return x
- <a name='18'></a>__gcd__ *n* *m*
- <a name='19'></a>__gcd__ *n* *m*
Return the greatest common divisor of m and n
@ -349,19 +374,19 @@ Core API functions for punk::lib
only if c is a common divisor of a and b
- <a name='19'></a>__gcd__ *n* *m*
- <a name='20'></a>__gcd__ *n* *m*
Return the lowest common multiple of m and n
Straight from Lars Hellström's math::numtheory library in Tcllib
- <a name='20'></a>__commonDivisors__ *x* *y*
- <a name='21'></a>__commonDivisors__ *x* *y*
Return a list of all the common factors of x and y
\(equivalent to factors of their gcd\)
- <a name='21'></a>__hasglobs__ *str*
- <a name='22'></a>__hasglobs__ *str*
Return a boolean indicating whether str contains any of the glob characters:
\* ? \[ \]
@ -369,17 +394,17 @@ Core API functions for punk::lib
hasglobs uses append to preserve Tcls internal representation for str \- so
it should help avoid shimmering in the few cases where this may matter\.
- <a name='22'></a>__trimzero__ *number*
- <a name='23'></a>__trimzero__ *number*
Return number with left\-hand\-side zeros trimmed off \- unless all zero
If number is all zero \- a single 0 is returned
- <a name='23'></a>__substring\_count__ *str* *substring*
- <a name='24'></a>__substring\_count__ *str* *substring*
Search str and return number of occurrences of substring
- <a name='24'></a>__dict\_merge\_ordered__ *defaults* *main*
- <a name='25'></a>__dict\_merge\_ordered__ *defaults* *main*
The standard dict merge accepts multiple dicts with values from dicts to the
right \(2nd argument\) taking precedence\.
@ -391,7 +416,7 @@ Core API functions for punk::lib
This function merges the two dicts whilst maintaining the key order of main
followed by defaults\.
- <a name='25'></a>__askuser__ *question*
- <a name='26'></a>__askuser__ *question*
A basic utility to read an answer from stdin
@ -420,7 +445,7 @@ Core API functions for punk::lib
puts "Cancelled by user"
}
- <a name='26'></a>__linesort__ ?sortoption ?val?\.\.\.? *textblock*
- <a name='27'></a>__linesort__ ?sortoption ?val?\.\.\.? *textblock*
Sort lines in textblock
@ -429,7 +454,7 @@ Core API functions for punk::lib
options are flags as accepted by lsort ie \-ascii \-command \-decreasing
\-dictionary \-index \-indices \-integer \-nocase \-real \-stride \-unique
- <a name='27'></a>__list\_as\_lines__ ?\-joinchar char? *linelist*
- <a name='28'></a>__list\_as\_lines__ ?\-joinchar char? *linelist*
This simply joines the elements of the list with \-joinchar
@ -441,7 +466,7 @@ Core API functions for punk::lib
lines \- but with more options related to trimming the block and/or each
line\.
- <a name='28'></a>__lines\_as\_list__ ?option value \.\.\.? *text*
- <a name='29'></a>__lines\_as\_list__ ?option value \.\.\.? *text*
Returns a list of possibly trimmed lines depeding on options

8
src/embedded/md/doc/files/punk/_module_packagepreference-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::packagepreference \- \-)
[//000000001]: # (punkshell\_module\_punk::packagepreference \- package/module load)
[//000000002]: # (Generated from file '\_module\_packagepreference\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_punk::packagepreference\(0\) 0\.1\.0 doc "\-")
[//000000004]: # (punkshell\_module\_punk::packagepreference\(0\) 0\.1\.0 doc "package/module load")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::packagepreference \- Module API
punkshell\_module\_punk::packagepreference \- punkshell package/module loading
# <a name='toc'></a>Table Of Contents
@ -125,7 +125,7 @@ Secondary functions that are part of the API
# <a name='keywords'></a>KEYWORDS
[module](\.\./\.\./\.\./index\.md\#module)
[module](\.\./\.\./\.\./index\.md\#module), [package](\.\./\.\./\.\./index\.md\#package)
# <a name='copyright'></a>COPYRIGHT

89
src/embedded/md/doc/files/punk/_module_rest-0.1.0.tm.md

@ -0,0 +1,89 @@
[//000000001]: # (punkshell\_module\_punk::rest \- experimental rest)
[//000000002]: # (Generated from file '\_module\_rest\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (punkshell\_module\_punk::rest\(0\) 0\.1\.0 doc "experimental rest")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
punkshell\_module\_punk::rest \- punk::rest
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace punk::rest::class](#subsection3)
- [Namespace punk::rest](#subsection4)
- [Namespace punk::rest::lib](#subsection5)
- [Internal](#section4)
- [Namespace punk::rest::system](#subsection6)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require punk::rest
# <a name='description'></a>DESCRIPTION
Experimental \*basic rest as wrapper over http lib \- use tcllib's rest package
for a more complete implementation of a rest client
# <a name='section2'></a>Overview
overview of punk::rest
## <a name='subsection1'></a>Concepts
\-
## <a name='subsection2'></a>dependencies
packages used by punk::rest
- __Tcl 8\.6__
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace punk::rest::class
class definitions if \{ eq ""\} \{
## <a name='subsection4'></a>Namespace punk::rest
## <a name='subsection5'></a>Namespace punk::rest::lib
# <a name='section4'></a>Internal
## <a name='subsection6'></a>Namespace punk::rest::system
# <a name='keywords'></a>KEYWORDS
[http](\.\./\.\./\.\./index\.md\#http), [module](\.\./\.\./\.\./index\.md\#module),
[rest](\.\./\.\./\.\./index\.md\#rest)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

6
src/embedded/md/doc/files/punk/_module_sshrun-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::sshrun \- punk::sshrun tclssh clone)
[//000000001]: # (punkshell\_module\_punk::sshrun \- punk::sshrun tclssh clone)
[//000000002]: # (Generated from file '\_module\_sshrun\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2009)
[//000000004]: # (shellspy\_module\_punk::sshrun\(0\) 0\.1\.0 doc "punk::sshrun tclssh clone")
[//000000004]: # (punkshell\_module\_punk::sshrun\(0\) 0\.1\.0 doc "punk::sshrun tclssh clone")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::sshrun \- Tcl procedures to execute tcl scripts in remote
punkshell\_module\_punk::sshrun \- Tcl procedures to execute tcl scripts in remote
hosts
# <a name='toc'></a>Table Of Contents

96
src/embedded/md/doc/files/punk/_module_trie-0.1.0.tm.md

@ -0,0 +1,96 @@
[//000000001]: # (punkshell\_module\_punk::trie \- punk::trie)
[//000000002]: # (Generated from file '\_module\_trie\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2010)
[//000000004]: # (punkshell\_module\_punk::trie\(0\) 0\.1\.0 doc "punk::trie")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
punkshell\_module\_punk::trie \- punk::trie API
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace punk::trie](#subsection3)
- [Namespace punk::trie::lib](#subsection4)
- [Internal](#section4)
- [Namespace punk::trie::system](#subsection5)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require punk::trie
[class::trieclass __matches__ *t* *what*](#1)
# <a name='description'></a>DESCRIPTION
tcl trie implementation courtesy of CmcC \(tcl wiki\)
\-
# <a name='section2'></a>Overview
overview of punk::trie
## <a name='subsection1'></a>Concepts
\-
## <a name='subsection2'></a>dependencies
packages used by punk::trie
- __Tcl 8\.6__
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace punk::trie
Core API functions for punk::trie
1. CLASS __trieclass__
- <a name='1'></a>class::trieclass __matches__ *t* *what*
search for longest prefix, return matching prefix, element and suffix
## <a name='subsection4'></a>Namespace punk::trie::lib
Secondary functions that are part of the API
# <a name='section4'></a>Internal
## <a name='subsection5'></a>Namespace punk::trie::system
# <a name='keywords'></a>KEYWORDS
[datastructure](\.\./\.\./\.\./index\.md\#datastructure),
[module](\.\./\.\./\.\./index\.md\#module), [trie](\.\./\.\./\.\./index\.md\#trie)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2010

11
src/embedded/md/doc/files/punk/_module_uc-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::uc \- \-)
[//000000001]: # (punkshell\_module\_punk::uc \- \-)
[//000000002]: # (Generated from file '\_module\_uc\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_punk::uc\(0\) 0\.1\.0 doc "\-")
[//000000004]: # (punkshell\_module\_punk::uc\(0\) 0\.1\.0 doc "\-")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::uc \- Module API
punkshell\_module\_punk::uc \- Module API
# <a name='toc'></a>Table Of Contents
@ -80,7 +80,10 @@ class definitions
# <a name='keywords'></a>KEYWORDS
[module](\.\./\.\./\.\./index\.md\#module)
[module](\.\./\.\./\.\./index\.md\#module),
[unicode](\.\./\.\./\.\./index\.md\#unicode),
[unofficial](\.\./\.\./\.\./index\.md\#unofficial),
[wcswidth](\.\./\.\./\.\./index\.md\#wcswidth)
# <a name='copyright'></a>COPYRIGHT

116
src/embedded/md/doc/files/punk/_module_winlnk-0.1.0.tm.md

@ -0,0 +1,116 @@
[//000000001]: # (punkshell\_module\_punk::winlnk \- punk::winlnk)
[//000000002]: # (Generated from file '\_module\_winlnk\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (punkshell\_module\_punk::winlnk\(0\) 0\.1\.0 doc "punk::winlnk")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
punkshell\_module\_punk::winlnk \- windows shortcut \.lnk library
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace punk::winlnk::class](#subsection3)
- [Namespace punk::winlnk](#subsection4)
- [Namespace punk::winlnk::lib](#subsection5)
- [Internal](#section4)
- [Namespace punk::winlnk::system](#subsection6)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require punk::winlnk
[__file\_check\_header__ *path*](#1)
[__file\_get\_info__ *path*](#2)
# <a name='description'></a>DESCRIPTION
Tools for reading windows shortcuts \(\.lnk files\) on any platform
# <a name='section2'></a>Overview
overview of punk::winlnk
## <a name='subsection1'></a>Concepts
Windows shortcuts are a binary format file with a \.lnk extension
Shell Link \(\.LNK\) Binary File Format is documented in \[MS\_SHLLINK\]\.pdf published
by Microsoft\.
Revision 8\.0 published 2024\-04\-23
## <a name='subsection2'></a>dependencies
packages used by punk::winlnk
- __Tcl 8\.6__
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace punk::winlnk::class
class definitions if \{ eq ""\} \{
## <a name='subsection4'></a>Namespace punk::winlnk
- <a name='1'></a>__file\_check\_header__ *path*
Return 0&#124;1
Determines if the \.lnk file specified in path has a valid header for a
windows shortcut
- <a name='2'></a>__file\_get\_info__ *path*
Return a dict of info obtained by parsing the binary data in a windows \.lnk
file
If the \.lnk header check fails, then the \.lnk file probably isn't really a
shortcut file and the dictionary will contain an 'error' key
## <a name='subsection5'></a>Namespace punk::winlnk::lib
Secondary functions that are part of the API
# <a name='section4'></a>Internal
## <a name='subsection6'></a>Namespace punk::winlnk::system
# <a name='keywords'></a>KEYWORDS
[crossplatform](\.\./\.\./\.\./index\.md\#crossplatform),
[lnk](\.\./\.\./\.\./index\.md\#lnk), [module](\.\./\.\./\.\./index\.md\#module),
[parse](\.\./\.\./\.\./index\.md\#parse),
[shortcut](\.\./\.\./\.\./index\.md\#shortcut),
[windows](\.\./\.\./\.\./index\.md\#windows)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

125
src/embedded/md/doc/files/punk/_module_zip-0.1.1.tm.md

@ -0,0 +1,125 @@
[//000000001]: # (punkshell\_module\_punk::zip \- \-)
[//000000002]: # (Generated from file '\_module\_zip\-0\.1\.1\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (punkshell\_module\_punk::zip\(0\) 0\.1\.1 doc "\-")
<hr> [ <a href="../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../toc.md">Table Of Contents</a> &#124; <a
href="../../../index.md">Keyword Index</a> ] <hr>
# NAME
punkshell\_module\_punk::zip \- Module API
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace punk::zip](#subsection3)
- [Namespace punk::zip::lib](#subsection4)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require punk::zip
[__Timet\_to\_dos__ *time\_t*](#1)
[__walk__ *?options?* *base*](#2)
[__Addentry__ *zipchan* *base* *path* *?comment?*](#3)
[__mkzip__ ?__\-offsettype__ *offsettype*? ?__\-return__ *returntype*? ?__\-zipkit__ *0&#124;1*? ?__\-runtime__ *preamble\_filename*? ?__\-comment__ *zipfilecomment*? ?__\-directory__ *dir\_to\_zip*? ?__\-base__ *archive\_root*? ?__\-exclude__ *globlist*? *zipfilename* *?glob\.\.\.?*](#4)
# <a name='description'></a>DESCRIPTION
\-
# <a name='section2'></a>Overview
overview of punk::zip
## <a name='subsection1'></a>Concepts
\-
## <a name='subsection2'></a>dependencies
packages used by punk::zip
- __Tcl 8\.6__
- __punk::args__
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace punk::zip
Core API functions for punk::zip
- <a name='1'></a>__Timet\_to\_dos__ *time\_t*
convert a unix timestamp into a DOS timestamp for ZIP times\.
DOS timestamps are 32 bits split into bit regions as follows:
24 16 8 0
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|Y|Y|Y|Y|Y|Y|Y|m| |m|m|m|d|d|d|d|d| |h|h|h|h|h|m|m|m| |m|m|m|s|s|s|s|s|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
- <a name='2'></a>__walk__ *?options?* *base*
Walk a directory tree rooted at base
the \-excludes list can be a set of glob expressions to match against files
and avoid
e\.g
punk::zip::walk -exclude {CVS/* *~.#*} library
- <a name='3'></a>__Addentry__ *zipchan* *base* *path* *?comment?*
Add a single file to a zip archive
The zipchan channel should already be open and binary\.
You can provide a \-comment for the file\.
The return value is the central directory record that will need to be used
when finalizing the zip archive\.
- <a name='4'></a>__mkzip__ ?__\-offsettype__ *offsettype*? ?__\-return__ *returntype*? ?__\-zipkit__ *0&#124;1*? ?__\-runtime__ *preamble\_filename*? ?__\-comment__ *zipfilecomment*? ?__\-directory__ *dir\_to\_zip*? ?__\-base__ *archive\_root*? ?__\-exclude__ *globlist*? *zipfilename* *?glob\.\.\.?*
Create a zip archive in 'zipfilename'
If a file already exists, an error will be raised\.
Call 'punk::zip::mkzip' with no arguments for usage display\.
## <a name='subsection4'></a>Namespace punk::zip::lib
Secondary functions that are part of the API
# <a name='keywords'></a>KEYWORDS
[fileformat](\.\./\.\./\.\./index\.md\#fileformat),
[module](\.\./\.\./\.\./index\.md\#module), [zip](\.\./\.\./\.\./index\.md\#zip)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

108
src/embedded/md/doc/files/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.md

@ -0,0 +1,108 @@
[//000000001]: # (punkshell\_module\_scriptwrap \- scriptwrap tool)
[//000000002]: # (Generated from file '\_module\_scriptwrap\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (punkshell\_module\_scriptwrap\(0\) 0\.1\.0 doc "scriptwrap tool")
<hr> [ <a href="../../../../../toc.md">Main Table Of Contents</a> &#124;
<a href="../../../../toc.md">Table Of Contents</a> &#124; <a
href="../../../../../index.md">Keyword Index</a> ] <hr>
# NAME
punkshell\_module\_scriptwrap \- scriptwrap polyglot tool
# <a name='toc'></a>Table Of Contents
- [Table Of Contents](#toc)
- [Synopsis](#synopsis)
- [Description](#section1)
- [Overview](#section2)
- [Concepts](#subsection1)
- [dependencies](#subsection2)
- [API](#section3)
- [Namespace punk::mix::commandset::scriptwrap](#subsection3)
- [Namespace punk::mix::commandset::scriptwrap::lib](#subsection4)
- [Namespace
punk::mix::commandset::scriptwrap::batchlib](#subsection5)
- [Keywords](#keywords)
- [Copyright](#copyright)
# <a name='synopsis'></a>SYNOPSIS
package require punk::mix::commandset::scriptwrap
[__get\_wrapper\_folders__ *args*](#1)
# <a name='description'></a>DESCRIPTION
\-
# <a name='section2'></a>Overview
overview of scriptwrap
## <a name='subsection1'></a>Concepts
\-
## <a name='subsection2'></a>dependencies
packages used by poshinfo
- __Tcl 8\.6__
- __punk::lib__
- __punk::args__
- __punk::mix__
- __punk::base__
- __punk::fileline__
# <a name='section3'></a>API
## <a name='subsection3'></a>Namespace punk::mix::commandset::scriptwrap
Core API functions for punk::mix::commandset::scriptwrap
## <a name='subsection4'></a>Namespace punk::mix::commandset::scriptwrap::lib
- <a name='1'></a>__get\_wrapper\_folders__ *args*
Return list of dicts representing wrapper folders in the project\. keys:
basefolder sourceinfo
Arguments:
* string *args*
name\-value pairs \-scriptpath <path>
## <a name='subsection5'></a>Namespace punk::mix::commandset::scriptwrap::batchlib
Utility funcions for processing windows \.bat files
# <a name='keywords'></a>KEYWORDS
[commandset](\.\./\.\./\.\./\.\./\.\./index\.md\#commandset),
[launcher](\.\./\.\./\.\./\.\./\.\./index\.md\#launcher),
[module](\.\./\.\./\.\./\.\./\.\./index\.md\#module),
[scriptwrap](\.\./\.\./\.\./\.\./\.\./index\.md\#scriptwrap)
# <a name='copyright'></a>COPYRIGHT
Copyright &copy; 2024

10
src/embedded/md/doc/files/punk/nav/_module_fs-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::nav::fs \- \-)
[//000000001]: # (shellspy\_module\_punk::nav::fs \- fs nav)
[//000000002]: # (Generated from file '\_module\_fs\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_punk::nav::fs\(0\) 0\.1\.0 doc "\-")
[//000000004]: # (shellspy\_module\_punk::nav::fs\(0\) 0\.1\.0 doc "fs nav")
<hr> [ <a href="../../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::nav::fs \- Module API
shellspy\_module\_punk::nav::fs \- punk::nav::fs console filesystem navigation
# <a name='toc'></a>Table Of Contents
@ -90,7 +90,9 @@ class definitions if \{ eq ""\} \{
# <a name='keywords'></a>KEYWORDS
[module](\.\./\.\./\.\./\.\./index\.md\#module)
[filesystem](\.\./\.\./\.\./\.\./index\.md\#filesystem),
[module](\.\./\.\./\.\./\.\./index\.md\#module),
[terminal](\.\./\.\./\.\./\.\./index\.md\#terminal)
# <a name='copyright'></a>COPYRIGHT

10
src/embedded/md/doc/files/punk/repl/_module_codethread-0.1.0.tm.md

@ -1,8 +1,8 @@
[//000000001]: # (shellspy\_module\_punk::repl::codethread \- \-)
[//000000001]: # (shellspy\_module\_punk::repl::codethread \- codethread for repl \- root interpreter)
[//000000002]: # (Generated from file '\_module\_codethread\-0\.1\.0\.tm\.man' by tcllib/doctools with format 'markdown')
[//000000003]: # (Copyright &copy; 2024)
[//000000004]: # (shellspy\_module\_punk::repl::codethread\(0\) 0\.1\.0 doc "\-")
[//000000004]: # (shellspy\_module\_punk::repl::codethread\(0\) 0\.1\.0 doc "codethread for repl \- root interpreter")
<hr> [ <a href="../../../../toc.md">Main Table Of Contents</a> &#124; <a
href="../../../toc.md">Table Of Contents</a> &#124; <a
@ -10,7 +10,7 @@ href="../../../../index.md">Keyword Index</a> ] <hr>
# NAME
shellspy\_module\_punk::repl::codethread \- Module API
shellspy\_module\_punk::repl::codethread \- Module repl codethread
# <a name='toc'></a>Table Of Contents
@ -48,7 +48,7 @@ package require punk::repl::codethread
# <a name='description'></a>DESCRIPTION
\-
This is part of the infrastructure required for the punk::repl to operate
# <a name='section2'></a>Overview
@ -80,7 +80,7 @@ class definitions if \{ eq ""\} \{
# <a name='keywords'></a>KEYWORDS
[module](\.\./\.\./\.\./\.\./index\.md\#module)
[module](\.\./\.\./\.\./\.\./index\.md\#module), [repl](\.\./\.\./\.\./\.\./index\.md\#repl)
# <a name='copyright'></a>COPYRIGHT

54
src/embedded/md/doc/toc.md

@ -3,68 +3,82 @@
# Table Of Contents \-\- doc
- [modpod\_module\_modpod](doc/files/\_module\_modpod\-0\.1\.0\.tm\.md) Module API
- [fauxlink\_module\_fauxlink](doc/files/\_module\_fauxlink\-0\.1\.1\.tm\.md) faux link application shortcuts
- [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.3\.tm\.md) overtype text layout \- ansi aware
- [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.4\.tm\.md) overtype text layout \- ansi aware
- [modpod\_module\_modpod](doc/files/\_module\_modpod\-0\.1\.2\.tm\.md) Module API
- [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.5\.tm\.md) overtype text layout \- ansi aware
- [punkshell](doc/files/main\.md) punkshell \- Core
- [punkshell::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md) basic telnet client \- DKF/Wiki
- [punkshell\_\_project\_changes](doc/files/project\_changes\.md) punkshell Changes
- [punkshell\_\_project\_intro](doc/files/project\_intro\.md) Introduction to punkshell
- [punkshell\_module\_argparsingtest](doc/files/\_module\_argparsingtest\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md) poshinfo prompt theme tool
- [punkshell\_module\_punk::aliascore](doc/files/punk/\_module\_aliascore\-0\.1\.0\.tm\.md) punkshell command aliases
- [punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md) Ansi string functions
- [punkshell\_module\_punk::args](doc/files/punk/\_module\_args\-0\.1\.0\.tm\.md) args parsing
- [punkshell\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md) assertion alternative to control::assert
- [punkshell\_module\_punk::blockletter](doc/files/punk/\_module\_blockletter\-0\.1\.0\.tm\.md) punk::blockletter frame\-based large lettering test/logo
- [punkshell\_module\_punk::cap](doc/files/punk/\_module\_cap\-0\.1\.0\.tm\.md) capability provider and handler plugin system
- [punkshell\_module\_punk::cesu](doc/files/punk/\_module\_cesu\-0\.1\.0\.tm\.md) CESU compatibility ehcoding scheme for utf\-16: 8\-Bit \(CESU\-8\) ??
- [punkshell\_module\_punk::char](doc/files/punk/\_module\_char\-0\.1\.0\.tm\.md) character\-set and unicode utilities
- [punkshell\_module\_punk::console](doc/files/punk/\_module\_console\-0\.1\.1\.tm\.md) punk console
- [punkshell\_module\_punk::encmime](doc/files/punk/\_module\_encmime\-0\.1\.0\.tm\.md) mime encodings related subset of tcllib mime
- [punkshell\_module\_punk::experiment](doc/files/punk/\_module\_experiment\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md) file line\-handling utilities
- [punkshell\_module\_punk::flib](doc/files/punk/\_module\_flib\-0\.1\.0\.tm\.md) flib experimental
- [punkshell\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md) filesystem islands for safe interps
- [punkshell\_module\_punk::lib](doc/files/punk/\_module\_lib\-0\.1\.1\.tm\.md) punk general utility functions
- [punkshell\_module\_punk::mix::commandset::project](doc/files/punk/mix/commandset/\_module\_project\-0\.1\.0\.tm\.md) dec commandset \- project
- [punkshell\_module\_punk::path](doc/files/punk/\_module\_path\-0\.1\.0\.tm\.md) Filesystem path utilities
- [punkshell\_module\_punk::packagepreference](doc/files/punk/\_module\_packagepreference\-0\.1\.0\.tm\.md) punkshell package/module loading
- [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.1\.tm\.md) punk textblock functions
- [shellspy\_module\_argparsingtest](doc/files/\_module\_argparsingtest\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::path](doc/files/punk/\_module\_path\-0\.1\.0\.tm\.md) Filesystem path utilities
- [shellspy\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::rest](doc/files/punk/\_module\_rest\-0\.1\.0\.tm\.md) punk::rest
- [shellspy\_module\_punk::aliascore](doc/files/punk/\_module\_aliascore\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::sshrun](doc/files/punk/\_module\_sshrun\-0\.1\.0\.tm\.md) Tcl procedures to execute tcl scripts in remote hosts
- [shellspy\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md) assertion alternative to control::assert
- [punkshell\_module\_punk::trie](doc/files/punk/\_module\_trie\-0\.1\.0\.tm\.md) punk::trie API
- [shellspy\_module\_punk::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md) basic telnet client \- DKF/Wiki
- [punkshell\_module\_punk::uc](doc/files/punk/\_module\_uc\-0\.1\.0\.tm\.md) Module API
- [shellspy\_module\_punk::experiment](doc/files/punk/\_module\_experiment\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::winlnk](doc/files/punk/\_module\_winlnk\-0\.1\.0\.tm\.md) windows shortcut \.lnk library
- [shellspy\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md) filesystem islands for safe interps
- [punkshell\_module\_punk::zip](doc/files/punk/\_module\_zip\-0\.1\.1\.tm\.md) Module API
- [shellspy\_module\_punk::nav::fs](doc/files/punk/nav/\_module\_fs\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_scriptwrap](doc/files/punk/mix/commandset/\_module\_scriptwrap\-0\.1\.0\.tm\.md) scriptwrap polyglot tool
- [shellspy\_module\_punk::packagepreference](doc/files/punk/\_module\_packagepreference\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.1\.tm\.md) punk textblock functions
- [shellspy\_module\_punk::repl::codethread](doc/files/punk/repl/\_module\_codethread\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md) punk textblock functions
- [shellspy\_module\_punk::sshrun](doc/files/punk/\_module\_sshrun\-0\.1\.0\.tm\.md) Tcl procedures to execute tcl scripts in remote hosts
- [shellspy\_module\_punk::nav::fs](doc/files/punk/nav/\_module\_fs\-0\.1\.0\.tm\.md) punk::nav::fs console filesystem navigation
- [shellspy\_module\_punk::uc](doc/files/punk/\_module\_uc\-0\.1\.0\.tm\.md) Module API
- [shellspy\_module\_punk::repl::codethread](doc/files/punk/repl/\_module\_codethread\-0\.1\.0\.tm\.md) Module repl codethread
- [shellspy\_module\_punk::zip](doc/files/punk/\_module\_zip\-0\.1\.0\.tm\.md) Module API
- [tomlish\_module\_tomlish](doc/files/\_module\_tomlish\-1\.1\.1\.tm\.md) Module API
- [tomlish\_module\_tomlish](doc/files/\_module\_tomlish\-1\.1\.1\.tm\.md) tomlish toml parser

86
src/embedded/md/index.md

@ -5,7 +5,7 @@
----
[A](#cA) &#183; [B](#cB) &#183; [C](#cC) &#183; [D](#cD) &#183; [E](#cE) &#183; [F](#cF) &#183; [I](#cI) &#183; [L](#cL) &#183; [M](#cM) &#183; [P](#cP) &#183; [R](#cR) &#183; [S](#cS) &#183; [T](#cT) &#183; [U](#cU)
[A](#cA) &#183; [B](#cB) &#183; [C](#cC) &#183; [D](#cD) &#183; [E](#cE) &#183; [F](#cF) &#183; [H](#cH) &#183; [I](#cI) &#183; [L](#cL) &#183; [M](#cM) &#183; [P](#cP) &#183; [R](#cR) &#183; [S](#cS) &#183; [T](#cT) &#183; [U](#cU) &#183; [W](#cW) &#183; [Z](#cZ)
----
@ -13,11 +13,12 @@
|||
|---|---|
|<a name='ansi'></a>ansi|[overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.3\.tm\.md) &#183; [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.4\.tm\.md) &#183; [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.5\.tm\.md) &#183; [punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md)|
|<a name='alias'></a>alias|[punkshell\_module\_punk::aliascore](doc/files/punk/\_module\_aliascore\-0\.1\.0\.tm\.md)|
|<a name='ansi'></a>ansi|[overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.5\.tm\.md) &#183; [punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md)|
|<a name='args'></a>args|[punkshell\_module\_punk::args](doc/files/punk/\_module\_args\-0\.1\.0\.tm\.md)|
|<a name='arguments'></a>arguments|[punkshell\_module\_punk::args](doc/files/punk/\_module\_args\-0\.1\.0\.tm\.md)|
|<a name='assert'></a>assert|[shellspy\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md)|
|<a name='assertion'></a>assertion|[shellspy\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md)|
|<a name='assert'></a>assert|[punkshell\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md)|
|<a name='assertion'></a>assertion|[punkshell\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md)|
#### <a name='cB'></a>Keywords: B
@ -32,63 +33,90 @@
|||
|---|---|
|<a name='capability'></a>capability|[punkshell\_module\_punk::cap](doc/files/punk/\_module\_cap\-0\.1\.0\.tm\.md)|
|<a name='cesu'></a>cesu|[punkshell\_module\_punk::cesu](doc/files/punk/\_module\_cesu\-0\.1\.0\.tm\.md)|
|<a name='changelog'></a>changelog|[punkshell\_\_project\_changes](doc/files/project\_changes\.md)|
|<a name='console'></a>console|[punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::console](doc/files/punk/\_module\_console\-0\.1\.1\.tm\.md)|
|<a name='colour'></a>colour|[punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md)|
|<a name='commandset'></a>commandset|[punkshell\_module\_scriptwrap](doc/files/punk/mix/commandset/\_module\_scriptwrap\-0\.1\.0\.tm\.md)|
|<a name='compatibility'></a>compatibility|[punkshell\_module\_punk::cesu](doc/files/punk/\_module\_cesu\-0\.1\.0\.tm\.md)|
|<a name='configuration'></a>configuration|[tomlish\_module\_tomlish](doc/files/\_module\_tomlish\-1\.1\.1\.tm\.md)|
|<a name='console'></a>console|[punkshell::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::console](doc/files/punk/\_module\_console\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md)|
|<a name='crossplatform'></a>crossplatform|[punkshell\_module\_punk::winlnk](doc/files/punk/\_module\_winlnk\-0\.1\.0\.tm\.md)|
#### <a name='cD'></a>Keywords: D
|||
|---|---|
|<a name='debug'></a>debug|[shellspy\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md)|
|<a name='datastructure'></a>datastructure|[punkshell\_module\_punk::trie](doc/files/punk/\_module\_trie\-0\.1\.0\.tm\.md)|
|<a name='debug'></a>debug|[punkshell\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md)|
#### <a name='cE'></a>Keywords: E
|||
|---|---|
|<a name='encoding'></a>encoding|[punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md)|
|<a name='encoding'></a>encoding|[punkshell\_module\_punk::cesu](doc/files/punk/\_module\_cesu\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md)|
|<a name='encodings'></a>encodings|[punkshell\_module\_punk::char](doc/files/punk/\_module\_char\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::encmime](doc/files/punk/\_module\_encmime\-0\.1\.0\.tm\.md)|
|<a name='experimental'></a>experimental|[punkshell\_module\_punk::flib](doc/files/punk/\_module\_flib\-0\.1\.0\.tm\.md)|
|<a name='experimental'></a>experimental|[punkshell\_module\_punk::cesu](doc/files/punk/\_module\_cesu\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::flib](doc/files/punk/\_module\_flib\-0\.1\.0\.tm\.md)|
#### <a name='cF'></a>Keywords: F
|||
|---|---|
|<a name='fake'></a>fake|[fauxlink\_module\_fauxlink](doc/files/\_module\_fauxlink\-0\.1\.1\.tm\.md)|
|<a name='faux'></a>faux|[fauxlink\_module\_fauxlink](doc/files/\_module\_fauxlink\-0\.1\.1\.tm\.md)|
|<a name='file'></a>file|[punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md)|
|<a name='filesystem'></a>filesystem|[punkshell\_module\_punk::path](doc/files/punk/\_module\_path\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md)|
|<a name='fileformat'></a>fileformat|[punkshell\_module\_punk::zip](doc/files/punk/\_module\_zip\-0\.1\.1\.tm\.md)|
|<a name='filesystem'></a>filesystem|[punkshell\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::path](doc/files/punk/\_module\_path\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::nav::fs](doc/files/punk/nav/\_module\_fs\-0\.1\.0\.tm\.md)|
|<a name='frame'></a>frame|[punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md)|
#### <a name='cH'></a>Keywords: H
|||
|---|---|
|<a name='http'></a>http|[punkshell\_module\_punk::rest](doc/files/punk/\_module\_rest\-0\.1\.0\.tm\.md)|
#### <a name='cI'></a>Keywords: I
|||
|---|---|
|<a name='interp'></a>interp|[shellspy\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md)|
|<a name='interp'></a>interp|[punkshell\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md)|
#### <a name='cL'></a>Keywords: L
|||
|---|---|
|<a name='launcher'></a>launcher|[punkshell\_module\_scriptwrap](doc/files/punk/mix/commandset/\_module\_scriptwrap\-0\.1\.0\.tm\.md)|
|<a name='layout'></a>layout|[punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md)|
|<a name='lib'></a>lib|[punkshell\_module\_punk::lib](doc/files/punk/\_module\_lib\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.1\.tm\.md)|
|<a name='lnk'></a>lnk|[punkshell\_module\_punk::winlnk](doc/files/punk/\_module\_winlnk\-0\.1\.0\.tm\.md)|
#### <a name='cM'></a>Keywords: M
|||
|---|---|
|<a name='module'></a>module|[modpod\_module\_modpod](doc/files/\_module\_modpod\-0\.1\.0\.tm\.md) &#183; [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.3\.tm\.md) &#183; [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.4\.tm\.md) &#183; [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.5\.tm\.md) &#183; [punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::args](doc/files/punk/\_module\_args\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::cap](doc/files/punk/\_module\_cap\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::char](doc/files/punk/\_module\_char\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::console](doc/files/punk/\_module\_console\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::encmime](doc/files/punk/\_module\_encmime\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::flib](doc/files/punk/\_module\_flib\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::lib](doc/files/punk/\_module\_lib\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::path](doc/files/punk/\_module\_path\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.1\.tm\.md) &#183; [shellspy\_module\_argparsingtest](doc/files/\_module\_argparsingtest\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::aliascore](doc/files/punk/\_module\_aliascore\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::experiment](doc/files/punk/\_module\_experiment\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::nav::fs](doc/files/punk/nav/\_module\_fs\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::packagepreference](doc/files/punk/\_module\_packagepreference\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::repl::codethread](doc/files/punk/repl/\_module\_codethread\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::sshrun](doc/files/punk/\_module\_sshrun\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::uc](doc/files/punk/\_module\_uc\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::zip](doc/files/punk/\_module\_zip\-0\.1\.0\.tm\.md) &#183; [tomlish\_module\_tomlish](doc/files/\_module\_tomlish\-1\.1\.1\.tm\.md)|
|<a name='module'></a>module|[modpod\_module\_modpod](doc/files/\_module\_modpod\-0\.1\.2\.tm\.md) &#183; [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.5\.tm\.md) &#183; [punkshell::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_argparsingtest](doc/files/\_module\_argparsingtest\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::aliascore](doc/files/punk/\_module\_aliascore\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::args](doc/files/punk/\_module\_args\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::blockletter](doc/files/punk/\_module\_blockletter\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::cap](doc/files/punk/\_module\_cap\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::cesu](doc/files/punk/\_module\_cesu\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::char](doc/files/punk/\_module\_char\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::console](doc/files/punk/\_module\_console\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::encmime](doc/files/punk/\_module\_encmime\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::experiment](doc/files/punk/\_module\_experiment\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::flib](doc/files/punk/\_module\_flib\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::lib](doc/files/punk/\_module\_lib\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::packagepreference](doc/files/punk/\_module\_packagepreference\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::path](doc/files/punk/\_module\_path\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::rest](doc/files/punk/\_module\_rest\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::sshrun](doc/files/punk/\_module\_sshrun\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::trie](doc/files/punk/\_module\_trie\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::uc](doc/files/punk/\_module\_uc\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::winlnk](doc/files/punk/\_module\_winlnk\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::zip](doc/files/punk/\_module\_zip\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_scriptwrap](doc/files/punk/mix/commandset/\_module\_scriptwrap\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md) &#183; [shellspy\_module\_punk::nav::fs](doc/files/punk/nav/\_module\_fs\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::repl::codethread](doc/files/punk/repl/\_module\_codethread\-0\.1\.0\.tm\.md) &#183; [shellspy\_module\_punk::zip](doc/files/punk/\_module\_zip\-0\.1\.0\.tm\.md) &#183; [tomlish\_module\_tomlish](doc/files/\_module\_tomlish\-1\.1\.1\.tm\.md)|
#### <a name='cP'></a>Keywords: P
|||
|---|---|
|<a name='parse'></a>parse|[punkshell\_module\_punk::args](doc/files/punk/\_module\_args\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md)|
|<a name='package'></a>package|[punkshell\_module\_punk::packagepreference](doc/files/punk/\_module\_packagepreference\-0\.1\.0\.tm\.md)|
|<a name='parse'></a>parse|[punkshell\_module\_punk::args](doc/files/punk/\_module\_args\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::winlnk](doc/files/punk/\_module\_winlnk\-0\.1\.0\.tm\.md)|
|<a name='parsing'></a>parsing|[tomlish\_module\_tomlish](doc/files/\_module\_tomlish\-1\.1\.1\.tm\.md)|
|<a name='path'></a>path|[punkshell\_module\_punk::path](doc/files/punk/\_module\_path\-0\.1\.0\.tm\.md)|
|<a name='plugin'></a>plugin|[punkshell\_module\_punk::cap](doc/files/punk/\_module\_cap\-0\.1\.0\.tm\.md)|
|<a name='posh'></a>POSH|[punkshell\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md)|
|<a name='proc'></a>proc|[punkshell\_module\_punk::args](doc/files/punk/\_module\_args\-0\.1\.0\.tm\.md)|
|<a name='prompt'></a>prompt|[punkshell\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md)|
|<a name='prompt\_theme'></a>prompt theme|[punkshell\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md)|
|<a name='protocol'></a>protocol|[punkshell::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md)|
|<a name='punk'></a>punk|[punkshell](doc/files/main\.md) &#183; [punkshell\_\_project\_changes](doc/files/project\_changes\.md) &#183; [punkshell\_\_project\_intro](doc/files/project\_intro\.md)|
@ -96,28 +124,54 @@
|||
|---|---|
|<a name='repl'></a>repl|[punkshell](doc/files/main\.md) &#183; [punkshell\_\_project\_changes](doc/files/project\_changes\.md) &#183; [punkshell\_\_project\_intro](doc/files/project\_intro\.md)|
|<a name='repl'></a>repl|[punkshell](doc/files/main\.md) &#183; [punkshell\_\_project\_changes](doc/files/project\_changes\.md) &#183; [punkshell\_\_project\_intro](doc/files/project\_intro\.md) &#183; [shellspy\_module\_punk::repl::codethread](doc/files/punk/repl/\_module\_codethread\-0\.1\.0\.tm\.md)|
|<a name='rest'></a>rest|[punkshell\_module\_punk::rest](doc/files/punk/\_module\_rest\-0\.1\.0\.tm\.md)|
#### <a name='cS'></a>Keywords: S
|||
|---|---|
|<a name='scriptwrap'></a>scriptwrap|[punkshell\_module\_scriptwrap](doc/files/punk/mix/commandset/\_module\_scriptwrap\-0\.1\.0\.tm\.md)|
|<a name='shell'></a>shell|[punkshell](doc/files/main\.md) &#183; [punkshell\_\_project\_changes](doc/files/project\_changes\.md) &#183; [punkshell\_\_project\_intro](doc/files/project\_intro\.md)|
|<a name='ssh'></a>ssh|[shellspy\_module\_punk::sshrun](doc/files/punk/\_module\_sshrun\-0\.1\.0\.tm\.md)|
|<a name='shortcut'></a>shortcut|[fauxlink\_module\_fauxlink](doc/files/\_module\_fauxlink\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::winlnk](doc/files/punk/\_module\_winlnk\-0\.1\.0\.tm\.md)|
|<a name='ssh'></a>ssh|[punkshell\_module\_punk::sshrun](doc/files/punk/\_module\_sshrun\-0\.1\.0\.tm\.md)|
|<a name='string'></a>string|[punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md)|
|<a name='symlink'></a>symlink|[fauxlink\_module\_fauxlink](doc/files/\_module\_fauxlink\-0\.1\.1\.tm\.md)|
#### <a name='cT'></a>Keywords: T
|||
|---|---|
|<a name='terminal'></a>terminal|[punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::console](doc/files/punk/\_module\_console\-0\.1\.1\.tm\.md)|
|<a name='text'></a>text|[overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.3\.tm\.md) &#183; [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.4\.tm\.md) &#183; [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.5\.tm\.md) &#183; [punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md)|
|<a name='table'></a>table|[punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md)|
|<a name='telnet'></a>telnet|[punkshell::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md)|
|<a name='terminal'></a>terminal|[punkshell::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_punk::console](doc/files/punk/\_module\_console\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md) &#183; [shellspy\_module\_punk::nav::fs](doc/files/punk/nav/\_module\_fs\-0\.1\.0\.tm\.md)|
|<a name='text'></a>text|[overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.5\.tm\.md) &#183; [punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md)|
|<a name='theme'></a>theme|[punkshell\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md)|
|<a name='toml'></a>toml|[fauxlink\_module\_fauxlink](doc/files/\_module\_fauxlink\-0\.1\.1\.tm\.md) &#183; [tomlish\_module\_tomlish](doc/files/\_module\_tomlish\-1\.1\.1\.tm\.md)|
|<a name='trie'></a>trie|[punkshell\_module\_punk::trie](doc/files/punk/\_module\_trie\-0\.1\.0\.tm\.md)|
#### <a name='cU'></a>Keywords: U
|||
|---|---|
|<a name='unicode'></a>unicode|[punkshell\_module\_punk::uc](doc/files/punk/\_module\_uc\-0\.1\.0\.tm\.md)|
|<a name='unofficial'></a>unofficial|[punkshell\_module\_punk::cesu](doc/files/punk/\_module\_cesu\-0\.1\.0\.tm\.md) &#183; [punkshell\_module\_punk::uc](doc/files/punk/\_module\_uc\-0\.1\.0\.tm\.md)|
|<a name='utility'></a>utility|[punkshell\_module\_punk::lib](doc/files/punk/\_module\_lib\-0\.1\.1\.tm\.md) &#183; [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.1\.tm\.md)|
#### <a name='cW'></a>Keywords: W
|||
|---|---|
|<a name='wcswidth'></a>wcswidth|[punkshell\_module\_punk::uc](doc/files/punk/\_module\_uc\-0\.1\.0\.tm\.md)|
|<a name='windows'></a>windows|[punkshell\_module\_punk::winlnk](doc/files/punk/\_module\_winlnk\-0\.1\.0\.tm\.md)|
#### <a name='cZ'></a>Keywords: Z
|||
|---|---|
|<a name='zip'></a>zip|[punkshell\_module\_punk::zip](doc/files/punk/\_module\_zip\-0\.1\.1\.tm\.md)|

54
src/embedded/md/toc.md

@ -3,68 +3,82 @@
# Table Of Contents \-\- doc
- [modpod\_module\_modpod](doc/files/\_module\_modpod\-0\.1\.0\.tm\.md) Module API
- [fauxlink\_module\_fauxlink](doc/files/\_module\_fauxlink\-0\.1\.1\.tm\.md) faux link application shortcuts
- [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.3\.tm\.md) overtype text layout \- ansi aware
- [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.4\.tm\.md) overtype text layout \- ansi aware
- [modpod\_module\_modpod](doc/files/\_module\_modpod\-0\.1\.2\.tm\.md) Module API
- [overtype\_module\_overtype](doc/files/\_module\_overtype\-1\.6\.5\.tm\.md) overtype text layout \- ansi aware
- [punkshell](doc/files/main\.md) punkshell \- Core
- [punkshell::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md) basic telnet client \- DKF/Wiki
- [punkshell\_\_project\_changes](doc/files/project\_changes\.md) punkshell Changes
- [punkshell\_\_project\_intro](doc/files/project\_intro\.md) Introduction to punkshell
- [punkshell\_module\_argparsingtest](doc/files/\_module\_argparsingtest\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md) poshinfo prompt theme tool
- [punkshell\_module\_punk::aliascore](doc/files/punk/\_module\_aliascore\-0\.1\.0\.tm\.md) punkshell command aliases
- [punkshell\_module\_punk::ansi](doc/files/punk/\_module\_ansi\-0\.1\.1\.tm\.md) Ansi string functions
- [punkshell\_module\_punk::args](doc/files/punk/\_module\_args\-0\.1\.0\.tm\.md) args parsing
- [punkshell\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md) assertion alternative to control::assert
- [punkshell\_module\_punk::blockletter](doc/files/punk/\_module\_blockletter\-0\.1\.0\.tm\.md) punk::blockletter frame\-based large lettering test/logo
- [punkshell\_module\_punk::cap](doc/files/punk/\_module\_cap\-0\.1\.0\.tm\.md) capability provider and handler plugin system
- [punkshell\_module\_punk::cesu](doc/files/punk/\_module\_cesu\-0\.1\.0\.tm\.md) CESU compatibility ehcoding scheme for utf\-16: 8\-Bit \(CESU\-8\) ??
- [punkshell\_module\_punk::char](doc/files/punk/\_module\_char\-0\.1\.0\.tm\.md) character\-set and unicode utilities
- [punkshell\_module\_punk::console](doc/files/punk/\_module\_console\-0\.1\.1\.tm\.md) punk console
- [punkshell\_module\_punk::encmime](doc/files/punk/\_module\_encmime\-0\.1\.0\.tm\.md) mime encodings related subset of tcllib mime
- [punkshell\_module\_punk::experiment](doc/files/punk/\_module\_experiment\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::fileline](doc/files/punk/\_module\_fileline\-0\.1\.0\.tm\.md) file line\-handling utilities
- [punkshell\_module\_punk::flib](doc/files/punk/\_module\_flib\-0\.1\.0\.tm\.md) flib experimental
- [punkshell\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md) filesystem islands for safe interps
- [punkshell\_module\_punk::lib](doc/files/punk/\_module\_lib\-0\.1\.1\.tm\.md) punk general utility functions
- [punkshell\_module\_punk::mix::commandset::project](doc/files/punk/mix/commandset/\_module\_project\-0\.1\.0\.tm\.md) dec commandset \- project
- [punkshell\_module\_punk::path](doc/files/punk/\_module\_path\-0\.1\.0\.tm\.md) Filesystem path utilities
- [punkshell\_module\_punk::packagepreference](doc/files/punk/\_module\_packagepreference\-0\.1\.0\.tm\.md) punkshell package/module loading
- [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.1\.tm\.md) punk textblock functions
- [shellspy\_module\_argparsingtest](doc/files/\_module\_argparsingtest\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::path](doc/files/punk/\_module\_path\-0\.1\.0\.tm\.md) Filesystem path utilities
- [shellspy\_module\_poshinfo](doc/files/\_module\_poshinfo\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::rest](doc/files/punk/\_module\_rest\-0\.1\.0\.tm\.md) punk::rest
- [shellspy\_module\_punk::aliascore](doc/files/punk/\_module\_aliascore\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::sshrun](doc/files/punk/\_module\_sshrun\-0\.1\.0\.tm\.md) Tcl procedures to execute tcl scripts in remote hosts
- [shellspy\_module\_punk::assertion](doc/files/punk/\_module\_assertion\-0\.1\.0\.tm\.md) assertion alternative to control::assert
- [punkshell\_module\_punk::trie](doc/files/punk/\_module\_trie\-0\.1\.0\.tm\.md) punk::trie API
- [shellspy\_module\_punk::basictelnet](doc/files/punk/\_module\_basictelnet\-0\.1\.0\.tm\.md) basic telnet client \- DKF/Wiki
- [punkshell\_module\_punk::uc](doc/files/punk/\_module\_uc\-0\.1\.0\.tm\.md) Module API
- [shellspy\_module\_punk::experiment](doc/files/punk/\_module\_experiment\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_punk::winlnk](doc/files/punk/\_module\_winlnk\-0\.1\.0\.tm\.md) windows shortcut \.lnk library
- [shellspy\_module\_punk::island](doc/files/punk/\_module\_island\-0\.1\.0\.tm\.md) filesystem islands for safe interps
- [punkshell\_module\_punk::zip](doc/files/punk/\_module\_zip\-0\.1\.1\.tm\.md) Module API
- [shellspy\_module\_punk::nav::fs](doc/files/punk/nav/\_module\_fs\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_scriptwrap](doc/files/punk/mix/commandset/\_module\_scriptwrap\-0\.1\.0\.tm\.md) scriptwrap polyglot tool
- [shellspy\_module\_punk::packagepreference](doc/files/punk/\_module\_packagepreference\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.1\.tm\.md) punk textblock functions
- [shellspy\_module\_punk::repl::codethread](doc/files/punk/repl/\_module\_codethread\-0\.1\.0\.tm\.md) Module API
- [punkshell\_module\_textblock](doc/files/\_module\_textblock\-0\.1\.2\.tm\.md) punk textblock functions
- [shellspy\_module\_punk::sshrun](doc/files/punk/\_module\_sshrun\-0\.1\.0\.tm\.md) Tcl procedures to execute tcl scripts in remote hosts
- [shellspy\_module\_punk::nav::fs](doc/files/punk/nav/\_module\_fs\-0\.1\.0\.tm\.md) punk::nav::fs console filesystem navigation
- [shellspy\_module\_punk::uc](doc/files/punk/\_module\_uc\-0\.1\.0\.tm\.md) Module API
- [shellspy\_module\_punk::repl::codethread](doc/files/punk/repl/\_module\_codethread\-0\.1\.0\.tm\.md) Module repl codethread
- [shellspy\_module\_punk::zip](doc/files/punk/\_module\_zip\-0\.1\.0\.tm\.md) Module API
- [tomlish\_module\_tomlish](doc/files/\_module\_tomlish\-1\.1\.1\.tm\.md) Module API
- [tomlish\_module\_tomlish](doc/files/\_module\_tomlish\-1\.1\.1\.tm\.md) tomlish toml parser

73
src/embedded/www/.doc/tocdoc

@ -1,35 +1,42 @@
[toc_begin {Table Of Contents} doc]
[item doc/files/_module_modpod-0.1.0.tm.html modpod_module_modpod {Module API}]
[item doc/files/_module_overtype-1.6.3.tm.html overtype_module_overtype {overtype text layout - ansi aware}]
[item doc/files/_module_overtype-1.6.4.tm.html overtype_module_overtype {overtype text layout - ansi aware}]
[item doc/files/_module_overtype-1.6.5.tm.html overtype_module_overtype {overtype text layout - ansi aware}]
[item doc/files/main.html punkshell {punkshell - Core}]
[item doc/files/project_changes.html punkshell__project_changes {punkshell Changes}]
[item doc/files/project_intro.html punkshell__project_intro {Introduction to punkshell}]
[item doc/files/punk/_module_ansi-0.1.1.tm.html punkshell_module_punk::ansi {Ansi string functions}]
[item doc/files/punk/_module_args-0.1.0.tm.html punkshell_module_punk::args {args parsing}]
[item doc/files/punk/_module_cap-0.1.0.tm.html punkshell_module_punk::cap {capability provider and handler plugin system}]
[item doc/files/punk/_module_char-0.1.0.tm.html punkshell_module_punk::char {character-set and unicode utilities}]
[item doc/files/punk/_module_console-0.1.1.tm.html punkshell_module_punk::console {punk console}]
[item doc/files/punk/_module_encmime-0.1.0.tm.html punkshell_module_punk::encmime {mime encodings related subset of tcllib mime}]
[item doc/files/punk/_module_fileline-0.1.0.tm.html punkshell_module_punk::fileline {file line-handling utilities}]
[item doc/files/punk/_module_flib-0.1.0.tm.html punkshell_module_punk::flib {flib experimental}]
[item doc/files/punk/_module_lib-0.1.1.tm.html punkshell_module_punk::lib {punk general utility functions}]
[item doc/files/punk/mix/commandset/_module_project-0.1.0.tm.html punkshell_module_punk::mix::commandset::project {dec commandset - project}]
[item doc/files/punk/_module_path-0.1.0.tm.html punkshell_module_punk::path {Filesystem path utilities}]
[item doc/files/_module_textblock-0.1.1.tm.html punkshell_module_textblock {punk textblock functions}]
[item doc/files/_module_argparsingtest-0.1.0.tm.html shellspy_module_argparsingtest {Module API}]
[item doc/files/_module_poshinfo-0.1.0.tm.html shellspy_module_poshinfo {Module API}]
[item doc/files/punk/_module_aliascore-0.1.0.tm.html shellspy_module_punk::aliascore {Module API}]
[item doc/files/punk/_module_assertion-0.1.0.tm.html shellspy_module_punk::assertion {assertion alternative to control::assert}]
[item doc/files/punk/_module_basictelnet-0.1.0.tm.html shellspy_module_punk::basictelnet {basic telnet client - DKF/Wiki}]
[item doc/files/punk/_module_experiment-0.1.0.tm.html shellspy_module_punk::experiment {Module API}]
[item doc/files/punk/_module_island-0.1.0.tm.html shellspy_module_punk::island {filesystem islands for safe interps}]
[item doc/files/punk/nav/_module_fs-0.1.0.tm.html shellspy_module_punk::nav::fs {Module API}]
[item doc/files/punk/_module_packagepreference-0.1.0.tm.html shellspy_module_punk::packagepreference {Module API}]
[item doc/files/punk/repl/_module_codethread-0.1.0.tm.html shellspy_module_punk::repl::codethread {Module API}]
[item doc/files/punk/_module_sshrun-0.1.0.tm.html shellspy_module_punk::sshrun {Tcl procedures to execute tcl scripts in remote hosts}]
[item doc/files/punk/_module_uc-0.1.0.tm.html shellspy_module_punk::uc {Module API}]
[item doc/files/punk/_module_zip-0.1.0.tm.html shellspy_module_punk::zip {Module API}]
[item doc/files/_module_tomlish-1.1.1.tm.html tomlish_module_tomlish {Module API}]
[item doc/files/_module_fauxlink-0.1.1.tm.html fauxlink_module_fauxlink {faux link application shortcuts}]
[item doc/files/_module_modpod-0.1.2.tm.html modpod_module_modpod {Module API}]
[item doc/files/_module_overtype-1.6.5.tm.html overtype_module_overtype {overtype text layout - ansi aware}]
[item doc/files/main.html punkshell {punkshell - Core}]
[item doc/files/punk/_module_basictelnet-0.1.0.tm.html punkshell::basictelnet {basic telnet client - DKF/Wiki}]
[item doc/files/project_changes.html punkshell__project_changes {punkshell Changes}]
[item doc/files/project_intro.html punkshell__project_intro {Introduction to punkshell}]
[item doc/files/_module_argparsingtest-0.1.0.tm.html punkshell_module_argparsingtest {Module API}]
[item doc/files/_module_poshinfo-0.1.0.tm.html punkshell_module_poshinfo {poshinfo prompt theme tool}]
[item doc/files/punk/_module_aliascore-0.1.0.tm.html punkshell_module_punk::aliascore {punkshell command aliases}]
[item doc/files/punk/_module_ansi-0.1.1.tm.html punkshell_module_punk::ansi {Ansi string functions}]
[item doc/files/punk/_module_args-0.1.0.tm.html punkshell_module_punk::args {args parsing}]
[item doc/files/punk/_module_assertion-0.1.0.tm.html punkshell_module_punk::assertion {assertion alternative to control::assert}]
[item doc/files/punk/_module_blockletter-0.1.0.tm.html punkshell_module_punk::blockletter {punk::blockletter frame-based large lettering test/logo}]
[item doc/files/punk/_module_cap-0.1.0.tm.html punkshell_module_punk::cap {capability provider and handler plugin system}]
[item doc/files/punk/_module_cesu-0.1.0.tm.html punkshell_module_punk::cesu {CESU compatibility ehcoding scheme for utf-16: 8-Bit (CESU-8) ??}]
[item doc/files/punk/_module_char-0.1.0.tm.html punkshell_module_punk::char {character-set and unicode utilities}]
[item doc/files/punk/_module_console-0.1.1.tm.html punkshell_module_punk::console {punk console}]
[item doc/files/punk/_module_encmime-0.1.0.tm.html punkshell_module_punk::encmime {mime encodings related subset of tcllib mime}]
[item doc/files/punk/_module_experiment-0.1.0.tm.html punkshell_module_punk::experiment {Module API}]
[item doc/files/punk/_module_fileline-0.1.0.tm.html punkshell_module_punk::fileline {file line-handling utilities}]
[item doc/files/punk/_module_flib-0.1.0.tm.html punkshell_module_punk::flib {flib experimental}]
[item doc/files/punk/_module_island-0.1.0.tm.html punkshell_module_punk::island {filesystem islands for safe interps}]
[item doc/files/punk/_module_lib-0.1.1.tm.html punkshell_module_punk::lib {punk general utility functions}]
[item doc/files/punk/mix/commandset/_module_project-0.1.0.tm.html punkshell_module_punk::mix::commandset::project {dec commandset - project}]
[item doc/files/punk/_module_packagepreference-0.1.0.tm.html punkshell_module_punk::packagepreference {punkshell package/module loading}]
[item doc/files/punk/_module_path-0.1.0.tm.html punkshell_module_punk::path {Filesystem path utilities}]
[item doc/files/punk/_module_rest-0.1.0.tm.html punkshell_module_punk::rest punk::rest]
[item doc/files/punk/_module_sshrun-0.1.0.tm.html punkshell_module_punk::sshrun {Tcl procedures to execute tcl scripts in remote hosts}]
[item doc/files/punk/_module_trie-0.1.0.tm.html punkshell_module_punk::trie {punk::trie API}]
[item doc/files/punk/_module_uc-0.1.0.tm.html punkshell_module_punk::uc {Module API}]
[item doc/files/punk/_module_winlnk-0.1.0.tm.html punkshell_module_punk::winlnk {windows shortcut .lnk library}]
[item doc/files/punk/_module_zip-0.1.1.tm.html punkshell_module_punk::zip {Module API}]
[item doc/files/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.html punkshell_module_scriptwrap {scriptwrap polyglot tool}]
[item doc/files/_module_textblock-0.1.1.tm.html punkshell_module_textblock {punk textblock functions}]
[item doc/files/_module_textblock-0.1.2.tm.html punkshell_module_textblock {punk textblock functions}]
[item doc/files/punk/nav/_module_fs-0.1.0.tm.html shellspy_module_punk::nav::fs {punk::nav::fs console filesystem navigation}]
[item doc/files/punk/repl/_module_codethread-0.1.0.tm.html shellspy_module_punk::repl::codethread {Module repl codethread}]
[item doc/files/punk/_module_zip-0.1.0.tm.html shellspy_module_punk::zip {Module API}]
[item doc/files/_module_tomlish-1.1.1.tm.html tomlish_module_tomlish {tomlish toml parser}]
[toc_end]

2
src/embedded/www/.idx

File diff suppressed because one or more lines are too long

2
src/embedded/www/.toc

@ -1 +1 @@
doc {doc/toc {{doc/files/punk/_module_cap-0.1.0.tm.html punkshell_module_punk::cap {capability provider and handler plugin system}} {doc/files/punk/_module_ansi-0.1.1.tm.html punkshell_module_punk::ansi {Ansi string functions}} {doc/files/punk/repl/_module_codethread-0.1.0.tm.html shellspy_module_punk::repl::codethread {Module API}} {doc/files/punk/nav/_module_fs-0.1.0.tm.html shellspy_module_punk::nav::fs {Module API}} {doc/files/punk/_module_path-0.1.0.tm.html punkshell_module_punk::path {Filesystem path utilities}} {doc/files/punk/_module_args-0.1.0.tm.html punkshell_module_punk::args {args parsing}} {doc/files/project_changes.html punkshell__project_changes {punkshell Changes}} {doc/files/punk/_module_encmime-0.1.0.tm.html punkshell_module_punk::encmime {mime encodings related subset of tcllib mime}} {doc/files/punk/_module_char-0.1.0.tm.html punkshell_module_punk::char {character-set and unicode utilities}} {doc/files/_module_modpod-0.1.0.tm.html modpod_module_modpod {Module API}} {doc/files/punk/_module_uc-0.1.0.tm.html shellspy_module_punk::uc {Module API}} {doc/files/punk/_module_lib-0.1.1.tm.html punkshell_module_punk::lib {punk general utility functions}} {doc/files/punk/_module_assertion-0.1.0.tm.html shellspy_module_punk::assertion {assertion alternative to control::assert}} {doc/files/project_intro.html punkshell__project_intro {Introduction to punkshell}} {doc/files/punk/_module_experiment-0.1.0.tm.html shellspy_module_punk::experiment {Module API}} {doc/files/_module_poshinfo-0.1.0.tm.html shellspy_module_poshinfo {Module API}} {doc/files/_module_argparsingtest-0.1.0.tm.html shellspy_module_argparsingtest {Module API}} {doc/files/_module_overtype-1.6.3.tm.html overtype_module_overtype {overtype text layout - ansi aware}} {doc/files/punk/_module_sshrun-0.1.0.tm.html shellspy_module_punk::sshrun {Tcl procedures to execute tcl scripts in remote hosts}} {doc/files/punk/_module_packagepreference-0.1.0.tm.html shellspy_module_punk::packagepreference {Module API}} {doc/files/punk/_module_island-0.1.0.tm.html shellspy_module_punk::island {filesystem islands for safe interps}} {doc/files/punk/_module_aliascore-0.1.0.tm.html shellspy_module_punk::aliascore {Module API}} {doc/files/main.html punkshell {punkshell - Core}} {doc/files/_module_overtype-1.6.4.tm.html overtype_module_overtype {overtype text layout - ansi aware}} {doc/files/punk/_module_console-0.1.1.tm.html punkshell_module_punk::console {punk console}} {doc/files/_module_textblock-0.1.1.tm.html punkshell_module_textblock {punk textblock functions}} {doc/files/_module_overtype-1.6.5.tm.html overtype_module_overtype {overtype text layout - ansi aware}} {doc/files/punk/_module_flib-0.1.0.tm.html punkshell_module_punk::flib {flib experimental}} {doc/files/_module_tomlish-1.1.1.tm.html tomlish_module_tomlish {Module API}} {doc/files/punk/mix/commandset/_module_project-0.1.0.tm.html punkshell_module_punk::mix::commandset::project {dec commandset - project}} {doc/files/punk/_module_basictelnet-0.1.0.tm.html shellspy_module_punk::basictelnet {basic telnet client - DKF/Wiki}} {doc/files/punk/_module_fileline-0.1.0.tm.html punkshell_module_punk::fileline {file line-handling utilities}} {doc/files/punk/_module_zip-0.1.0.tm.html shellspy_module_punk::zip {Module API}}}}
doc {doc/toc {{doc/files/punk/_module_zip-0.1.1.tm.html punkshell_module_punk::zip {Module API}} {doc/files/punk/_module_trie-0.1.0.tm.html punkshell_module_punk::trie {punk::trie API}} {doc/files/punk/_module_cap-0.1.0.tm.html punkshell_module_punk::cap {capability provider and handler plugin system}} {doc/files/punk/_module_ansi-0.1.1.tm.html punkshell_module_punk::ansi {Ansi string functions}} {doc/files/punk/repl/_module_codethread-0.1.0.tm.html shellspy_module_punk::repl::codethread {Module repl codethread}} {doc/files/punk/nav/_module_fs-0.1.0.tm.html shellspy_module_punk::nav::fs {punk::nav::fs console filesystem navigation}} {doc/files/punk/_module_path-0.1.0.tm.html punkshell_module_punk::path {Filesystem path utilities}} {doc/files/punk/_module_args-0.1.0.tm.html punkshell_module_punk::args {args parsing}} {doc/files/project_changes.html punkshell__project_changes {punkshell Changes}} {doc/files/punk/_module_encmime-0.1.0.tm.html punkshell_module_punk::encmime {mime encodings related subset of tcllib mime}} {doc/files/punk/_module_char-0.1.0.tm.html punkshell_module_punk::char {character-set and unicode utilities}} {doc/files/punk/_module_uc-0.1.0.tm.html punkshell_module_punk::uc {Module API}} {doc/files/punk/_module_lib-0.1.1.tm.html punkshell_module_punk::lib {punk general utility functions}} {doc/files/punk/_module_cesu-0.1.0.tm.html punkshell_module_punk::cesu {CESU compatibility ehcoding scheme for utf-16: 8-Bit (CESU-8) ??}} {doc/files/punk/_module_assertion-0.1.0.tm.html punkshell_module_punk::assertion {assertion alternative to control::assert}} {doc/files/project_intro.html punkshell__project_intro {Introduction to punkshell}} {doc/files/_module_modpod-0.1.2.tm.html modpod_module_modpod {Module API}} {doc/files/punk/_module_experiment-0.1.0.tm.html punkshell_module_punk::experiment {Module API}} {doc/files/_module_poshinfo-0.1.0.tm.html punkshell_module_poshinfo {poshinfo prompt theme tool}} {doc/files/_module_argparsingtest-0.1.0.tm.html punkshell_module_argparsingtest {Module API}} {doc/files/punk/_module_sshrun-0.1.0.tm.html punkshell_module_punk::sshrun {Tcl procedures to execute tcl scripts in remote hosts}} {doc/files/punk/_module_packagepreference-0.1.0.tm.html punkshell_module_punk::packagepreference {punkshell package/module loading}} {doc/files/punk/_module_island-0.1.0.tm.html punkshell_module_punk::island {filesystem islands for safe interps}} {doc/files/punk/_module_aliascore-0.1.0.tm.html punkshell_module_punk::aliascore {punkshell command aliases}} {doc/files/main.html punkshell {punkshell - Core}} {doc/files/punk/_module_console-0.1.1.tm.html punkshell_module_punk::console {punk console}} {doc/files/_module_textblock-0.1.1.tm.html punkshell_module_textblock {punk textblock functions}} {doc/files/_module_overtype-1.6.5.tm.html overtype_module_overtype {overtype text layout - ansi aware}} {doc/files/punk/_module_flib-0.1.0.tm.html punkshell_module_punk::flib {flib experimental}} {doc/files/_module_tomlish-1.1.1.tm.html tomlish_module_tomlish {tomlish toml parser}} {doc/files/_module_textblock-0.1.2.tm.html punkshell_module_textblock {punk textblock functions}} {doc/files/punk/mix/commandset/_module_scriptwrap-0.1.0.tm.html punkshell_module_scriptwrap {scriptwrap polyglot tool}} {doc/files/punk/mix/commandset/_module_project-0.1.0.tm.html punkshell_module_punk::mix::commandset::project {dec commandset - project}} {doc/files/punk/_module_rest-0.1.0.tm.html punkshell_module_punk::rest punk::rest} {doc/files/punk/_module_basictelnet-0.1.0.tm.html punkshell::basictelnet {basic telnet client - DKF/Wiki}} {doc/files/_module_fauxlink-0.1.1.tm.html fauxlink_module_fauxlink {faux link application shortcuts}} {doc/files/punk/_module_fileline-0.1.0.tm.html punkshell_module_punk::fileline {file line-handling utilities}} {doc/files/punk/_module_zip-0.1.0.tm.html shellspy_module_punk::zip {Module API}} {doc/files/punk/_module_winlnk-0.1.0.tm.html punkshell_module_punk::winlnk {windows shortcut .lnk library}} {doc/files/punk/_module_blockletter-0.1.0.tm.html punkshell_module_punk::blockletter {punk::blockletter frame-based large lettering test/logo}}}}

2
src/embedded/www/.xrf

File diff suppressed because one or more lines are too long

8
src/embedded/www/doc/files/_module_argparsingtest-0.1.0.tm.html

@ -1,5 +1,5 @@
<!DOCTYPE html><html><head>
<title>shellspy_module_argparsingtest - -</title>
<title>punkshell_module_argparsingtest - -</title>
<style type="text/css"><!--
HTML {
background: #FFFFFF;
@ -95,7 +95,7 @@
-->
<!-- Copyright &amp;copy; 2024
-->
<!-- shellspy_module_argparsingtest.0
<!-- punkshell_module_argparsingtest.0
-->
<body><hr> [
<a href="../../toc.html">Main Table Of Contents</a>
@ -103,9 +103,9 @@
&#124; <a href="../../index.html">Keyword Index</a>
] <hr>
<div class="doctools">
<h1 class="doctools_title">shellspy_module_argparsingtest(0) 0.1.0 doc &quot;-&quot;</h1>
<h1 class="doctools_title">punkshell_module_argparsingtest(0) 0.1.0 doc &quot;-&quot;</h1>
<div id="name" class="doctools_section"><h2><a name="name">Name</a></h2>
<p>shellspy_module_argparsingtest - Module API</p>
<p>punkshell_module_argparsingtest - Module API</p>
</div>
<div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2>
<ul class="doctools_toc">

220
src/embedded/www/doc/files/_module_fauxlink-0.1.1.tm.html

@ -0,0 +1,220 @@
<!DOCTYPE html><html><head>
<title>fauxlink_module_fauxlink - fauxlink .fxlnk</title>
<style type="text/css"><!--
HTML {
background: #FFFFFF;
color: black;
}
BODY {
background: #FFFFFF;
color: black;
}
DIV.doctools {
margin-left: 10%;
margin-right: 10%;
}
DIV.doctools H1,DIV.doctools H2 {
margin-left: -5%;
}
H1, H2, H3, H4 {
margin-top: 1em;
font-family: sans-serif;
font-size: large;
color: #005A9C;
background: transparent;
text-align: left;
}
H1.doctools_title {
text-align: center;
}
UL,OL {
margin-right: 0em;
margin-top: 3pt;
margin-bottom: 3pt;
}
UL LI {
list-style: disc;
}
OL LI {
list-style: decimal;
}
DT {
padding-top: 1ex;
}
UL.doctools_toc,UL.doctools_toc UL, UL.doctools_toc UL UL {
font: normal 12pt/14pt sans-serif;
list-style: none;
}
LI.doctools_section, LI.doctools_subsection {
list-style: none;
margin-left: 0em;
text-indent: 0em;
padding: 0em;
}
PRE {
display: block;
font-family: monospace;
white-space: pre;
margin: 0%;
padding-top: 0.5ex;
padding-bottom: 0.5ex;
padding-left: 1ex;
padding-right: 1ex;
width: 100%;
}
PRE.doctools_example {
color: black;
background: #f5dcb3;
border: 1px solid black;
}
UL.doctools_requirements LI, UL.doctools_syntax LI {
list-style: none;
margin-left: 0em;
text-indent: 0em;
padding: 0em;
}
DIV.doctools_synopsis {
color: black;
background: #80ffff;
border: 1px solid black;
font-family: serif;
margin-top: 1em;
margin-bottom: 1em;
}
UL.doctools_syntax {
margin-top: 1em;
border-top: 1px solid black;
}
UL.doctools_requirements {
margin-bottom: 1em;
border-bottom: 1px solid black;
}
--></style>
</head>
<!-- Generated from file '_module_fauxlink-0.1.1.tm.man' by tcllib/doctools with format 'html'
-->
<!-- Copyright &amp;copy; 2024
-->
<!-- fauxlink_module_fauxlink.0
-->
<body><hr> [
<a href="../../toc.html">Main Table Of Contents</a>
&#124; <a href="../toc.html">Table Of Contents</a>
&#124; <a href="../../index.html">Keyword Index</a>
] <hr>
<div class="doctools">
<h1 class="doctools_title">fauxlink_module_fauxlink(0) 0.1.1 doc &quot;fauxlink .fxlnk&quot;</h1>
<div id="name" class="doctools_section"><h2><a name="name">Name</a></h2>
<p>fauxlink_module_fauxlink - faux link application shortcuts</p>
</div>
<div id="toc" class="doctools_section"><h2><a name="toc">Table Of Contents</a></h2>
<ul class="doctools_toc">
<li class="doctools_section"><a href="#toc">Table Of Contents</a></li>
<li class="doctools_section"><a href="#synopsis">Synopsis</a></li>
<li class="doctools_section"><a href="#section1">Description</a></li>
<li class="doctools_section"><a href="#section2">Overview</a>
<ul>
<li class="doctools_subsection"><a href="#subsection1">Concepts</a></li>
<li class="doctools_subsection"><a href="#subsection2">dependencies</a></li>
</ul>
</li>
<li class="doctools_section"><a href="#section3">API</a>
<ul>
<li class="doctools_subsection"><a href="#subsection3">Namespace fauxlink::class</a></li>
<li class="doctools_subsection"><a href="#subsection4">Namespace fauxlink</a></li>
<li class="doctools_subsection"><a href="#subsection5">Namespace fauxlink::lib</a></li>
</ul>
</li>
<li class="doctools_section"><a href="#section4">Internal</a>
<ul>
<li class="doctools_subsection"><a href="#subsection6">Namespace fauxlink::system</a></li>
</ul>
</li>
<li class="doctools_section"><a href="#keywords">Keywords</a></li>
<li class="doctools_section"><a href="#copyright">Copyright</a></li>
</ul>
</div>
<div id="synopsis" class="doctools_section"><h2><a name="synopsis">Synopsis</a></h2>
<div class="doctools_synopsis">
<ul class="doctools_requirements">
<li>package require <b class="pkgname">fauxlink</b></li>
</ul>
</div>
</div>
<div id="section1" class="doctools_section"><h2><a name="section1">Description</a></h2>
<p>A cross platform shortcut/symlink alternative.</p>
<p>Unapologetically ugly - but practical in certain circumstances.</p>
<p>A solution is required for application-driven filesystem links that survives cross platform moves as well as</p>
<p>archiving and packaging systems.</p>
<p>The target is specified in a minimally-encoded form in the filename itself - but still human readable.</p>
<p>format of name &lt;nominalname&gt;#&lt;encodedtarget&gt;.fxlnk</p>
<p>where &lt;nominalname&gt; can be empty - then the effective nominal name is the tail of the &lt;encodedtarget&gt;</p>
<p>The + symbol substitutes for forward-slashes.</p>
<p>Other chars can be encoded using url-like encoding - (but only up to %7E !)</p>
<p>We deliberately treat higher % sequences literally.</p>
<p>This means actual uri::urn encoded unicode sequences (e.g %E2%99%A5 [heart]) can remain literal for linking to urls.</p>
<p>e.g if an actual + or # is required in a filename or path segment they can be encoded as %2B &amp; %23</p>
<p>e.g a link to a file file#A.txt in parent dir could be:</p>
<p>file%23A.txt#..+file%23A.txt.fxlnk</p>
<p>or equivalently (but obviously affecting sorting) #..+file%23A.txt.fxlnk</p>
<p>The &lt;nominalname&gt; can be unrelated to the actual target</p>
<p>e.g datafile.dat#..+file%23A.txt.fxlnk</p>
<p>This system has no filesystem support - and must be completely application driven.</p>
<p>This can be useful for example in application test packages which may be tarred or zipped and moved cross platform.</p>
<p>The target being fully specified in the name means the file doesn't have to be read for the target to be determined</p>
<p>Extensions to behaviour should be added in the file as text data in Toml format,</p>
<p>with custom data being under a single application-chosen table name</p>
<p>The toplevel Toml table [fauxlink] is reserved for core extensions to this system.</p>
<p>Aside from the 2 used for delimiting (+ #)</p>
<p>certain characters which might normally be allowed in filesystems are required to be encoded</p>
<p>e.g space and tab are required to be %20 %09</p>
<p>Others that require encoding are: * ? \ / | : ; &quot; &lt; &gt;</p>
<p>The nul character in raw form, when detected, is always mapped away to the empty string - as very few filesystems support it.</p>
<p>Control characters and other punctuation is optional to encode.</p>
<p>Generally utf-8 should be used where possible and unicode characters can often be left unencoded on modern systems.</p>
<p>Where encoding of unicode is desired in the nominalname,encodedtarget,tag or comment portions it can be specified as %UXXXXXXXX</p>
<p>There must be between 1 and 8 X digits following the %U. Interpretation of chars following %U stops at the first non-hex character.</p>
<p>This means %Utest would not get any translation as there were no hex digits so it would come out as %Utest
++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++</p>
</div>
<div id="section2" class="doctools_section"><h2><a name="section2">Overview</a></h2>
<p>overview of fauxlink</p>
<div id="subsection1" class="doctools_subsection"><h3><a name="subsection1">Concepts</a></h3>
<p>-</p>
</div>
<div id="subsection2" class="doctools_subsection"><h3><a name="subsection2">dependencies</a></h3>
<p>packages used by fauxlink</p>
<ul class="doctools_itemized">
<li><p><b class="package">Tcl 8.6-</b></p></li>
</ul>
</div>
</div>
<div id="section3" class="doctools_section"><h2><a name="section3">API</a></h2>
<div id="subsection3" class="doctools_subsection"><h3><a name="subsection3">Namespace fauxlink::class</a></h3>
<p>class definitions</p>
<ol class="doctools_enumerated">
</ol>
</div>
<div id="subsection4" class="doctools_subsection"><h3><a name="subsection4">Namespace fauxlink</a></h3>
<p>Core API functions for fauxlink</p>
<dl class="doctools_definitions">
</dl>
</div>
<div id="subsection5" class="doctools_subsection"><h3><a name="subsection5">Namespace fauxlink::lib</a></h3>
<p>Secondary functions that are part of the API</p>
<dl class="doctools_definitions">
</dl>
</div>
</div>
<div id="section4" class="doctools_section"><h2><a name="section4">Internal</a></h2>
<div id="subsection6" class="doctools_subsection"><h3><a name="subsection6">Namespace fauxlink::system</a></h3>
<p>Internal functions that are not part of the API</p>
</div>
</div>
<div id="keywords" class="doctools_section"><h2><a name="keywords">Keywords</a></h2>
<p><a href="../../index.html#fake">fake</a>, <a href="../../index.html#faux">faux</a>, <a href="../../index.html#shortcut">shortcut</a>, <a href="../../index.html#symlink">symlink</a>, <a href="../../index.html#toml">toml</a></p>
</div>
<div id="copyright" class="doctools_section"><h2><a name="copyright">Copyright</a></h2>
<p>Copyright &copy; 2024</p>
</div>
</div></body></html>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save