FellippeHeitor
aff7199253
Fetch storage slot when setting variables.
2021-09-28 00:00:39 -03:00
FellippeHeitor
8079fc3d07
Add ClearMouse
method to ide_methods.bas
...
Allows exiting dialog boxes without stray clicks.
2021-09-27 23:29:59 -03:00
FellippeHeitor
8e09f14e7f
Fix get global/local
for fixed-length strings in UDTs
2021-09-27 23:09:05 -03:00
FellippeHeitor
7413e2fe6f
Adapt CLEAR
to deal with var-length UDT variables.
2021-09-27 22:55:01 -03:00
FellippeHeitor
5c9cc96ca7
Prevent crash when using CLEAR
with var-len string UDTs
...
Still doesn't fix it, but prevents the crash.
Variables won't be cleared with this temporary patch.
2021-09-26 21:06:44 -03:00
FellippeHeitor
64306e4e10
Remove unnecessary REDIM
in SUB increaseUDTArrays
...
A properly formed Git commit subject line should always be able to
complete the following sentence:
- If applied, this commit will...
Do not end the subject line with a period.
Wrap the body at 72 characters.
One day people learn.
Apologies for years of not following the above.
2021-09-25 23:34:59 -03:00
FellippeHeitor
2e32de2615
Dynamically resizes internal UDT arrays. Closes #180 .
2021-09-25 22:27:14 -03:00
FellippeHeitor
edb4d40ffa
Fixes var=function assignment without parameters (recursion).
...
As reported at https://www.qb64.org/forum/index.php?topic=704.msg5775#msg5775
2021-09-25 00:34:55 -03:00
FellippeHeitor
1d638a8399
Auto-set "use custom font" if a new path is entered.
2021-09-23 01:05:58 -03:00
FellippeHeitor
2cf9f0d48e
Adds extra explanation in Language dialog.
...
"(affects the display of TTF fonts set in Options-Display)"
2021-09-23 00:47:41 -03:00
FellippeHeitor
688ab96c34
Minor tweaks to Display Dialog. Closes #177 .
2021-09-23 00:28:43 -03:00
FellippeHeitor
560978434b
Redesigns "Display" dialog to customize cursor size.
2021-09-23 00:10:04 -03:00
FellippeHeitor
5cab1880b5
Uses GetLogicalDrives() in Windows (file dialogs). Closes #183
2021-09-21 02:54:41 -03:00
FellippeHeitor
5f9a58a620
Fixes "Add All" in Watch List (_Bit variables + $NoPrefix).
2021-09-21 02:22:46 -03:00
FellippeHeitor
a6672058ff
Properly deals with _BIT variables when $NoPrefix is active.
2021-09-21 02:14:06 -03:00
FellippeHeitor
dd302b0b5f
Sends focus to debuggee when function INPUT$()
is called.
2021-09-21 01:28:50 -03:00
FellippeHeitor
bb77168127
Properly recovers after an error in DebugMode.
2021-09-20 23:33:38 -03:00
FellippeHeitor
3e498df414
Fixes watching/sending values for _BIT arrays.
2021-09-20 22:04:24 -03:00
FellippeHeitor
f6f8a254a7
Fixes focus switching in Add Watch dialog.
2021-09-20 17:11:37 -03:00
FellippeHeitor
e30f7a1691
Fix CONST failing with anything containing a NOT
2021-09-19 21:22:08 -03:00
FellippeHeitor
42208832f5
Fixes evaluation of valid var/flag names for $LET/$IF
2021-09-19 15:25:39 -03:00
FellippeHeitor
34138cead6
Fixes parsing in TYPE blocks (new AS syntax)
2021-09-19 14:56:16 -03:00
FellippeHeitor
2f33522d27
Indicate in the Watch Panel that a condition was met.
2021-09-18 21:40:06 -03:00
FellippeHeitor
cb050b2c0b
Tries harder to prevent invalid values for watchpoints.
2021-09-18 20:33:57 -03:00
FellippeHeitor
3be8a806f8
Fixes watchpoints for strings
2021-09-18 19:30:55 -03:00
FellippeHeitor
ce16f79f04
Improves visual indication of existing watchpoints.
2021-09-18 16:35:14 -03:00
FellippeHeitor
a67dccae5b
Allows setting watchpoints regardless of scope.
...
Adds "Clear Watchpoint" functionality.
Allows watching more than one array index/element.
2021-09-16 22:49:43 -03:00
FellippeHeitor
833e28aaf3
Removes test print
lines.
2021-09-16 00:40:07 -03:00
FellippeHeitor
926b631f3b
Implements watchpoints.
2021-09-16 00:04:20 -03:00
FellippeHeitor
71c291a7f1
Adjusts case of menu item.
2021-09-15 17:19:08 -03:00
FellippeHeitor
e76041aa3f
New toggle in Debug menu to "Auto-add $Debug metacommand"
2021-09-15 17:15:16 -03:00
Fellippe Heitor
1788a77379
Merge pull request #190 from QB64Team/debug-mode [ci-skip]
...
Debug mode tweaks
2021-09-11 23:26:14 -03:00
FellippeHeitor
3d5f115eba
Improves handling of _BIT variables ($Debug). Allows setting values.
2021-09-11 23:06:05 -03:00
FellippeHeitor
27c84393ec
Allows variables up to _BIT * 64
2021-09-11 23:05:26 -03:00
FellippeHeitor
619a8fb603
Highlights line number with execution pointer ($debug).
2021-09-11 23:03:11 -03:00
FellippeHeitor
9a963b70f8
Fixes doubleClickThreshold
in Watch List dialog.
2021-09-11 20:05:04 -03:00
FellippeHeitor
883cfcb525
Display warning when $Checking:Off is used with $Debug
2021-09-11 18:23:31 -03:00
FellippeHeitor
296a46b33c
Fixes PUT
with variable-length strings in UDTs. Closes #133
2021-09-11 00:52:28 -03:00
FellippeHeitor
86984024bf
Saves color schemes individually for each instance of the IDE.
2021-09-10 21:26:04 -03:00
FellippeHeitor
8d58dff862
Shows <multiple values>
at Watch list dialog for UDTs.
2021-09-09 21:29:34 -03:00
FellippeHeitor
17a116b19d
Adapts "Send Value" to work with multiple array dimensions.
2021-09-09 20:34:04 -03:00
FellippeHeitor
908a5b179f
Removes fix046$ from variable names before displaying them.
2021-09-09 00:26:51 -03:00
FellippeHeitor
133805181e
Fixes vscrollbar not scrolling in Watch Panel.
2021-09-09 00:00:02 -03:00
FellippeHeitor
e561ab9002
Fixes vscrollbar not showing in Watch Panel.
2021-09-08 23:41:13 -03:00
FellippeHeitor
3f64648fc8
Fixes Watch Panel items alignment.
2021-09-08 23:24:10 -03:00
FellippeHeitor
a37e3801d8
Adds support to watching arrays with multiple dimensions.
2021-09-08 22:48:03 -03:00
FellippeHeitor
6f77de8c2a
Fixes mouse button 'sticking' in Change UDT dialog.
2021-08-30 01:42:56 -03:00
FellippeHeitor
7c1f83f4f1
Fixes Up One Level
button in Change UDT dialog.
2021-08-30 01:30:47 -03:00
FellippeHeitor
d62e307126
Implements setting value of arrays/UDTs.
2021-08-30 00:47:30 -03:00
FellippeHeitor
da1344221f
Fixes detecting if it's a local/global var before sending value.
2021-08-29 19:32:32 -03:00
FellippeHeitor
704b781cd2
Properly retrives STRING storage (Watch List dialog)
2021-08-28 19:55:43 -03:00
FellippeHeitor
276536d467
Merges set address
and set string address
.
...
Next step is making arrays and UDTs work.
2021-08-28 16:54:16 -03:00
Fellippe Heitor
a1a6fa6edb
Fixes watch panel not showing on the mac.
...
Wonder how it was still showing in Windows tho... mysteries.
2021-08-26 18:26:48 -03:00
FellippeHeitor
b8d50b09d2
Prevents errors with arrays in SUBs.
2021-08-25 21:34:36 -03:00
FellippeHeitor
3bcad3c611
Resets Watch Panel data before a new run.
2021-08-25 00:08:52 -03:00
FellippeHeitor
13a9d4e8be
Fixes bug watching variable-length strings in UDTs.
2021-08-24 23:48:22 -03:00
FellippeHeitor
8d479ee8ea
Hopefully fixes the mysterious missing vwatchlabel bug.
2021-08-24 23:33:10 -03:00
FellippeHeitor
f7e53e9166
Fixes "Add All" adding UDTs in Watch List dialog.
2021-08-24 14:46:57 -03:00
FellippeHeitor
2ccfae416a
Sets focus to the debuggee when SLEEP is used.
...
Properly sizes Watch List dialog when there are "hidden" variables in includes.
2021-08-24 13:23:01 -03:00
FellippeHeitor
e1c148abc1
Fixes watch list printing beyond the panel.
2021-08-24 12:04:51 -03:00
FellippeHeitor
28661bbf36
Adds minimal support for watching _BIT variables.
2021-08-24 03:53:39 -03:00
FellippeHeitor
ec295db7f5
Fixes crash readding arrays of UDTs to Watch List during execution.
2021-08-24 03:05:42 -03:00
FellippeHeitor
38fe93a6cf
Adds support for watching multiple indexes arrays of UDTs.
...
Not multiple dimensions yet tho.
2021-08-24 02:13:42 -03:00
FellippeHeitor
62f3496c36
Adds ability to fetch data from arrays of UDTs.
2021-08-23 18:02:22 -03:00
FellippeHeitor
687276bccd
Adds support to STRING elements in UDTs.
2021-08-22 22:47:48 -03:00
FellippeHeitor
bf9ab3458c
Allows outputting the watch list to the console.
2021-08-22 11:49:48 -03:00
FellippeHeitor
9423080f6b
Allows watching one element of UDTs (no strings yet).
2021-08-22 00:12:01 -03:00
FellippeHeitor
1049d9db16
Fixes $NOPREFIX mode changing MEM to _MEM as a sub parameter.
2021-08-21 20:09:06 -03:00
FellippeHeitor
82d4de881f
Keeps array index selection made before entering Debug mode.
2021-08-21 17:39:41 -03:00
FellippeHeitor
18b5b3090f
Reverts using isString
as it's reserved for the compiler.
2021-08-20 19:11:06 -03:00
FellippeHeitor
2fc7380fa6
Begins implementing ways to watch UDTs.
...
Still in a non-working state.
2021-08-20 16:10:28 -03:00
FellippeHeitor
d29a6657cc
Encloses string data within quotation marks (Watch Panel).
2021-08-19 01:28:33 -03:00
FellippeHeitor
087c320631
Encloses string data within quotation marks (Watch List dialog).
2021-08-19 01:20:52 -03:00
FellippeHeitor
34950c80ea
Visual tweaks to dialogs. Show received array data in Watch List box.
2021-08-19 01:09:18 -03:00
FellippeHeitor
e311e2ee35
Optimizes $Debug internal protocol.
...
Less back-and-forth of commands to get variable data. Moves processing/address fetching almost entirely to `vwatch.bm`.
2021-08-19 01:05:47 -03:00
FellippeHeitor
70b6f7b2b9
Implements watching variable and fixed-length strings.
2021-08-17 02:15:12 -03:00
FellippeHeitor
f279839a7b
Reduces number of commands to get a variable's value.
2021-08-17 00:47:13 -03:00
FellippeHeitor
eeff3207d6
Preliminary work to watch arrays (native types).
...
Strings not working yet.
2021-08-16 01:32:07 -03:00
FellippeHeitor
c2ce0df83f
Allows searching for variables using multiple terms (watch list).
2021-08-15 22:53:54 -03:00
FellippeHeitor
1b5c21817b
Allows jumping to the line that called a procedure (call stack).
2021-08-15 21:16:26 -03:00
FellippeHeitor
3c775df2a4
Fixes Watch List coming out incomplete when a filter was active.
2021-08-15 20:21:06 -03:00
FellippeHeitor
e728e28e3b
Fixes next line indicator not showing with line numbers turned off.
2021-08-15 20:02:37 -03:00
FellippeHeitor
770fe0d7bc
Version bump to 1.6.
2021-08-15 15:55:07 -03:00
FellippeHeitor
ecfb439ff0
Changes communication protocol so it doesn't rely on end markers.
...
The message length precedes the message, so no <END> marker is required anymore.
2021-08-15 13:56:22 -03:00
FellippeHeitor
3f80c54e7d
Mere fix of case of array name.
2021-08-15 02:32:40 -03:00
FellippeHeitor
38e0ec37d2
Fixes case adjustment of array names in UBOUND/LBOUND calls.
...
FINALLY! <3
2021-08-15 02:30:26 -03:00
FellippeHeitor
1cbc842a1c
Mere spacing.
2021-08-15 02:28:11 -03:00
FellippeHeitor
083648e617
Makes "Name already in use" error more descriptive.
2021-08-15 00:46:12 -03:00
FellippeHeitor
bfed027740
Minor visual tweaks.
2021-08-14 22:30:40 -03:00
FellippeHeitor
a15d6622d3
Darkens screen while waiting for INPUT/LINE INPUT ($DEBUG).
2021-08-14 22:11:11 -03:00
FellippeHeitor
2af2f4e2a1
Improves handling/signaling of INPUT/LINE INPUT in $DEBUG mode.
2021-08-14 21:28:21 -03:00
FellippeHeitor
d2cf042c45
Makes vwatch.bm
try harder to send its own hWnd.
2021-08-14 21:27:57 -03:00
FellippeHeitor
f7fe97390a
Changes resize handle on vWatch panel to chr$(254) again.
2021-08-14 15:26:57 -03:00
FellippeHeitor
ea09964163
Properly indicates that compilation with F7/8 has been requested.
2021-08-14 15:24:10 -03:00
FellippeHeitor
5756e31371
Requests only elements, shows the variable preset.
2021-08-14 11:36:26 -03:00
FellippeHeitor
b4a7ca03c4
Display internal error when trying to watch an invalid UDT.
2021-08-13 11:51:52 -03:00
FellippeHeitor
4fed87994b
New prototype for manually entering UDT elements to watch.
...
Allows user to type element to watch; uses `udtreference()` to fetch the element offset to access.
Non-functional yet, just shows a messagebox with the result.
Looks promising.
2021-08-13 10:21:15 -03:00
FellippeHeitor
9c15901b23
Store variables' id in usedVariableList()
.
2021-08-13 00:52:09 -03:00
FellippeHeitor
cca1593f79
Switches focus to IDE automatically when breakpoint is reached.
...
Windows-only.
2021-08-12 23:00:43 -03:00
FellippeHeitor
f9ab61ad51
Improves insertion of $Debug automatically (F7/F8).
2021-08-11 01:35:29 -03:00
FellippeHeitor
670dfe6da8
Makes "wait for compilation" message a status message.
2021-08-11 00:39:55 -03:00
FellippeHeitor
2e3f987c8e
Prototype of dialog to select UDT elements.
2021-08-09 00:57:32 -03:00
FellippeHeitor
934e555cf5
Fixes behavior of repeat search shortcuts.
2021-08-09 00:18:48 -03:00
FellippeHeitor
757ee19f2b
Allows Ctrl+\ to be used as a shortcut to repeat search.
2021-08-08 13:31:16 -03:00
FellippeHeitor
4ce6e3017c
Reinstates legacy clipboard shortcuts in dialogs.
...
Ctrl+Insert, Shift+Insert and Shift+Delete as alternatives to Ctrl+C, Ctrl+V and Ctrl+X in dialogs.
2021-08-08 13:16:11 -03:00
FellippeHeitor
66298347a3
Remove (brackets) from around type names in Warnings box.
2021-08-07 19:26:34 -03:00
FellippeHeitor
17bb0ffaca
Prevents "Purge C++ libraries" from triggering recompilation.
2021-08-07 19:26:00 -03:00
FellippeHeitor
05fb2d44a2
Prevents users from creating self-referencing TYPE
blocks.
2021-08-07 18:11:57 -03:00
FellippeHeitor
da76d340c9
Improves on management of watch list (arrays).
...
`variableWatchList$` now contains:
- MKL$(length of the longest var name)
- MKL$(index in usedVariableList) + MKL$(array index) (= 0 if not an array)
- ...
2021-08-07 01:38:42 -03:00
FellippeHeitor
8e69b49304
Fixes string arrays not being added to variable list.
2021-08-06 23:42:14 -03:00
FellippeHeitor
08954e0039
Prevents toggling items with accidental double-clicks (Watch List).
2021-08-06 23:11:17 -03:00
FellippeHeitor
445f192848
Simplifies array range selection (Watch List).
2021-08-06 22:59:08 -03:00
FellippeHeitor
faf6b2dcdd
Begins work to fetch array indexes.
2021-08-05 01:56:19 -03:00
FellippeHeitor
e23f7f6905
Aligns array types properly in Watch Llist dialog.
2021-08-05 01:51:20 -03:00
FellippeHeitor
4df2ada743
Adds interface to select which array indexes to watch.
2021-08-05 01:27:57 -03:00
FellippeHeitor
600fa69786
Allows setting fixed-length strings from the IDE.
...
Displaying them was buggy too, due to them having CHR$(0) before being initialized.
2021-08-03 15:14:18 -03:00
FellippeHeitor
e737219d75
Allows $Debug to work ok with $NoPrefix data types.
2021-08-03 04:18:42 -03:00
FellippeHeitor
c57eab997e
Allows sending variable data even before reading addresses.
2021-08-03 04:08:58 -03:00
FellippeHeitor
359aa7ab2d
Merge branch 'var-export' of https://github.com/QB64Team/qb64 into var-export
2021-08-03 00:37:45 -03:00
FellippeHeitor
01a3c56685
Allows setting any length string variables from the IDE.
2021-08-03 00:36:21 -03:00
Fellippe Heitor
542c72fc2c
Prevents disconnection on macOS
...
Need to check if in Linux it was disconnecting randomly too.
2021-08-02 15:00:00 -03:00
FellippeHeitor
e84dffbc27
Allows both F7 and F8 to start paused.
2021-08-01 20:28:03 -03:00
FellippeHeitor
1573e2aa47
Minor visual tweaks to Watch List dialog.
2021-08-01 20:09:44 -03:00
FellippeHeitor
b49d2e7326
Fixes "set address"
2021-08-01 19:15:37 -03:00
FellippeHeitor
cad9e407d8
First attempt at "set address"
. Nonworking state.
2021-08-01 18:14:14 -03:00
FellippeHeitor
00baa348e0
Allows CTRL+C to copy the variable watch list to clipboard.
2021-08-01 13:27:40 -03:00
FellippeHeitor
16841c56f1
Clears most recent value of variables when out of scope.
2021-08-01 12:08:16 -03:00
FellippeHeitor
f1eb6787a9
Allows filtering variables in Watch List dialog.
...
Filter works for name, type and scope.
Also: Begins work to allow sending variable data.
2021-08-01 03:35:48 -03:00
FellippeHeitor
fdf332b3e5
Checks whether execution is in a sub/function before F6 acts.
2021-08-01 01:51:51 -03:00
FellippeHeitor
f682815ca3
Fixes status word wrapper error.
2021-08-01 01:23:53 -03:00
FellippeHeitor
45205f91ec
Removes unused variable in ide_global.bas
2021-08-01 01:09:57 -03:00
FellippeHeitor
f527d9058b
Reworks some internals of listbox controls (dialogs).
2021-08-01 00:56:29 -03:00
FellippeHeitor
c0ed807aa6
Show current sub name in Watch List.
2021-07-31 20:07:24 -03:00
FellippeHeitor
5e4c3baa4b
Adds Copy button to call stack log dialog.
2021-07-31 19:47:12 -03:00
FellippeHeitor
304a33f404
Fixes loading file names beginning with numbers.
2021-07-31 19:34:32 -03:00
FellippeHeitor
6451133f3c
Prevents showing variable list before compilation ends.
...
Also: rewords message box titles.
2021-07-31 19:12:26 -03:00
FellippeHeitor
56a61321d1
Adds word-wrapping to status area error messages.
2021-07-31 19:11:53 -03:00
FellippeHeitor
0f82c6320f
Detects when the debuggee closes (connection lost).
2021-07-31 17:44:58 -03:00
FellippeHeitor
96c7c08b22
Swaps F7 and F8.
2021-07-31 03:11:45 -03:00
FellippeHeitor
f56f85323a
Prevents terminal from showing up when launching wiki.
2021-07-31 02:53:01 -03:00
FellippeHeitor
a1ca1f4746
Fixes path changing routine in file dialog.
2021-07-31 02:28:56 -03:00
FellippeHeitor
adf4d50f6e
Fixes issue causing problems with multiple instances of the IDE.
...
For future generations: STATIC array in a SUB/FUNCTION has something broken. So broken it breaks other stuff with it. Requires investigation.
2021-07-30 19:30:06 -03:00
FellippeHeitor
755bc2f260
Finishes reverting b8e6d29959
2021-07-30 14:37:56 -03:00
Fellippe Heitor
c766fbc989
Update qb64.bas
...
Keeps IDE errors in log.
2021-07-30 12:04:04 -03:00
Fellippe Heitor
3480d74d32
Reduces preventable errors (IDE).
2021-07-30 12:03:49 -03:00
Luke Ceddia
b8e6d29959
Use _cv/_mk for passing _offsets
2021-07-31 00:46:10 +10:00
Fellippe Heitor
2afe20c5b7
Fixes call to System
breaking $DEBUG mode.
2021-07-29 18:32:04 -03:00
Fellippe Heitor
5fe0902c31
Prevents adding debug code into includes.
2021-07-29 15:08:37 -03:00
Fellippe Heitor
cade46d545
Prevents Watch List from showing before compilation ends
2021-07-29 15:08:04 -03:00
Fellippe Heitor
132cae7f72
Requests variable values as soon as they're added to watch list.
2021-07-29 12:24:50 -03:00
Fellippe Heitor
f816013e8d
Adjusts status message colors.
2021-07-29 12:07:31 -03:00
Fellippe Heitor
9ad93c183f
More work on menus.
...
Debug menu gets a `Purge` option for C++ libraries and the Advanced
dialog gets moved there too.
2021-07-29 02:34:54 -03:00
Fellippe Heitor
f140d3e830
Reworks dialogs to take up less screen space.
...
Dialogs that present lists were being sized to take up the whole IDE area. This makes them more content-aware.
2021-07-29 01:47:51 -03:00
Fellippe Heitor
9a2922fb67
Reorganizes some Debug-related menu items.
2021-07-29 01:46:34 -03:00
Fellippe Heitor
45a2d443b3
Fixes Recent Files
dialog (*nix)
2021-07-29 01:44:00 -03:00
Fellippe Heitor
f512ace544
Missing quotes.
2021-07-28 23:44:01 -03:00
Fellippe Heitor
345991a08c
Missing quote.
2021-07-28 23:38:51 -03:00
Fellippe Heitor
896ac750fd
Bottom panel is now interactive/adaptive to window Width
2021-07-28 19:39:45 -03:00
Fellippe Heitor
a2ca498e96
Fixes <nowiki>
tags leaking in Help pages.
2021-07-28 18:12:34 -03:00
Fellippe Heitor
5495e4d3ba
Resets variable values from previous run.
2021-07-28 18:00:19 -03:00
Fellippe Heitor
f086aaec95
Allows inspecting _offset variables (watch list).
2021-07-28 14:36:30 -03:00
Fellippe Heitor
93308fef39
One less error in the IDE (SUB idegotoline
)
2021-07-28 14:28:41 -03:00
Fellippe Heitor
7e5710a364
Allows _MK$/_CV to deal with _OFFSET
...
_UNSIGNED _OFFSET too.
2021-07-28 14:26:32 -03:00
Fellippe Heitor
fa96640624
Adjusts " View on Wiki " link.
...
Fixes launching of urls with some special characters.
2021-07-28 13:47:18 -03:00
Fellippe Heitor
8de0ca17f6
Improves on scroll bar behavior (watch panel)
2021-07-28 12:07:02 -03:00
Fellippe Heitor
e2e8ea16ea
Adjusts wiki linking feature (help panel).
2021-07-28 02:46:05 -03:00
FellippeHeitor
6773a82924
Adds "View on Wiki" button to help panel.
2021-07-28 02:25:27 -03:00
FellippeHeitor
bad61fd840
Adds horizontal scroll bar to Watch List panel.
2021-07-28 01:45:06 -03:00
FellippeHeitor
c3c2a7e374
Adds new red "x" button to close the Help Panel.
2021-07-28 01:44:19 -03:00
FellippeHeitor
5829744cc4
Adds vertical scrollbar to Watch List panel.
2021-07-28 00:23:35 -03:00
FellippeHeitor
014add19d7
Adjusts resizing, dragging and scrolling (mousewheel) of var panel.
2021-07-27 19:15:48 -03:00
FellippeHeitor
023518ea21
Adds variable watch panel.
2021-07-27 17:50:23 -03:00
FellippeHeitor
6a04700026
F4 now pauses execution before showing the var watch dialog.
2021-07-27 13:40:20 -03:00
FellippeHeitor
5e2f40c4f1
Ignores local variable requests when out of scope.
2021-07-27 12:18:50 -03:00
FellippeHeitor
96ce163800
Mere code auto-layout.
2021-07-27 08:52:13 -03:00
Luke Ceddia
7e4a5b9799
Add support for inspecting string variables
2021-07-27 17:09:28 +10:00
FellippeHeitor
a2a49cef01
Allows local variables to be watched (still a bit broken).
2021-07-27 00:28:03 -03:00
FellippeHeitor
426b26b002
Watches INTEGER, UINTEGER, LONG, ULONG, SINGLE, DOUBLE variables.
...
Only in the main module for now.
2021-07-26 23:56:48 -03:00
FellippeHeitor
84b5bb3055
Wishful attempt at getting var export to work. Failed.
2021-07-26 17:34:44 -03:00
FellippeHeitor
cedff4ef5a
Groundwork for variable requesting from the IDE (nonworking state).
...
The _MEMGET part needs extra work.
m is of type _MEM, but it's never assigned - does that have something to do with it?
Should we have something on the C++ side to access those memory blocks?
2021-07-26 14:52:14 -03:00
Fellippe Heitor
3523208b3c
Fixes navigation (file dialog)
2021-07-25 22:20:28 -03:00
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