2012-06-13 15:44 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbrun/hbrun.prg
* contrib/hbrun/plugins.prg
* utils/hbmk2/hbmk2.prg
* synced recent changes
+ changed extension filename to <home>/.harbour/hb_extension (hb_ext.ini in MS-DOS)
envvar to HB_EXTENSION
+ plugins are now loaded from <home>/.harbour/*.hb, <home>/.harbour/*.hrb
This commit is contained in:
@@ -16,6 +16,15 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2012-06-13 15:44 UTC+0200 Viktor Szakats (harbour syenar.net)
|
||||
* contrib/hbrun/hbrun.prg
|
||||
* contrib/hbrun/plugins.prg
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
* synced recent changes
|
||||
+ changed extension filename to <home>/.harbour/hb_extension (hb_ext.ini in MS-DOS)
|
||||
envvar to HB_EXTENSION
|
||||
+ plugins are now loaded from <home>/.harbour/*.hb, <home>/.harbour/*.hrb
|
||||
|
||||
2012-06-13 15:31 UTC+0200 Viktor Szakats (harbour syenar.net)
|
||||
* contrib/hbrun/hbrun.prg
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
@@ -50,9 +59,9 @@
|
||||
to run it, type: 'hbmk2 .'
|
||||
Missing is extension registration, plugins don't seem
|
||||
to work yet, and I plan to switch from full screen
|
||||
prompt to shell-like prompt. Plugin paths, extension
|
||||
configuration, history on-disk files need further
|
||||
polishing.
|
||||
prompt to shell-like prompt.
|
||||
; Plugin paths, extension configuration, history on-disk
|
||||
files need further polishing. [DONE]
|
||||
+ hbmk2 will act as a hbrun, if renamed to hbrun
|
||||
|
||||
* contrib/hbqt/qtcore/hbqt_misc.prg
|
||||
|
||||
@@ -88,6 +88,13 @@ STATIC s_cProgName
|
||||
|
||||
/* ********************************************************************** */
|
||||
|
||||
#if defined( __PLATFORM__DOS )
|
||||
# define _EXT_FILE_ "hb_ext.ini"
|
||||
#else
|
||||
# define _EXT_FILE_ "hb_extension"
|
||||
#endif
|
||||
#define _EXT_ENV_ "HB_EXTENSION"
|
||||
|
||||
PROCEDURE _APPMAIN( cFile, ... )
|
||||
LOCAL cExt
|
||||
LOCAL hHeaders
|
||||
@@ -102,8 +109,8 @@ PROCEDURE _APPMAIN( cFile, ... )
|
||||
|
||||
aDynamic := {}
|
||||
|
||||
LoadExtDynamicFromFile( aDynamic, hb_DirBase() + "hbrun.ext" )
|
||||
LoadExtDynamicFromString( aDynamic, GetEnv( "HBRUN_EXT" ) )
|
||||
LoadExtDynamicFromFile( aDynamic, __hbrun_ConfigDir() + _EXT_FILE_ )
|
||||
LoadExtDynamicFromString( aDynamic, GetEnv( _EXT_ENV_ ) )
|
||||
|
||||
/* TODO: Rework parameter handling */
|
||||
IF PCount() > 0
|
||||
@@ -223,6 +230,32 @@ EXIT PROCEDURE hbrun_exit()
|
||||
|
||||
RETURN
|
||||
|
||||
FUNCTION __hbrun_ConfigDir()
|
||||
LOCAL cEnvVar
|
||||
LOCAL cDir
|
||||
|
||||
#if defined( __PLATFORM__WINDOWS )
|
||||
cEnvVar := "APPDATA"
|
||||
#else
|
||||
cEnvVar := "HOME"
|
||||
#endif
|
||||
|
||||
IF ! Empty( GetEnv( cEnvVar ) )
|
||||
#if defined( __PLATFORM__DOS )
|
||||
cDir := GetEnv( cEnvVar ) + hb_ps() + "~harbour"
|
||||
#else
|
||||
cDir := GetEnv( cEnvVar ) + hb_ps() + ".harbour"
|
||||
#endif
|
||||
ELSE
|
||||
cDir := hb_DirBase()
|
||||
ENDIF
|
||||
|
||||
IF ! hb_DirExists( cDir )
|
||||
hb_DirCreate( cDir )
|
||||
ENDIF
|
||||
|
||||
RETURN cDir + hb_ps()
|
||||
|
||||
STATIC PROCEDURE LoadExtDynamicFromFile( aDynamic, cFileName )
|
||||
LOCAL cItem
|
||||
|
||||
@@ -745,37 +778,15 @@ STATIC PROCEDURE hbrun_HistorySave()
|
||||
RETURN
|
||||
|
||||
STATIC FUNCTION hbrun_HistoryFileName()
|
||||
LOCAL cEnvVar
|
||||
LOCAL cDir
|
||||
LOCAL cFileName
|
||||
|
||||
#if defined( __PLATFORM__WINDOWS )
|
||||
cEnvVar := "APPDATA"
|
||||
#else
|
||||
cEnvVar := "HOME"
|
||||
#endif
|
||||
|
||||
#if defined( __PLATFORM__DOS )
|
||||
cFileName := "hbhist.ini"
|
||||
#else
|
||||
cFileName := ".hb_history"
|
||||
#endif
|
||||
|
||||
IF ! Empty( GetEnv( cEnvVar ) )
|
||||
#if defined( __PLATFORM__DOS )
|
||||
cDir := GetEnv( cEnvVar ) + hb_ps() + "~harbour"
|
||||
#else
|
||||
cDir := GetEnv( cEnvVar ) + hb_ps() + ".harbour"
|
||||
#endif
|
||||
ELSE
|
||||
cDir := hb_DirBase()
|
||||
ENDIF
|
||||
|
||||
IF ! hb_DirExists( cDir )
|
||||
hb_DirCreate( cDir )
|
||||
ENDIF
|
||||
|
||||
RETURN cDir + hb_ps() + cFileName
|
||||
RETURN __hbrun_ConfigDir() + cFileName
|
||||
|
||||
FUNCTION __hbrun_FindInPath( cFileName, xPath )
|
||||
LOCAL cDir
|
||||
|
||||
@@ -57,16 +57,19 @@
|
||||
|
||||
FUNCTION __hbrun_plugins()
|
||||
LOCAL hPlugins := { => }
|
||||
LOCAL cDir
|
||||
LOCAL cExt
|
||||
LOCAL file
|
||||
|
||||
ADD PLUGIN TO hPlugins FILE "netiomgm.prg"
|
||||
ADD PLUGIN TO hPlugins FILE "extdynpl.hb"
|
||||
|
||||
FOR EACH file IN Directory( hb_DirBase() + "*.hb" )
|
||||
hPlugins[ hb_DirBase() + file[ F_NAME ] ] := MemoRead( hb_DirBase() + file[ F_NAME ] )
|
||||
NEXT
|
||||
FOR EACH file IN Directory( hb_DirBase() + "*.hrb" )
|
||||
hPlugins[ hb_DirBase() + file[ F_NAME ] ] := MemoRead( hb_DirBase() + file[ F_NAME ] )
|
||||
cDir := __hbrun_ConfigDir()
|
||||
|
||||
FOR EACH cExt IN { "*.hb", "*.hrb" }
|
||||
FOR EACH file IN Directory( cDir + cExt )
|
||||
hPlugins[ cDir + file[ F_NAME ] ] := MemoRead( cDir + file[ F_NAME ] )
|
||||
NEXT
|
||||
NEXT
|
||||
|
||||
RETURN hPlugins
|
||||
|
||||
@@ -12155,8 +12155,12 @@ STATIC FUNCTION hbmk_CoreHeaderFiles()
|
||||
|
||||
/* Emulate a minimal hbrun */
|
||||
|
||||
#define _EXT_FILE_ "hbmk.ext"
|
||||
#define _EXT_ENV_ "HBMK_EXT"
|
||||
#if defined( __PLATFORM__DOS )
|
||||
# define _EXT_FILE_ "hb_ext.ini"
|
||||
#else
|
||||
# define _EXT_FILE_ "hb_extension"
|
||||
#endif
|
||||
#define _EXT_ENV_ "HB_EXTENSION"
|
||||
|
||||
STATIC PROCEDURE __hbrun_minimal( cFile, ... )
|
||||
LOCAL aDynamic := {}
|
||||
@@ -12244,7 +12248,7 @@ STATIC PROCEDURE __hbrun_minimal( cFile, ... )
|
||||
EXIT
|
||||
ENDIF
|
||||
CASE ".hrb"
|
||||
__hbrun_LoadExtDynamicFromFile( aDynamic, hb_DirBase() + _EXT_FILE_ )
|
||||
__hbrun_LoadExtDynamicFromFile( aDynamic, __hbrun_ConfigDir() + _EXT_FILE_ )
|
||||
__hbrun_LoadExtDynamicFromString( aDynamic, GetEnv( _EXT_ENV_ ) )
|
||||
__hbrun_extensions_dynamic_init( aDynamic )
|
||||
s_cDirBase_hbrun := hb_DirBase()
|
||||
@@ -12253,14 +12257,14 @@ STATIC PROCEDURE __hbrun_minimal( cFile, ... )
|
||||
hb_hrbRun( cFile, ... )
|
||||
EXIT
|
||||
CASE ".dbf"
|
||||
__hbrun_LoadExtDynamicFromFile( aDynamic, hb_DirBase() + _EXT_FILE_ )
|
||||
__hbrun_LoadExtDynamicFromFile( aDynamic, __hbrun_ConfigDir() + _EXT_FILE_ )
|
||||
__hbrun_LoadExtDynamicFromString( aDynamic, GetEnv( _EXT_ENV_ ) )
|
||||
__hbrun_extensions_dynamic_init( aDynamic )
|
||||
__hbrun_shell( hb_AParams(), "USE " + cFile + " SHARED" )
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
ELSE
|
||||
__hbrun_LoadExtDynamicFromFile( aDynamic, hb_DirBase() + _EXT_FILE_ )
|
||||
__hbrun_LoadExtDynamicFromFile( aDynamic, __hbrun_ConfigDir() + _EXT_FILE_ )
|
||||
__hbrun_LoadExtDynamicFromString( aDynamic, GetEnv( _EXT_ENV_ ) )
|
||||
__hbrun_extensions_dynamic_init( aDynamic )
|
||||
__hbrun_shell( hb_AParams() )
|
||||
@@ -12286,6 +12290,32 @@ STATIC FUNCTION __hbrun_FileSig( cFile )
|
||||
|
||||
RETURN cExt
|
||||
|
||||
STATIC FUNCTION __hbrun_ConfigDir()
|
||||
LOCAL cEnvVar
|
||||
LOCAL cDir
|
||||
|
||||
#if defined( __PLATFORM__WINDOWS )
|
||||
cEnvVar := "APPDATA"
|
||||
#else
|
||||
cEnvVar := "HOME"
|
||||
#endif
|
||||
|
||||
IF ! Empty( GetEnv( cEnvVar ) )
|
||||
#if defined( __PLATFORM__DOS )
|
||||
cDir := GetEnv( cEnvVar ) + hb_ps() + "~harbour"
|
||||
#else
|
||||
cDir := GetEnv( cEnvVar ) + hb_ps() + ".harbour"
|
||||
#endif
|
||||
ELSE
|
||||
cDir := hb_DirBase()
|
||||
ENDIF
|
||||
|
||||
IF ! hb_DirExists( cDir )
|
||||
hb_DirCreate( cDir )
|
||||
ENDIF
|
||||
|
||||
RETURN cDir + hb_ps()
|
||||
|
||||
STATIC PROCEDURE __hbrun_LoadExtDynamicFromFile( aDynamic, cFileName )
|
||||
LOCAL cItem
|
||||
|
||||
@@ -12397,14 +12427,17 @@ STATIC FUNCTION __hbrun_extensions_get_list()
|
||||
|
||||
FUNCTION __hbrun_plugins()
|
||||
LOCAL hPlugins := { => }
|
||||
LOCAL cDir
|
||||
LOCAL cExt
|
||||
LOCAL file
|
||||
|
||||
ADD PLUGIN TO hPlugins FILE "p_extdyn.hb"
|
||||
|
||||
cDir := __hbrun_ConfigDir()
|
||||
|
||||
FOR EACH cExt IN { "*.hb", "*.hrb" }
|
||||
FOR EACH file IN Directory( hb_DirBase() + cExt )
|
||||
hPlugins[ hb_DirBase() + file[ F_NAME ] ] := MemoRead( hb_DirBase() + file[ F_NAME ] ) /* TODO: decide where to load plugins from */
|
||||
FOR EACH file IN Directory( cDir + cExt )
|
||||
hPlugins[ cDir + file[ F_NAME ] ] := MemoRead( cDir + file[ F_NAME ] )
|
||||
NEXT
|
||||
NEXT
|
||||
|
||||
@@ -12836,37 +12869,15 @@ STATIC PROCEDURE __hbrun_HistorySave()
|
||||
RETURN
|
||||
|
||||
STATIC FUNCTION __hbrun_HistoryFileName()
|
||||
LOCAL cEnvVar
|
||||
LOCAL cDir
|
||||
LOCAL cFileName
|
||||
|
||||
#if defined( __PLATFORM__WINDOWS )
|
||||
cEnvVar := "APPDATA"
|
||||
#else
|
||||
cEnvVar := "HOME"
|
||||
#endif
|
||||
|
||||
#if defined( __PLATFORM__DOS )
|
||||
cFileName := "hbhist.ini"
|
||||
#else
|
||||
cFileName := ".hb_history"
|
||||
#endif
|
||||
|
||||
IF ! Empty( GetEnv( cEnvVar ) )
|
||||
#if defined( __PLATFORM__DOS )
|
||||
cDir := GetEnv( cEnvVar ) + hb_ps() + "~harbour"
|
||||
#else
|
||||
cDir := GetEnv( cEnvVar ) + hb_ps() + ".harbour"
|
||||
#endif
|
||||
ELSE
|
||||
cDir := hb_DirBase()
|
||||
ENDIF
|
||||
|
||||
IF ! hb_DirExists( cDir )
|
||||
hb_DirCreate( cDir )
|
||||
ENDIF
|
||||
|
||||
RETURN cDir + hb_ps() + cFileName
|
||||
RETURN __hbrun_ConfigDir() + cFileName
|
||||
|
||||
#if defined( __PLATFORM__WINDOWS )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user