FellippeHeitor
62878630b5
Improves on Add Watch dialog prototype.
...
Can select individual variables (double-click to toggle), add all, remove all.
2021-07-25 00:19:55 -03:00
FellippeHeitor
37d1868630
Initial draft for Add Watch dialog.
2021-07-24 19:32:28 -03:00
FellippeHeitor
0ca12c3503
Fixes FUNCTION id2fulltypename$
to recognize _OFFSET types.
...
Now displays actual type name in Warnings box, instead of the C++ variable name.
2021-07-24 18:01:50 -03:00
FellippeHeitor
8f2e969711
Stores full type name with variable list.
2021-07-24 16:16:18 -03:00
FellippeHeitor
ed59d6411e
Handles new variables added to main module using SHARED in a SUB.
2021-07-24 15:19:29 -03:00
FellippeHeitor
c621917a69
Prevents adding SHARED variables to SUB vWatch()
2021-07-24 12:00:40 -03:00
FellippeHeitor
6436ee76bf
Propagates DIM SHARED variables to all SUBs.
...
`vwatch_local_vars` will make direct reference to SHARED variables, so they can be watched in whatever scope.
2021-07-24 11:51:01 -03:00
FellippeHeitor
5886488b72
Allows F3, Ctrl+F3, Ctrl+F to invoke the search box ($DEBUG).
2021-07-23 13:46:57 -03:00
FellippeHeitor
53560ec34f
Resets internal variable list when compilation starts ($DEBUG).
2021-07-23 12:12:03 -03:00
Fellippe Heitor
8d2d49d7dc
Restores Step Out/Step Over functionality.
2021-07-23 00:31:11 -03:00
Fellippe Heitor
abfa7cb745
Prevents labels and vWatch calls in $INCLUDEs.
2021-07-23 00:13:11 -03:00
FellippeHeitor
d0c156f876
Finishes restructure of support files.
2021-07-22 20:44:36 -03:00
FellippeHeitor
898c0ffedb
Begins folder reorganization (internal/support
).
...
For .bas/.bm/.bi files that are required at compilation time, as opposed to `source`, which is not required for normal operation.
2021-07-22 18:39:20 -03:00
FellippeHeitor
fd9958f9c7
Resets usedVariableList
when compilation starts.
2021-07-22 15:24:24 -03:00
FellippeHeitor
33ec83d0fb
Adds Clear All Skips, Set TCP port.
2021-07-22 15:23:37 -03:00
FellippeHeitor
d09a7fcb3a
Fixes order of elements when dealing with STOP ($DEBUG).
2021-07-22 14:08:26 -03:00
FellippeHeitor
997285994d
Replaces "Status" with "$DEBUG MODE" when appropriate.
2021-07-22 13:54:16 -03:00
FellippeHeitor
e64984d5fa
Properly redraws the interface for help on user keywords (F1)
2021-07-22 11:55:35 -03:00
FellippeHeitor
84fb639626
Visually indicates the line where the search term was found.
...
In normal operation, the line already gets highlighted. This commit makes the search result more visible/easily spotted when repeating search with F3 or when the search bar has focus.
2021-07-22 11:40:03 -03:00
FellippeHeitor
4efd95201d
Fixes improper navigation (open/save dialogs).
2021-07-22 03:07:01 -03:00
FellippeHeitor
2fc0515d2e
Adjustments to dialogs.
...
SUBs, Call Stack, Languages will no longer take up the whole window.
2021-07-22 03:05:54 -03:00
FellippeHeitor
d3807589ca
Properly clears the mouse queue after dialogs are closed.
2021-07-22 03:05:00 -03:00
FellippeHeitor
231400f309
Properly obeys a click to exit (x button)
2021-07-22 03:04:23 -03:00
FellippeHeitor
231e28c79b
Adds method to allow closing the connection with the IDE.
...
In order to allow $DEBUG to work with programs that call CLEAR, the connection handle used to connect to the IDE is locked by default and cannot be CLOSEd. With this change, the debuggee itself can now unlock the handle and close the link.
2021-07-22 00:18:34 -03:00
FellippeHeitor
30348dd2db
Allows a debuggee to call CLEAR
while keeping connected to the IDE.
2021-07-21 23:54:30 -03:00
FellippeHeitor
77daecccbc
Gets all used variables to be properly stored.
...
This time it looks like it's been nailed.
2021-07-21 18:07:21 -03:00
FellippeHeitor
abe46ca87e
There's a blk of code that never runs in FUNCTION isvalidvariable
...
This is a commit just to show it's known that it's there.
And that I was a coward to remove it.
Maybe n was supposed to be LEN(a$)? Well, it's not. That breaks compilation.
I'll just leave it there.
2021-07-21 15:04:27 -03:00
FellippeHeitor
0724910a2e
Improves detection of used variables; Arrays still to be worked on.
2021-07-21 14:25:21 -03:00
FellippeHeitor
b1ddfd06c7
typ
is undefined in FUNCTION typ2ctyp$
; uses t
instead.
...
Could be causing weird issues; might cause weird issues.
2021-07-21 14:24:35 -03:00
FellippeHeitor
46822028f9
Fixes typos in comments ( 🤦 ).
2021-07-21 14:23:21 -03:00
FellippeHeitor
f286e6b1d9
Removes unused variables in IDE code.
2021-07-21 14:22:37 -03:00
FellippeHeitor
e3d65b3559
Centers target line with warning.
2021-07-21 12:41:41 -03:00
FellippeHeitor
dd686b4071
Store variable creation data after regid
is called.
2021-07-21 09:48:52 -03:00
FellippeHeitor
f09bea827b
Refines variable collection code ($DEBUG).
2021-07-21 09:30:48 -03:00
FellippeHeitor
b9e65ceca5
Center target line when searching (F3, Ctrl+F3, Alt+F3).
2021-07-21 08:55:49 -03:00
FellippeHeitor
fc95dd4d9e
Prevents endless loop with F8 key (start paused).
2021-07-21 00:13:55 -03:00
FellippeHeitor
1cad7db996
Prevents adding goto
re:undefined vWatch labels.
2021-07-21 00:02:15 -03:00
FellippeHeitor
fb94a16bfe
Adds Ctrl+P to skip line; Ctrl+Shift+G to run to line.
2021-07-20 22:48:14 -03:00
FellippeHeitor
2097f35a8b
Implements "Run To This Line".
2021-07-20 22:28:03 -03:00
FellippeHeitor
b56ceb924d
Fixes vWatch labels not being added.
2021-07-20 20:11:45 -03:00
FellippeHeitor
ba7a0d91d4
Implements contextual menu for $DEBUG mode.
2021-07-20 20:11:29 -03:00
FellippeHeitor
ec807702ce
Fixes Next
lines not being "steppable".
2021-07-20 17:28:02 -03:00
FellippeHeitor
2ca6cb7c9a
Improves vWatch label injection ($DEBUG
).
2021-07-20 17:12:00 -03:00
FellippeHeitor
603cc585e8
Prevents issues when deleting lines in normal mode.
2021-07-20 17:11:16 -03:00
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
Fellippe Heitor
19d22d4c9f
Renames ide
to ideHost
in vwatch.bm
2021-07-20 11:56:24 -03:00
Fellippe Heitor
5406492be8
Changes the shortcut to skip line to Shift+click.
...
Minor visual changes to breakpoint/skip line indicators.
2021-07-20 11:55:31 -03:00
FellippeHeitor
fcc243f902
Moves breakpoints and line skips when deleting lines.
2021-07-20 03:11:16 -03:00
FellippeHeitor
adf963b007
Allows toggling "Skip Line" before starting program.
...
Ctrl+Line number or
Debug->Toggle Skip Line
2021-07-20 03:02:29 -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
10ce193ba9
Prevents showing the call stack dialog when it's empty.
2021-07-19 22:55:03 -03:00
FellippeHeitor
655f1e3b19
Sends call stack to IDE when an error occurs.
2021-07-19 22:25:15 -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
328c5ec668
Handles the call stack data sent after a program closes.
2021-07-19 17:23:02 -03:00
FellippeHeitor
bb032b6b75
Adds View->Call stack.
2021-07-19 17:12:48 -03:00
FellippeHeitor
b389cc07e9
Adds "Start Paused" to Debug menu.
...
Shortcut is F8.
2021-07-19 16:46:42 -03:00
FellippeHeitor
c27d20590f
Allows navigating the code while in $DEBUG mode. Also:
...
- An arrow now indicates the line that will be run next when in Pause mode.
- F2 can trigger the SUBs dialog while in $DEBUG mode.
2021-07-19 14:55:27 -03:00
FellippeHeitor
403e45b2c4
Centers current line while debugging.
...
It now centers the current line when using QuickNav too.
2021-07-19 12:46:37 -03:00
FellippeHeitor
43c2dbc984
Keeps timers disabled when stepping ($DEBUG).
2021-07-19 02:30:40 -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
6a1ec42b4d
Keep call history in the debuggee; send per request.
...
Unless we had two channels, one to send the stack, another for real time commands, execution would be really slowed down.
2021-07-19 01:59:49 -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
ee4b611056
Adds _EnvironCount
2021-07-17 12:15:00 -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
Luke Ceddia
2b86bdcef2
Add local command (broken)
2021-07-16 22:47:52 +10: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
Fellippe Heitor
8109b81ef7
Adds Step Out
2021-07-16 01:09:27 -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
0217fa2a5e
Adds F10 to clear all breakpoints
...
Also, visual tweaks.
2021-07-16 00:34:23 -03:00
Fellippe Heitor
b748f7b209
Allows toggling breakpoints while running.
2021-07-16 00:02:56 -03:00
Fellippe Heitor
16b2c82b2f
New Debug menu
...
The IDE now offers to add when the user attempts to set a breakpoint.
2021-07-15 23:57:54 -03:00
Fellippe Heitor
5f3075ec3e
Allows setting breakpoints while running using the mouse
2021-07-15 20:29:33 -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
68eb0b649c
Fixes #172 .
2021-07-15 02:32:03 -03:00
FellippeHeitor
aa3350ff27
Binds F7 to Step Over.
2021-07-15 01:50:48 -03:00
FellippeHeitor
c2192f9340
Display breakpoint indicator when line numbers are hidden ($DEBUG).
2021-07-15 01:36:57 -03:00
FellippeHeitor
f3cd0b08bb
Bypasses $INCLUDE lines ($DEBUG Mode)
2021-07-15 01:14:33 -03:00
FellippeHeitor
af454940e4
Adds TIMER ON control over the debuggee.
2021-07-15 01:13:50 -03:00
FellippeHeitor
ea7c90c6c0
F8 now runs a full line if there are multiple statements. Also:
...
Consistent coloring of breakpoints in the side bar.
Breakpoints are hidden if $DEBUG is removed.
F9 only sets breakpoints if $DEBUG is active.
2021-07-15 00:32:35 -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