From ebd3282ce8bab6b13ae9cb5347094e2cda2cbd4c Mon Sep 17 00:00:00 2001 From: Luiz Rafael Culik Date: Sun, 2 Apr 2000 21:41:43 +0000 Subject: [PATCH] See changelog 20000402 19:00 --- harbour/ChangeLog | 3 + harbour/utils/hbdoc/genhtm.prg | 182 ++++++++++++++++++++++----------- 2 files changed, 127 insertions(+), 58 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 0d8e48a21c..9a141ff791 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,6 @@ +20000402-19:00 GMT-3 Luiz Rafael Culik + *utils/hbdoc/genhtm.prg + *Fixed a small bug 20000402-22:32 GMT+1 Victor Szakats * utils/hbtest/rt_hvm.prg diff --git a/harbour/utils/hbdoc/genhtm.prg b/harbour/utils/hbdoc/genhtm.prg index c58f2b6bbe..5e48039dc7 100644 --- a/harbour/utils/hbdoc/genhtm.prg +++ b/harbour/utils/hbdoc/genhtm.prg @@ -159,7 +159,7 @@ FUNCTION ProcessWww() // Open file for input - nCommentLen := IIF( AT( ".ASM", UPPER( aDirList[ i, F_NAME ] ) ) > 0, 2, 3 ) + nCommentLen := IIF( AT( ".ASM", UPPER( aDirList[ i, F_NAME ] ) ) > 0, 2, 4 ) nReadHandle := FT_FUSE( aDirList[ i, F_NAME ] ) @ INFILELINE, 33 CLEAR TO INFILELINE, MAXCOL() @ INFILELINE, 33 SAY PAD( aDirList[ i, F_NAME ], 47 ) @@ -184,6 +184,7 @@ FUNCTION ProcessWww() // Read a line cBuffer := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) ) + cBuffer := STRTRAN( cBuffer,chr(10),'') nLineCnt ++ IF nLineCnt % 10 = 0 @ LINELINE, 33 SAY STR( nLineCnt, 5, 0 ) @@ -366,7 +367,7 @@ FUNCTION ProcessWww() ohtm:Writetext('
') ohtm:WriteText('
') ohtm:WriteText('
') - ? cBuffer + oHtm:WriteText("") // 2) Category @@ -389,7 +390,7 @@ FUNCTION ProcessWww() nMode := D_ONELINE // Now start writing out what we know - ? cBuffer + if lData oHtm:WriteText("

DATA "+ alltrim(PAD( cFuncName, 21 )) + "

") oHtm:WriteText("

"+cOneline+"

"+ hb_osnewline()) @@ -405,7 +406,7 @@ FUNCTION ProcessWww() // 4) all other stuff ELSE - ? cBuffer + IF AT( cSyn, cBuffer ) > 0 oHtm:WriteParBold( " Syntax" ,.f.,.f.) ohtm:WriteText('

') @@ -451,7 +452,7 @@ FUNCTION ProcessWww() nMode := D_DESCRIPTION lAddBlank := .T. lEndDesc:=.t. - ? cbuffer + ELSEIF AT( cExam, cBuffer ) > 0 IF !lBlankLine @@ -463,7 +464,7 @@ FUNCTION ProcessWww() lAddBlank := .T. lAddEndPreTag:=.T. - ? cbuffer + ELSEIF AT( cTest, cBuffer ) > 0 IF !lBlankLine @@ -487,7 +488,7 @@ FUNCTION ProcessWww() oHtm:WriteText("

") nMode := D_COMPLIANCE lAddBlank := .T. - ? cbuffer + ELSEIF AT( cPlat, cBuffer ) > 0 IF !lBlankLine @@ -775,9 +776,11 @@ RETURN nil function FormatHtmBuff(cBuffer,cStyle,oHtm) Local creturn:='' -local cline:='',coline:='' +local cline:='' +LOCAL cOldLine:='' local cBuffend:='' -local lendbuff:=.f. +local lEndBuffer:=.f. +LOCAL lArgBold:= .f. local npos,nposend creturn :=cBuffer+' ' if at('',creturn)>0 .or. empty(cBuffer) @@ -787,42 +790,87 @@ local npos,nposend return creturn endif if cStyle != "Syntax" .AND. cStyle !="Arguments" - do while !lendBuff - cLine := TRIM(SUBSTR( ReadLN( @lEof ), nCommentLen ) ) - if at('',cLine)>0 .or. empty(cline) - lendBuff:=.t. - endif - cReturn+=alltrim(cLine)+ ' ' - enddo - cReturn:=''+creturn+' ' + DO WHILE !lEndBuffer + cLine := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) ) + IF AT( '', cLine ) > 0 + lEndBuffer := .t. + ENDIF + + IF EMPTY( cLine ) + lEndBuffer := .t. +// TheBlank := .t. + FT_FSKIP( - 1 ) + ENDIF + IF AT( DELIM, cLine ) > 0 + + FT_FSKIP( - 1 ) + lEndBuffer := .t. + ENDIF + IF AT( DELIM, cLine ) = 0 + cReturn += ' ' + ALLTRIM( cLine ) + ' ' + ENDIF + ENDDO + cReturn := STRTRAN( cReturn, "", "" ) + cReturn := STRTRAN( cReturn, "", "" ) + + cReturn := '' + cReturn + ' ' + elseif cStyle=='Syntax' + cReturn := STRTRAN( cReturn, "","") cReturn := STRTRAN( cReturn, "<", "<" ) cReturn := STRTRAN( cReturn, ">", ">" ) - + creturn:=''+creturn+' ' ELSEIF cStyle=='Arguments' - nPos:=0 - if at("",cReturn)>0 - cReturn:=STRTRAN(cReturn,"","") - cReturn:=STRTRAN(cReturn,"","") - cReturn:=alltrim(cReturn) - nPos:=AT(" ",cReturn) - cOLine:=left(cReturn,nPos-1) - cReturn:=STRTRAN(cReturn,coLine,"") - cReturn := STRTRAN( cReturn, "<", "<" ) - cReturn := STRTRAN( cReturn, ">", ">" ) - cReturn:=STRTRAN(cReturn,">","> ") - cReturn:=STRTRAN(cReturn," <"," <") - endif - DO WHILE !lEndBuff - cLine := TRIM(SUBSTR( ReadLN( @lEof ), nCommentLen ) ) - IF AT('',cLine)>0 .OR. EMPTY(cLine) - lEndBuff:=.t. + nPos := 0 + IF AT( "", cReturn ) > 0 + cReturn := STRTRAN( cReturn, "", "" ) + cReturn := STRTRAN( cReturn, "", "" ) + cReturn := ALLTRIM( cReturn ) + nPos := AT( " ", cReturn ) + cOldLine := LEFT( cReturn, nPos - 1 ) + cReturn := STRTRAN( cReturn, cOldLine, "" ) + IF AT( "@", cOldLine ) > 0 .OR. AT( "()", cOldLine ) > 0 .OR. AT( "<", cOldLine ) > 0 .OR. AT( "_", cOldLine ) > 0 + lArgBold := .T. + ENDIF ENDIF - cReturn+=alltrim(cLine)+ ' ' - enddo - cReturn:=' '+cOLine+' '+cReturn+'' + DO WHILE !lEndBuffer + + cLine := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) ) + IF AT( "", cLine ) > 0 + lEndBuffer := .t. + ENDIF + IF EMPTY( cLine ) + lEndBuffer := .t. +// TheBlank := .t. + FT_FSKIP( - 1 ) + + ENDIF + IF AT( DELIM, cLine ) > 0 + FT_FSKIP( - 1 ) + lEndBuffer := .t. + ENDIF + IF AT( DELIM, cLine ) = 0 + cReturn += ' ' + ALLTRIM( cLine ) + ' ' + ENDIF + ENDDO + cReturn := STRTRAN( cReturn, "", "" ) + cReturn := STRTRAN( cReturn, "", "" ) + + cReturn:=STRTRAN(cReturn,"<","<") + cReturn:=STRTRAN(cReturn,">",">") + cOldLine:=STRTRAN(cOldLine,"<","<") + cOldLine:=STRTRAN(cOldLine,">",">") + + IF lArgBold + cReturn := ' ' + cOldLine + ' ' + cReturn + ' ' + ELSE + cReturn := ' ' + cOldLine + ' ' + cReturn + ' ' + ENDIF +// ENDIF + lArgBold:=.F. + ENDIF // endif @@ -850,13 +898,15 @@ enddo return cbuffer FUNCTION ProchtmDesc(cBuffer,oHtm,cStyle) -local cLine:='' +local cOldLine:='' Local npos,CurPos:=0 -LOCAL nColorPos,ccolor:='',creturn:='',ncolorend,nIdentLevel,cOline +LOCAL nColorPos,ccolor:='',creturn:='',ncolorend,nIdentLevel LOCAL lEndPar:= .F. LOCAL lEndFixed:=.F. +LOCAL lArgBold:=.f. LOCAL lEndTable:=.F. +LOCAL lEndBuffer :=.f. Default cStyle to "Default" if at('',cBuffer)==0 .and. !empty(cBuffer) .and. cstyle<>"Example" @@ -879,13 +929,17 @@ if cStyle<>"Example" .and. at("",cBuffer)==0 .and. AT("",cBuffer)= cReturn:=alltrim(cReturn) nPos:=AT(" ",cReturn) - cOLine:=left(cReturn,nPos-1) - cReturn:=STRTRAN(cReturn,coLine,"") - cReturn:=STRTRAN(cReturn,">","> ") - cReturn:=STRTRAN(cReturn," <"," <") + cOldLine:=left(cReturn,nPos-1) + cReturn:=STRTRAN(cReturn,cOldLine,"") + IF AT( "@", cOldLine ) > 0 .OR. AT( "()", cOldLine ) > 0 .OR. AT( "<", cOldLine ) > 0 .OR. AT( "_", cOldLine ) > 0 + lArgBold := .T. + ENDIF + if lArgBold + cReturn:=' '+cOldLine+' '+cReturn+' ' + else + cReturn:=' '+cOldLine+' '+cReturn+' ' + endif - // cBuffer:= strtran(cBuffer,"","") - creturn:=' '+cOLine+' '+creturn+' ' cbuffer:=cReturn endif else @@ -950,18 +1004,31 @@ Elseif cStyle=="Default" endif endif If AT('',cBuffer)>0 .or. cStyle="Example" - if at('',cBuffer)=0 - oHtm:WritePar(cBuffer) - endif - do while !lendFixed - cBuffer := TRIM(SUBSTR( ReadLN( @lEof ), nCommentLen ) ) - if at("",cBuffer)>0 - lendfixed:=.t. - else + IF AT( '', cBuffer ) = 0 .OR. !EMPTY( cBuffer ) + cBuffer := STRTRAN( cBuffer, "", "" ) + cBuffer := STRTRAN( cBuffer, "", "" ) + + oHtm:WritePar( cBuffer ) + ENDIF + DO WHILE !lendFixed + cOldLine := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) ) + IF AT( "", cOldLine ) > 0 + lendfixed := .t. + cOldLine := STRTRAN( cOldLine, "", "" ) + ENDIF + IF AT( DELIM, cOldLine ) = 0 + cReturn += ALLTRIM( cOldLine ) + ' ' + ENDIF + IF AT( DELIM, cOldLine ) > 0 + FT_FSKIP( - 1 ) + lEndfixed := .t. + + ENDIF + IF AT( DELIM, cOldLine ) == 0 + oHtm:WritePar( cOldLine ) + ENDIF + ENDDO - oHtm:WritePar(cBuffer) - endif - enddo end if AT('
',cBuffer)>0 do while !lendTable @@ -1018,7 +1085,6 @@ FOR x:=1 to len(asitable) oHtm:WriteText(' ') Next - oHtm:Writetext("
'+afitable[x]+'
' +asitable[x]+'
") oHtm:WriteText("
")