diff --git a/ChangeLog.txt b/ChangeLog.txt index 58243b7d75..3e18faeaa8 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,18 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2013-03-15 13:57 UTC+0100 Viktor Szakats (harbour syenar.net) + * utils/hbmk2/hbmk2.hbp + * utils/hbmk2/hbmk2.prg + * utils/hbmk2/hbmk2.rc + * utils/hbmk2/Makefile + * utils/hbmk2/pkg_dynl.hbm + * utils/hbmk2/pkg_inst.hbm + * deleted svn headers + + added new hbmk2/hbrun option -viewhelp, which will + redirect the long help to a file and open it in the + default text viewer application + 2013-03-15 12:41 UTC+0100 Viktor Szakats (harbour syenar.net) * README.txt * cleanups to link descriptions diff --git a/utils/hbmk2/Makefile b/utils/hbmk2/Makefile index 181d08823c..aea5ea4b08 100644 --- a/utils/hbmk2/Makefile +++ b/utils/hbmk2/Makefile @@ -1,7 +1,3 @@ -# -# $Id$ -# - ROOT := ../../ include $(TOP)$(ROOT)config/global.mk diff --git a/utils/hbmk2/hbmk2.hbp b/utils/hbmk2/hbmk2.hbp index ed6fb4d2e3..2fc5ba908b 100644 --- a/utils/hbmk2/hbmk2.hbp +++ b/utils/hbmk2/hbmk2.hbp @@ -1,7 +1,3 @@ -# -# $Id$ -# - -q0 -w3 -es2 -kmo -l -u {HB_HAS_GPM}-prgflag=-DHB_HAS_GPM diff --git a/utils/hbmk2/hbmk2.prg b/utils/hbmk2/hbmk2.prg index 9090f3acef..de6e9affab 100644 --- a/utils/hbmk2/hbmk2.prg +++ b/utils/hbmk2/hbmk2.prg @@ -1,7 +1,3 @@ -/* - * $Id$ - */ - /* * Harbour Project source code: * Harbour Make (alias hbmk/hbmk2) @@ -530,8 +526,9 @@ EXTERNAL hbmk_KEYW #define _HBMK_lDumpInfo 155 #define _HBMK_lMarkdown 156 #define _HBMK_lShellMode 157 +#define _HBMK_bOut 158 -#define _HBMK_MAX_ 157 +#define _HBMK_MAX_ 158 #define _HBMK_DEP_CTRL_MARKER ".control." /* must be an invalid path */ @@ -1019,6 +1016,7 @@ STATIC FUNCTION hbmk_new( lShellMode ) hbmk[ _HBMK_lDumpInfo ] := .F. hbmk[ _HBMK_lMarkdown ] := .F. + hbmk[ _HBMK_bOut ] := {| cText | OutStd( cText ) } RETURN hbmk @@ -1565,6 +1563,22 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit ShowHelp( hbmk, .T., .T. ) RETURN _EXIT_HELP + CASE cParamL == "-viewhelp" .OR. cParamL == "--viewhelp" .OR. ; + cParamL == "-hhh" .OR. cParamL == "-???" + + tmp := hb_FTempCreateEx( @tmp1, , , ".txt" ) + hbmk[ _HBMK_bOut ] := {| cText | FWrite( tmp, StrTran( cText, e"\n", hb_eol() ) ) } + + ShowHeader( hbmk ) + ShowHelp( hbmk, .T., .T. ) + + FClose( tmp ) + hb_run( LaunchCommand( tmp1 ) ) + hb_idleSleep( 1 ) + FErase( tmp1 ) + + RETURN _EXIT_HELP + CASE cParamL == "-longhelpmd" .OR. cParamL == "--longhelpmd" hbmk[ _HBMK_lMarkdown ] := .T. @@ -7495,26 +7509,13 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit IF Empty( hb_FNameDir( hbmk[ _HBMK_cPROGNAME ] ) ) cCommand := "." + hb_ps() + hbmk[ _HBMK_cPROGNAME ] ENDIF - #if defined( __PLATFORM__WINDOWS ) - IF hbmk[ _HBMK_lGUI ] - IF hb_osIsWinNT() - cCommand := 'start "" ' + FNameEscape( cCommand, _ESC_DBLQUOTE ) - ELSE - cCommand := "start " + cCommand - ENDIF - ENDIF - #elif defined( __PLATFORM__OS2 ) - IF hbmk[ _HBMK_lGUI ] - cCommand := 'start "" ' + FNameEscape( cCommand, _ESC_DBLQUOTE ) - ENDIF - #elif defined( __PLATFORM__DARWIN ) + #if defined( __PLATFORM__DARWIN ) IF hbmk[ _HBMK_lGUI ] /* TOFIX: Find a way to pass arbitrary options to an .app. */ l_aOPTRUN := {} - cCommand := "open " + FNameEscape( cCommand + ".app", _ESC_NIX ) ENDIF #endif - cCommand := AllTrim( cCommand + " " + ArrayToList( l_aOPTRUN ) ) + cCommand := AllTrim( LaunchCommand( cCommand ) + " " + ArrayToList( l_aOPTRUN ) ) IF hbmk[ _HBMK_lTRACE ] IF ! hbmk[ _HBMK_lQuiet ] _hbmk_OutStd( hbmk, I_( "Running executable:" ) ) @@ -7528,6 +7529,22 @@ STATIC FUNCTION __hbmk( aArgs, nArgTarget, nLevel, /* @ */ lPause, /* @ */ lExit RETURN hbmk[ _HBMK_nExitCode ] +STATIC FUNCTION LaunchCommand( cCommand ) + +#if defined( __PLATFORM__WINDOWS ) + IF hb_osIsWinNT() + cCommand := 'start "" ' + FNameEscape( cCommand, _ESC_DBLQUOTE ) + ELSE + cCommand := "start " + cCommand + ENDIF +#elif defined( __PLATFORM__OS2 ) + cCommand := 'start "" ' + FNameEscape( cCommand, _ESC_DBLQUOTE ) +#elif defined( __PLATFORM__DARWIN ) + cCommand := "open " + FNameEscape( cCommand + ".app", _ESC_NIX ) +#endif + + RETURN cCommand + STATIC PROCEDURE ProcEnvOption( cValue ) LOCAL tmp @@ -13682,7 +13699,7 @@ STATIC PROCEDURE __hbshell( cFile, ... ) LOCAL hbmk LOCAL cHBC LOCAL cExt - LOCAL tmp + LOCAL tmp, tmp1 LOCAL aOPTPRG LOCAL hHRB LOCAL cVersion @@ -13735,6 +13752,22 @@ STATIC PROCEDURE __hbshell( cFile, ... ) ShowHelp( hbmk, .T., .T. ) RETURN + CASE cParamL == "-viewhelp" .OR. cParamL == "--viewhelp" .OR. ; + cParamL == "-hhh" .OR. cParamL == "-???" + + tmp := hb_FTempCreateEx( @tmp1, , , ".txt" ) + hbmk[ _HBMK_bOut ] := {| cText | FWrite( tmp, StrTran( cText, e"\n", hb_eol() ) ) } + + ShowHeader( hbmk ) + ShowHelp( hbmk, .T., .T. ) + + FClose( tmp ) + hb_run( LaunchCommand( tmp1 ) ) + hb_idleSleep( 1 ) + FErase( tmp1 ) + + RETURN + CASE cParamL == "-longhelpmd" .OR. cParamL == "--longhelpmd" hbmk[ _HBMK_lMarkdown ] := .T. @@ -15521,7 +15554,7 @@ STATIC PROCEDURE ShowHeader( hbmk ) ELSE cText := StrTran( cText, e"\n", _OUT_EOL ) ENDIF - OutStd( cText ) + Eval( hbmk[ _HBMK_bOut ], cText ) cText := "http://harbour-project.org/" IF hbmk[ _HBMK_lMarkdown ] @@ -15529,7 +15562,7 @@ STATIC PROCEDURE ShowHeader( hbmk ) ELSE cText += _OUT_EOL ENDIF - OutStd( cText ) + Eval( hbmk[ _HBMK_bOut ], cText ) IF !( hbmk[ _HBMK_cUILNG ] == "en" ) .AND. ; !( hbmk[ _HBMK_cUILNG ] == "en-GB" ) .AND. ; @@ -15543,11 +15576,11 @@ STATIC PROCEDURE ShowHeader( hbmk ) ELSE cText := StrTran( cText, e"\n", _OUT_EOL ) ENDIF - OutStd( cText ) + Eval( hbmk[ _HBMK_bOut ], cText ) ENDIF ENDIF - OutStd( _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], _OUT_EOL ) RETURN @@ -15780,6 +15813,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lMore, lLong ) { "-lang=" , I_( "override default language. is an ISO language code." ) }, ; { "-width=" , I_( "set output width to characters (0=unlimited)." ) }, ; { "-shl" , I_( "show sub-project level in output lines" ) }, ; + { "-viewhelp" , I_( "long help in text viewer" ) }, ; { "-longhelp" , I_( "long help" ) }, ; { "-longhelpmd" , I_( "long help in Markdown format" ) }, ; { "-harbourhelp" , hb_StrFormat( I_( "Harbour compiler help (all Harbour compiler options are accepted as is by %1$s)" ), _SELF_NAME_ ) }, ; @@ -15790,6 +15824,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lMore, lLong ) LOCAL aLst_Opt_LongCmd_Shell := { ; NIL, ; { "-help" , I_( "this help" ) }, ; + { "-viewhelp" , I_( "long help in text viewer" ) }, ; { "-longhelp" , I_( "long help" ) }, ; { "-longhelpmd" , I_( "long help in Markdown format" ) } } @@ -16490,7 +16525,7 @@ STATIC PROCEDURE ShowHelp( hbmk, lMore, lLong ) STATIC PROCEDURE OutHdr( hbmk, cText ) - OutStd( iif( hbmk[ _HBMK_lMarkdown ], ToMarkdown( cText ), cText ) ) + Eval( hbmk[ _HBMK_bOut ], iif( hbmk[ _HBMK_lMarkdown ], ToMarkdown( cText ), cText ) ) RETURN @@ -16504,20 +16539,20 @@ STATIC PROCEDURE OutOpt( hbmk, aOpt, nWidth ) IF Empty( aOpt ) IF hbmk[ _HBMK_lMarkdown ] - OutStd( _OUT_EOL ) - OutStd( _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], _OUT_EOL ) ELSE IF nWidth >= 0 - OutStd( _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], _OUT_EOL ) ENDIF ENDIF ELSE IF Len( aOpt ) > 1 IF hbmk[ _HBMK_lMarkdown ] IF nWidth == 0 - OutStd( ToMarkdown( aOpt[ 2 ] ) + _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], ToMarkdown( aOpt[ 2 ] ) + _OUT_EOL ) ELSE - OutStd( ; + Eval( hbmk[ _HBMK_bOut ], ; " - " + ; ToMarkdown( aOpt[ 1 ], iif( Empty( aOpt[ 2 ] ), NIL, "strong" ) ) + ; iif( nWidth < 0, ToMarkdown( e"\n" ), " " ) + ; @@ -16529,27 +16564,27 @@ STATIC PROCEDURE OutOpt( hbmk, aOpt, nWidth ) nLines := Max( MLCount( aOpt[ 2 ], hbmk[ _HBMK_nMaxCol ] - nWidth ), ; MLCount( aOpt[ 1 ], nWidth ) ) FOR nLine := 1 TO nLines - OutStd( PadR( Space( 2 ) + MemoLine( aOpt[ 1 ], nWidth, nLine ), nWidth ) ) - OutStd( RTrim( MemoLine( aOpt[ 2 ], hbmk[ _HBMK_nMaxCol ] - nWidth, nLine ) ) + _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], PadR( Space( 2 ) + MemoLine( aOpt[ 1 ], nWidth, nLine ), nWidth ) ) + Eval( hbmk[ _HBMK_bOut ], RTrim( MemoLine( aOpt[ 2 ], hbmk[ _HBMK_nMaxCol ] - nWidth, nLine ) ) + _OUT_EOL ) NEXT ELSE IF nWidth < 0 - OutStd( _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], _OUT_EOL ) ENDIF FOR EACH nWidth, cOpt IN { 2, iif( nWidth > 0, nWidth, 8 ) }, aOpt cOpt := StrTran( cOpt, e"\n", hb_eol() ) nLines := MLCount( cOpt, hbmk[ _HBMK_nMaxCol ] - nWidth ) FOR nLine := 1 TO nLines - OutStd( Space( nWidth ) + RTrim( MemoLine( cOpt, hbmk[ _HBMK_nMaxCol ] - nWidth, nLine ) ) + _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], Space( nWidth ) + RTrim( MemoLine( cOpt, hbmk[ _HBMK_nMaxCol ] - nWidth, nLine ) ) + _OUT_EOL ) NEXT NEXT ENDIF ENDIF ELSE IF hbmk[ _HBMK_lMarkdown ] - OutStd( " - " + ToMarkdown( aOpt[ 1 ], "strong" ) + _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], " - " + ToMarkdown( aOpt[ 1 ], "strong" ) + _OUT_EOL ) ELSE - OutStd( Space( 2 ) + aOpt[ 1 ] + _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], Space( 2 ) + aOpt[ 1 ] + _OUT_EOL ) ENDIF ENDIF ENDIF @@ -16563,23 +16598,23 @@ STATIC PROCEDURE OutNote( hbmk, cText, cPrefix ) IF Empty( cText ) IF hbmk[ _HBMK_lMarkdown ] - OutStd( _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], _OUT_EOL ) ENDIF - OutStd( _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], _OUT_EOL ) ELSE hb_default( @cPrefix, " - " ) IF hbmk[ _HBMK_lMarkdown ] - OutStd( cPrefix + ToMarkdown( cText ) + _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], cPrefix + ToMarkdown( cText ) + _OUT_EOL ) ELSE cText := StrTran( cText, e"\n", hb_eol() ) nLines := MLCount( cText, hbmk[ _HBMK_nMaxCol ] - Len( cPrefix ) ) FOR nLine := 1 TO nLines IF nLine == 1 - OutStd( cPrefix ) + Eval( hbmk[ _HBMK_bOut ], cPrefix ) ELSE - OutStd( Space( Len( cPrefix ) ) ) + Eval( hbmk[ _HBMK_bOut ], Space( Len( cPrefix ) ) ) ENDIF - OutStd( RTrim( MemoLine( cText, hbmk[ _HBMK_nMaxCol ] - Len( cPrefix ), nLine ) ) + _OUT_EOL ) + Eval( hbmk[ _HBMK_bOut ], RTrim( MemoLine( cText, hbmk[ _HBMK_nMaxCol ] - Len( cPrefix ), nLine ) ) + _OUT_EOL ) NEXT ENDIF ENDIF diff --git a/utils/hbmk2/hbmk2.rc b/utils/hbmk2/hbmk2.rc index 9254c1f54b..416b5edeac 100644 --- a/utils/hbmk2/hbmk2.rc +++ b/utils/hbmk2/hbmk2.rc @@ -1,7 +1,3 @@ -/* - * $Id$ - */ - #if defined( OS2 ) || defined( __OS2__ ) || defined( OS_2 ) ICON 1 DISCARDABLE "../../package/harb_os2.ico" #else diff --git a/utils/hbmk2/pkg_dynl.hbm b/utils/hbmk2/pkg_dynl.hbm index 28d5f5d366..20018e0e06 100644 --- a/utils/hbmk2/pkg_dynl.hbm +++ b/utils/hbmk2/pkg_dynl.hbm @@ -1,7 +1,3 @@ -# -# $Id$ -# - # dynamic lib creation settings {hbdyn}-shared {hbdyn}-implib=lib/${hb_plat}/${hb_comp}${hb_build}/ diff --git a/utils/hbmk2/pkg_inst.hbm b/utils/hbmk2/pkg_inst.hbm index a90f89a3e4..66d7a39734 100644 --- a/utils/hbmk2/pkg_inst.hbm +++ b/utils/hbmk2/pkg_inst.hbm @@ -1,7 +1,3 @@ -# -# $Id$ -# - # Include file to setup standard installation rules # for 3rd party packages. To use it just add the line # '$hb_pkg_install.hbm' to the beginning of your project