mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-28 11:17:46 +00:00
Allows -s switch to change settings and process other parameters.
This commit is contained in:
parent
68fdc47f45
commit
f944e86b38
2 changed files with 22 additions and 10 deletions
|
@ -13,7 +13,7 @@ DIM SHARED PasteCursorAtEnd AS _BYTE
|
|||
DIM SHARED SaveExeWithSource AS _BYTE, EnableQuickNav AS _BYTE
|
||||
DIM SHARED IDEShowErrorsImmediately AS _BYTE
|
||||
DIM SHARED ShowLineNumbersSeparator AS _BYTE, ShowLineNumbersUseBG AS _BYTE
|
||||
DIM SHARED IgnoreWarnings AS _BYTE
|
||||
DIM SHARED IgnoreWarnings AS _BYTE, qb64versionprinted AS _BYTE
|
||||
|
||||
IF LoadedIDESettings = 0 THEN
|
||||
'We only want to load the file once when QB64 first starts
|
||||
|
@ -449,7 +449,7 @@ IF LoadedIDESettings = 0 THEN
|
|||
idebackupsize = VAL(value$)
|
||||
IF idebackupsize < 10 OR idebackupsize > 2000 THEN idebackupsize = 100: WriteConfigSetting "'[GENERAL SETTINGS]", "BackupSize", "100 'in MB"
|
||||
|
||||
result = ReadConfigSetting("DeBugInfo", value$)
|
||||
result = ReadConfigSetting("DebugInfo", value$)
|
||||
idedebuginfo = VAL(value$)
|
||||
IF UCASE$(LEFT$(value$, 4)) = "TRUE" THEN idedebuginfo = 1
|
||||
IF result = 0 OR idedebuginfo <> 1 THEN
|
||||
|
|
|
@ -1094,7 +1094,7 @@ GOTO sendcommand
|
|||
|
||||
|
||||
noide:
|
||||
PRINT "QB64 COMPILER V" + Version$
|
||||
IF qb64versionprinted = 0 THEN qb64versionprinted = -1: PRINT "QB64 COMPILER V" + Version$
|
||||
|
||||
IF CMDLineFile = "" THEN
|
||||
LINE INPUT ; "COMPILE (.bas)>", f$
|
||||
|
@ -12436,7 +12436,7 @@ FUNCTION ParseCMDLineArgs$ ()
|
|||
SELECT CASE LCASE$(LEFT$(token$, 2))
|
||||
CASE "-?" 'Command-line help
|
||||
_DEST _CONSOLE
|
||||
PRINT "QB64 COMPILER V" + Version$
|
||||
IF qb64versionprinted = 0 THEN qb64versionprinted = -1: PRINT "QB64 COMPILER V" + Version$
|
||||
PRINT
|
||||
PRINT "USAGE: qb64 [switches] <file>"
|
||||
PRINT
|
||||
|
@ -12458,6 +12458,7 @@ FUNCTION ParseCMDLineArgs$ ()
|
|||
SYSTEM
|
||||
CASE "-v" 'Verbose mode
|
||||
VerboseMode = -1
|
||||
cmdlineswitch = -1
|
||||
CASE "-p" 'Purge
|
||||
IF os$ = "WIN" THEN
|
||||
CHDIR "internal\c"
|
||||
|
@ -12474,9 +12475,11 @@ FUNCTION ParseCMDLineArgs$ ()
|
|||
END IF
|
||||
CHDIR "../.."
|
||||
END IF
|
||||
cmdlineswitch = -1
|
||||
CASE "-s" 'Settings
|
||||
settingsMode = -1
|
||||
_DEST _CONSOLE
|
||||
PRINT "QB64 COMPILER V" + Version$
|
||||
IF qb64versionprinted = 0 THEN qb64versionprinted = -1: PRINT "QB64 COMPILER V" + Version$
|
||||
SELECT CASE LCASE$(MID$(token$, 3))
|
||||
CASE ""
|
||||
PRINT "debuginfo = ";
|
||||
|
@ -12491,11 +12494,11 @@ FUNCTION ParseCMDLineArgs$ ()
|
|||
CASE ":exewithsource=true"
|
||||
WriteConfigSetting "'[GENERAL SETTINGS]", "SaveExeWithSource", "TRUE"
|
||||
PRINT "exewithsource = TRUE"
|
||||
SYSTEM
|
||||
SaveExeWithSource = -1
|
||||
CASE ":exewithsource=false"
|
||||
WriteConfigSetting "'[GENERAL SETTINGS]", "SaveExeWithSource", "FALSE"
|
||||
PRINT "exewithsource = FALSE"
|
||||
SYSTEM
|
||||
SaveExeWithSource = 0
|
||||
CASE ":debuginfo"
|
||||
PRINT "debuginfo = ";
|
||||
IF idedebuginfo THEN PRINT "TRUE" ELSE PRINT "FALSE"
|
||||
|
@ -12520,7 +12523,6 @@ FUNCTION ParseCMDLineArgs$ ()
|
|||
END IF
|
||||
CHDIR "../.."
|
||||
END IF
|
||||
SYSTEM
|
||||
CASE ":debuginfo=false"
|
||||
PRINT "debuginfo = FALSE"
|
||||
WriteConfigSetting "'[GENERAL SETTINGS]", "DebugInfo", "FALSE 'INTERNAL VARIABLE USE ONLY!! DO NOT MANUALLY CHANGE!"
|
||||
|
@ -12541,7 +12543,6 @@ FUNCTION ParseCMDLineArgs$ ()
|
|||
END IF
|
||||
CHDIR "../.."
|
||||
END IF
|
||||
SYSTEM
|
||||
CASE ELSE
|
||||
PRINT "INVALID SETTINGS SWITCH: "; token$
|
||||
PRINT
|
||||
|
@ -12550,27 +12551,38 @@ FUNCTION ParseCMDLineArgs$ ()
|
|||
PRINT " -s:exewithsource=true/false (Save .EXE in the source folder)"
|
||||
SYSTEM
|
||||
END SELECT
|
||||
_DEST 0
|
||||
CASE "-e" 'Option Explicit
|
||||
optionexplicit_cmd = -1
|
||||
cmdlineswitch = -1
|
||||
CASE "-z" 'Not compiling C code
|
||||
No_C_Compile_Mode = 1
|
||||
ConsoleMode = 1 'Implies -x
|
||||
NoIDEMode = 1 'Implies -c
|
||||
cmdlineswitch = -1
|
||||
CASE "-x" 'Use the console
|
||||
ConsoleMode = 1
|
||||
NoIDEMode = 1 'Implies -c
|
||||
cmdlineswitch = -1
|
||||
CASE "-c" 'Compile instead of edit
|
||||
NoIDEMode = 1
|
||||
cmdlineswitch = -1
|
||||
CASE "-o" 'Specify an output file
|
||||
IF LEN(COMMAND$(i + 1)) > 0 THEN outputfile_cmd$ = COMMAND$(i + 1): i = i + 1
|
||||
cmdlineswitch = -1
|
||||
CASE "-l" 'goto line (ide mode only); -l:<line number>
|
||||
IF MID$(token$, 3, 1) = ":" THEN ideStartAtLine = VAL(MID$(token$, 4))
|
||||
cmdlineswitch = -1
|
||||
CASE ELSE 'Something we don't recognise, assume it's a filename
|
||||
IF PassedFileName$ = "" THEN PassedFileName$ = token$
|
||||
END SELECT
|
||||
NEXT i
|
||||
|
||||
IF LEN(PassedFileName$) THEN ParseCMDLineArgs$ = PassedFileName$
|
||||
IF LEN(PassedFileName$) THEN
|
||||
ParseCMDLineArgs$ = PassedFileName$
|
||||
ELSE
|
||||
IF cmdlineswitch = 0 AND settingsMode = -1 THEN SYSTEM
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION Type2MemTypeValue (t1)
|
||||
|
|
Loading…
Reference in a new issue