FellippeHeitor
dfb33206b4
Fixes duplicate SKIP labels in some scenarios.
2021-07-20 13:16:06 -03:00
FellippeHeitor
fe4575a181
Allows empty procedures when $DEBUG is present.
2021-07-20 13:08:09 -03:00
FellippeHeitor
9ade4aea75
Declares *vwatch_local_vars
when there are no local vars.
2021-07-20 12:50:17 -03:00
FellippeHeitor
5e53786255
Implements "Skip Line"
...
Ctrl+P to set line to skip.
Ctrl+Line Click to set line to skip with mouse.
2021-07-20 02:50:54 -03:00
FellippeHeitor
aefde3eb55
Implements Set Next Line.
...
Allows arbitrarily changing the execution order from the IDE.
Ctrl+G in $DEBUG mode to launch the Set Next Line dialog.
2021-07-20 01:06:30 -03:00
FellippeHeitor
4d17873952
Allows END IF and END SELECT to be steppable.
2021-07-19 23:13:00 -03:00
FellippeHeitor
d1249d25d5
Send the IDE data when the proram is closing via X button.
2021-07-19 18:08:04 -03:00
FellippeHeitor
bfe081b421
Handles STOP as a regular breakpoint in $DEBUG mode.
2021-07-19 02:30:16 -03:00
FellippeHeitor
05d5086682
Prevents "ghost" variables from being added to watch list.
2021-07-19 02:29:13 -03:00
FellippeHeitor
de236d4a5f
Uses ENVIRON to set send the port number to the debuggee. Also:
...
- Limits sending "call" info to the IDE (not to hog the communication channel)
- Add $INCLUDE info to call stack.
2021-07-19 00:59:54 -03:00
FellippeHeitor
2f61b9e541
Tweak to previous commit.
...
`id` can change from the initial line to the last on in this commit. These changes prevent issues with that.
2021-07-18 22:16:16 -03:00
FellippeHeitor
8d35b87fd1
Initial implementation of call stack ($DEBUG).
2021-07-18 22:02:41 -03:00
FellippeHeitor
c59cef04d7
Allows sub/functions to be reported in $INCLUDEs.
...
Reorganizes source/utilities.
2021-07-17 17:25:48 -03:00
FellippeHeitor
df691cc3f2
Adds code to send "end signal" even with $CHECKING:OFF. ($DEBUG)
2021-07-17 17:11:02 -03:00
Fellippe Heitor
ae887507c2
On error, report back to the IDE. ($DEBUG)
2021-07-16 23:18:46 -03:00
Fellippe Heitor
78fb2ff1b9
Reduces parameters in SUB_VWATCH()
...
Since `vwatch_linenumber` is a shared variable, it doesn't need to be
passed to `SUB_VWATCH()`.
2021-07-16 18:51:35 -03:00
Fellippe Heitor
88e2a1fa83
Nooooow it seems proper.
2021-07-16 12:11:41 -03:00
Fellippe Heitor
8d29964587
Reenables detection of undefined arrays.
2021-07-16 12:06:06 -03:00
Fellippe Heitor
4e5c35bb7f
Prevents 'fake' variables from showing up.'
2021-07-16 11:59:17 -03:00
Fellippe Heitor
af2de0f24e
Merge development
2021-07-16 09:25:13 -03:00
Luke Ceddia
809c1fe016
Fix cast of vwatch_local_vars
2021-07-16 16:29:04 +10:00
Fellippe Heitor
df56b030f1
Makes sure only vars and arrays are added
2021-07-16 02:26:14 -03:00
Fellippe Heitor
e95e8a4825
Adds undeclared variables too
2021-07-16 01:23:46 -03:00
Luke Ceddia
8829518adf
Send var-address init code to maindata.txt instead of global.txt
2021-07-16 14:07:27 +10:00
Fellippe Heitor
74d2e0853a
END and SYSTEM send a 'quit' signal to the IDE
2021-07-16 00:52:06 -03:00
Fellippe Heitor
f0751243ef
Begins work for variable watching
2021-07-15 17:00:31 -03:00
FellippeHeitor
eede761f97
Allows OPTION _EXPLICIT/_EXPLICITARRAY to be anywhere.
...
They can be duplicate now too. And coexist.
2021-07-15 03:34:08 -03:00
FellippeHeitor
ad3ae35810
Allows $NOPREFIX to be placed anywhere.
...
Also allows it to play nice with $DEBUG.
2021-07-15 03:14:53 -03:00
FellippeHeitor
f3cd0b08bb
Bypasses $INCLUDE lines ($DEBUG Mode)
2021-07-15 01:14:33 -03:00
FellippeHeitor
9f8095a212
Allows pausing more statements.
...
IF, SELECT, END statements were initially excluded from stepping.
2021-07-15 00:08:36 -03:00
FellippeHeitor
b54de08aa3
Implements Step Over for $DEBUG mode
...
Using Shift+F8 when stepping line by line when on a line of code that contains a SUB/FUNCTION call, the sub-procedure lines will be run without entering the block of code, and execution will resume in the next line of code after the SUB/FUNCTION call.
2021-07-14 21:56:17 -03:00
FellippeHeitor
b5cdf1590e
Allows $DEBUG to be added anywhere in the code.
2021-07-14 20:34:47 -03:00
Luke Ceddia
d03207e955
Link with data even when using $console:only
...
Closes #151
2021-07-13 16:58:12 +10:00
Fellippe Heitor
19219dbfe5
$DEBUG mode now in working state.
...
F9 (or clicking a line number) will toggle a breakpoint; When running a
program, F8 will pause/step line by line, F9 will still be usable to
toggle breakpoints and F5 will continue execution. ESC exits $DEBUG
mode.
2021-07-11 21:05:03 -03:00
Fellippe Heitor
7b853bf9f2
First attempt at implementing Step.
2021-07-11 12:55:49 -03:00
Fellippe Heitor
b59aa4d7af
Begins prototyping a $DEBUG metacommand.
2021-07-09 08:08:49 -03:00
Zachary Spriggs
272b68ddcf
Automatically generate manifest file and link
...
Automatically generate and link manifest file to EXE if a version info value is set. The XML file will use CompanyName, ProductName, and FileDescription as values. This will allow for use of Common Controls v6.0 without keeping a manifest file in the same directory as the executable.
2021-07-07 23:20:38 -04:00
Fellippe Heitor
29d01706e2
Normalizes help references for internally handled commands.
2021-06-23 16:38:41 -03:00
Fellippe Heitor
6181fe54e4
Adds "quick reference" look up for the IDE.
...
Shows a quick syntax reference once it detects what command one is
trying to use
2021-06-20 00:04:08 -03:00
Luke Ceddia
7cc7618b8c
Revert 21984092
& 3c829db8
due to compiler failures introduced
2021-06-14 17:59:39 +10:00
Fellippe Heitor
219840929e
Turns DEPENDENCY_... into variables instead of Consts
2021-06-03 00:04:02 -03:00
Fellippe Heitor
9d08c78dfc
Prevent errors with literal string Consts
2021-05-27 20:08:45 -03:00
Fellippe Heitor
9d20796505
Prevents CONST errors with string functions.
...
CHR$ et al are not allowed in CONSTS. That's explicit now.
2021-05-21 21:02:20 -03:00
Zachary Spriggs
8484d0fb14
Revert "Fix bug with _BIT variables in functions"
...
This reverts commit b023f4074b
.
2021-04-09 18:07:38 -04:00
Zachary Spriggs
b023f4074b
Fix bug with _BIT variables in functions
...
This fix references forum post https://www.qb64.org/forum/index.php?topic=3794.msg131521#msg131521
A C++ error would occur when using a `_BIT` variable as a function argument because our current handling of the translation would reinitialize the variable in the function. This is called shadowing a parameter. I have commented out the line that was causing the error. The code that was provided in the forum post works successfully with this fix.
2021-04-09 12:35:51 -04:00
Zachary Spriggs
3062ca078a
fix indentation
2021-03-19 10:12:29 -04:00
Zachary Spriggs
92865ace3b
Makes $CONSOLE:ONLY set _Source to _Console
...
With v1.5 release, _Dest _Console would automatically be set but not _Source _Console. This change sets the _Source to _Console.
2021-03-19 10:11:31 -04:00
Doug Kearns
f6f7de6d87
Fixes sloppy parsing of array sub arguments
...
The following now produces a syntax error for the missing closing
parenthesis of the parameter list.
E.g. sub foo(bar(): end sub
2021-03-14 20:30:15 +11:00
Fellippe Heitor
16109a1d42
Merge pull request #144 from dkearns/fix-missing-source-file-message [ci-skip]
...
Fixes whitespace of missing source file error message
2021-03-09 08:49:43 -03:00
Doug Kearns
b8e43388da
Fixes whitespace of missing source file error message
2021-03-09 22:35:11 +11:00
Doug Kearns
e21a84c170
Fixes the exit status for invalid -s args
2021-03-07 22:54:32 +11:00
Fellippe Heitor
a7bdcfe053
Prevents CONST from being used between SUBs.
2021-02-26 00:51:07 -03:00
Doug Kearns
45d1fed31f
Changes metacommand parsing to match QuickBasic 4.5
...
QB45 allows multiple metacommands to appear in a single line and
$INCLUDE is not required to be the last.
Only the last appearance of $INCLUDE, and of $DYNAMIC or $STATIC, is
processed. Earlier appearances of metacommands are ignored.
E.g., the following includes only b.bas and configures static array
allocation
REM $INCLUDE:'a.bas' $DYNAMIC $INCLUDE:'b.bas' $STATIC
2021-02-21 23:45:24 +11:00
Fellippe Heitor
156996b4f9
Warns user that labels are not valid between subs.
2021-02-20 20:37:37 -03:00
Fellippe Heitor
7a26a4a5ba
Fixes layout of $IF blocks with operators like >, <, etc. Also:
...
Colorizes internal special variables/values as part of the $IF
metacommand. (DEFINED, UNDEFINED, WINDOWS, WIN, LINUX, MAC, MACOSX,
32BIT, 64BIT, VERSION).
2021-02-18 15:07:07 -03:00
Fellippe Heitor
1272892425
Fixes $LET being incorrectly placed in the IDE while editing.
2021-02-15 21:22:57 -03:00
FellippeHeitor
731e9cd0df
Fixes low ASCII characters showing up in Warnings box.
2021-02-14 00:53:14 -03:00
Fellippe Heitor
a08d90bd65
Fixes CONST names not maintaining case in STRING * const
...
DIM variable AS STRING * const would have CONST always turn capitals or
camel case.
2021-02-10 18:18:41 -03:00
Fellippe Heitor
7492260746
Fixes warning dialog showing weird characters.
2021-02-09 17:27:40 -03:00
Fellippe Heitor
1c5711f15e
Retreats 'shift+enter to close block'.
...
Until a more efficient approach comes up, at least.
2021-02-08 10:58:02 -03:00
Fellippe Heitor
8c1b05f428
Fixes console colors during compilation (*nix).
...
Turns out the color palette isn't really the same as in Windows.
2021-02-08 07:56:43 -03:00
Fellippe Heitor
eac3074e30
Incorporates INI-Manager to deal with the settings file.
...
Allows for multiple IDE instances using the same config file by default.
2021-02-07 22:01:53 -03:00
Fellippe Heitor
249d0549eb
Fixes highlighting of scientific notation numbers. Again.
2021-02-06 18:27:00 -03:00
Fellippe Heitor
d9467b4930
Removes "yet" from error messages.
2021-02-06 01:02:25 -03:00
Fellippe Heitor
711e6860bc
Adapts isnumber() to recognize number literals with type suffixes.
2021-02-05 17:59:17 -03:00
Fellippe Heitor
8d78700c11
Fixes CONST failing in CamelCase mode with logical operators.
2021-02-05 00:57:05 -03:00
Fellippe Heitor
70ea149168
Offers to auto-close blocks with Shift+ENTER
2021-02-04 22:21:31 -03:00
Fellippe Heitor
ef8de59aee
Prevents deletion of latest.txt. Also:
...
Restores case of keywords in qb64.bas.
2021-02-03 14:26:17 -03:00
Fellippe Heitor
13d35dbe6c
Missing 'Exit Sub' in CamelCase formatter
2021-02-03 14:08:40 -03:00
Fellippe Heitor
fff40a315e
Extra touches to CamelCase (NOT, AND, etc).
2021-01-31 14:45:58 -03:00
Fellippe Heitor
59155c4481
Adds the ability to have CamelCase for internal keywords.
2021-01-31 03:44:38 -03:00
Fellippe Heitor
7a1ecd78f9
Fixes bug in CONST evaluator.
...
As described in https://www.qb64.org/forum/index.php?topic=1303.0
2021-01-29 02:28:28 -03:00
Fellippe Heitor
e6b74afbba
Replace SUB/FUNCTION accordingly like QB4.5 did
...
In EXIT SUB/FUNCTION and END SUB/FUNCTION statements.
2021-01-28 18:52:50 -03:00
Luke Ceddia
bf1d6664e9
Add pre-compiler VERSION and $ERROR
2021-01-27 22:23:28 +11:00
Fellippe Heitor
9e92d13f70
Adds more descriptive error message for Duplicate Label
2021-01-26 21:01:23 -03:00
Fellippe Heitor
25dbf1ad1f
New AS TYPE element-list syntax for TYPE.
2021-01-26 12:27:18 -03:00
Fellippe Heitor
fd0b44aee4
Extends the new DIM syntax to SHARED (subs)
...
e.g. SHARED AS _BYTE array(), index
2021-01-26 04:01:36 -03:00
Fellippe Heitor
61796209bd
Implements new alternative syntax for DIM/REDIM/STATIC
...
DIM AS data-type variable1, variable2, ...
2021-01-26 02:21:24 -03:00
Fellippe Heitor
0199534a31
Automatically calls _DEST _CONSOLE internally when $CONSOLE:ONLY is used.
...
_DEST can be changed later in the program by the user, as usual.
2021-01-25 22:04:31 -03:00
Fellippe Heitor
d5ac71f8a9
Gives more descriptive message for "Label not defined".
2021-01-22 23:22:19 -03:00
FellippeHeitor
933ba12d5b
Dead code removal.
2021-01-20 21:53:46 -03:00
FellippeHeitor
7916be2e3e
Show eventual substitutions even if Find and Replace is canceled.
2021-01-18 02:25:38 -03:00
FellippeHeitor
6a134929a9
Puts _ERRORMESSAGE$ to good use.
2021-01-18 00:19:33 -03:00
FellippeHeitor
45d483a4ab
Unifies compilation progress bar (no console mode) with CHR$(219).
...
We'd have four different progress bar styles,... now we keep having three.
2021-01-15 20:27:51 -03:00
FellippeHeitor
abcb77596d
Removes third person singular from help page.
...
Removes unused variable in SUB manageVariableList
2021-01-14 11:25:57 -03:00
Luke Ceddia
f2ce507d4e
Add -w, -m options
2021-01-15 00:09:45 +11:00
Luke Ceddia
7633a64ccb
Show warnings with -v -q
2021-01-14 22:45:27 +11:00
FellippeHeitor
2ce9afe739
Makes colored output default for command line compilation.
2021-01-13 23:54:20 -03:00
FellippeHeitor
4dd5d11c8c
Improves console output in verbose mode.
2021-01-13 21:19:21 -03:00
FellippeHeitor
9755992de9
Adds colored output to verbose mode (-vc switch).
2021-01-13 19:01:30 -03:00
FellippeHeitor
c9ac352d87
Improves warning system to add $include info.
2021-01-13 17:51:40 -03:00
FellippeHeitor
28c2bd9b49
Merge branch 'development' into ideimprovements
2021-01-13 11:16:18 -03:00
FellippeHeitor
c0c59706ce
Likely reason for incorrect line number reports for open SUB/FUNCTIONs.
2021-01-13 11:08:32 -03:00
FellippeHeitor
1e11ff17b6
Begins changing warning system to consider includes.
2021-01-13 10:57:58 -03:00
FellippeHeitor
aef35c96e1
Makes idegotobox a SUB.
2021-01-13 02:07:22 -03:00
FellippeHeitor
c4ba4bb381
Fixes _MEM udt's new element .SOUND
2021-01-01 23:38:04 -03:00
FellippeHeitor
bd54eb0f39
Attempts at implementing _MEMSOUND
2020-12-31 01:40:54 -03:00
FellippeHeitor
fab894ae72
Adds warning when empty SELECT CASE block is found.
2020-12-18 02:17:57 -03:00
FellippeHeitor
7db658b781
Prevents code before 'CASE condition' in a SELECT CASE block
2020-12-18 01:30:42 -03:00
Luke Ceddia
272f877725
Add -q for quiet mode
2020-11-04 23:03:47 +11:00