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