1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-06 04:40:23 +00:00
Commit graph

886 commits

Author SHA1 Message Date
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
FellippeHeitor b5cdf1590e Allows $DEBUG to be added anywhere in the code. 2021-07-14 20:34:47 -03:00
FellippeHeitor ca11243112 Fixes "double pause" in $DEBUG mode.
When a breakpoint was reached, it'd be necessary to hit F8 twice to step into the next line.
2021-07-14 00:08:20 -03:00
FellippeHeitor 3e90e7ff45 Improves path resolution for $DEBUG mode. 2021-07-13 21:19:53 -03:00
Fellippe Heitor 6fed9ea250 Improves $DEBUG mode connection and operation. 2021-07-13 18:06:32 -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 88ab0369c0 Restores cursor position when navigating with QuickNav. 2021-07-13 00:40:11 -03:00
Fellippe Heitor f204d5685b Attempts to become host when $DEBUG is first detected.
Instead of waiting for F5.
2021-07-12 12:54:23 -03:00
Fellippe Heitor 5eb034eeef Tweaks to connection between IDE and program.
Also: makes it compatible with Option _Explicit
2021-07-12 12:45:05 -03:00
Fellippe Heitor a472d1aab9 Fixes not being able to add lines to a program. 2021-07-11 22:03:55 -03: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 89f695ea0b Makes Status bar command reference colorized 2021-06-23 14:03:40 -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 fa7ad406f6 Prevents () in comments after SUBs from being displayed in Subs Dialog. 2021-05-23 12:20:34 -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