Revision history for Eshu

0.13	2026-08-16
	- The Windows directory shim renaming EshuDIR / eshu_opendir / eshu_readdir /
	  eshu_closedir, self-contained on FindFirstFile (kernel32), and
	  the walker uses those spellings on every platform (mapped to the
	  real dirent on POSIX). 

0.12	2026-08-16
	- Windows builds work again.

0.11	2026-08-15
	- The HTML/XML indenter now keeps an open-element stack instead of a
	  bare depth counter. Two bugs fixed (found through Template::Stencil's
	  pretty goldens and Punk::DevError):
	  - a same-line <script ...></script> entered verbatim mode without
	    seeing its own closer and silently swallowed the rest of the
	    document; an inline verbatim pair is now scanned past, leaving the
	    rest of the line live.
	  - an unmatched closer (</tag> with no open) decremented depth
	    unconditionally, dragging every later closer one level left; it
	    now adjusts nothing. A closer for an element further down pops
	    through the unclosed tags in between, so </ul> after bare <li>s
	    and </root> after a non-void <br> land back on their own column.
	- Fixed the Strawberry (MinGW) build: MinGW's <dirent.h> hides struct
	  dirent and opendir/readdir/closedir behind __STRICT_ANSI__ under
	  -std=c99, and the _XOPEN_SOURCE define was both the wrong macro and
	  too late to help - every Windows toolchain now uses the
	  FindFirstFile compat header dirent_win.h (CPAN Testers, MSWin32
	  perl 5.42).

0.10	2026-07-21
	- Switch to ExtUtils::Depends

0.09    2026-07-15
        - include/dirent_win.h: add missing MSVC compat header providing
          opendir/readdir/closedir via FindFirstFile/FindNextFile/FindClose.

0.08    2026-07-12
        - Add include_dir() class method so sibling modules can resolve the
          Eshu include directory without copying headers.
        - eshu_hl.h: syntax-highlighting pass for C, Perl, JS, CSS, XML/HTML,
          and POD — returns malloc'd HTML with <span class="esh-*"> tokens.
        - Add highlight_string() XS binding exposing eshu_hl.h to Perl.
	- Add support for TypeScript, Python, Go, Rust, Java, PHP, Ruby, Lua, Bash, SQL, YAML, JSON.

0.07    2026-07-09
        - eshu_file.h: undef Perl's fopen/fclose/fread/fwrite/fprintf macros
          before plain-C static functions; on Windows+MULTIPLICITY Perl
          redirects these to PerlSIO_fopen which requires my_perl in scope.
        - eshu_file.h: define _XOPEN_SOURCE 700 before <dirent.h> on MinGW
          so opendir/readdir/closedir are visible under -std=c99.
	- remove pax headers
	- Increase test coverage

0.06    2026-04-05
        - Fix PROTOTYPES: ENABLE/DISABLE and VERSIONCHECK: DISABLE being
          incorrectly indented at 1 tab instead of column 0..
        - Extend test coverage across all language modules: 
        - Add new test files: t/05-c-structs.t (structs, unions, enums),
          t/19-pl-misc.t (unless, until, do-while, local, chained methods),
          t/26-xs-advanced.t, t/58-xml-html5.t, t/68-css-advanced.t,
          t/99-js-modern.t.

0.05    2026-03-30
        - Fix $# (last array index) operator being misinterpreted as a
          comment, causing incorrect depth tracking for the rest of the line.
          Affects $#array, $#$arrayref, and $#{$arrayref} forms.
        - Suppress paren depth for callback patterns: method(sub { ... })
          and method([ ... ]) now indent the body +1 from the call site
          instead of +2. The ( is suppressed when { or [ also opens on
          the same line.

0.01    Date/time
        First version, released on an unsuspecting world.

