%%HP: T(3)A(R)F(.);
@ FILE: FSFORMAT (FILE SIZE)
@ DESIGNED FOR FORMATING THE OUTPUT OF FS
@
@
\<<
        10 CHR    {}     0      ""     {}
\->
DIRLIST DIRSTRING CURDIR CURLVL CURTAB FILELIST
  \<<
  IF DIRLIST SIZE 0 > THEN
    1 DIRLIST SIZE @ LOOP OVER ALL DIRS
    FOR idir
      DIRLIST idir GET
      1 GET
      2 GET 'CURDIR' STO
        @ INDENATION
        "" 'CURTAB' STO
        IF CURDIR SIZE 0 > THEN
          1 CURDIR SIZE
          START 'CURTAB' " " STO+ NEXT
        END

        @ DIRECTORY TITLE:
        'DIRSTRING'
        CURDIR \->STR 10 CHR +
        STO+

        @ FILES
        DIRLIST idir GET TAIL 'FILELIST' STO
        IF FILELIST SIZE 0 > THEN
          1 FILELIST SIZE
          FOR ifile
            'DIRSTRING'
              CURTAB
                FILELIST ifile GET \->STR
                DUP SIZE 1 - 2 SWAP SUB @ delete {} if listed as file
              +
              10 CHR +
            STO+
          NEXT
        END
    NEXT
  END
  DIRSTRING
  \>>
\>>
