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
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
Fellippe Heitor
7e3de309ce
Fixes one more colorization issue
...
Scientific notation, again.
2021-03-19 11:46:52 -03: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
bd0457e068
Merge branch 'development' of https://github.com/QB64Team/qb64 into development
2021-03-10 17:22:56 -03:00
Fellippe Heitor
532ade2d8e
Makes strings.bas $includable by option _explicit projects
2021-03-10 17:22:37 -03: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
Fellippe Heitor
692e28b0da
Indicates (options->display) that window pos isn't stored (lnx).
2021-03-07 11:39:05 -03:00
Luke Ceddia
7ab6b0ffd9
Merge pull request #143 from dkearns/fix-invalid-s-flag-return-code
...
Fixes the exit status for invalid -s args
2021-03-07 23:37:07 +11:00
Doug Kearns
e21a84c170
Fixes the exit status for invalid -s args
2021-03-07 22:54:32 +11:00
Fellippe Heitor
6ada6a475d
Fixes error in contextual menu.
...
Right-clicking a series of high-ascii characters would crash the ide
when right-clicking to open the contextual menu.
2021-03-05 14:38:46 -03:00
Fellippe Heitor
45997e62e4
Changes version number to carry on with patches.
2021-03-05 11:09:42 -03:00
Doug Kearns
7d19a660dd
Updates wiki parser to deal with PageAvailability wiki template
2021-03-06 00:35:19 +11:00
FellippeHeitor
30431161f9
Fixes Out of Memory error in Windows (SUBs dialog)
2021-02-28 15:23:57 -03:00
Fellippe Heitor
f77a643042
Updates help files and version info for release.
2021-02-28 11:47:33 -03:00
Fellippe Heitor
a7bdcfe053
Prevents CONST from being used between SUBs.
2021-02-26 00:51:07 -03:00
Doug Kearns
c506f7f8fe
Improves IDE highlighting of trailing $DYNAMIC/$STATIC metacommands
...
Only one of $DYNAMIC or $STATIC is processed, the last appearing in a
metacommand line, so highlight only that rather than the last appearance
of each.
Improves commmit af2752602f
.
2021-02-23 00:15:13 +11:00
Fellippe Heitor
af2752602f
Indicates visually that only the last metacommand is valid.
...
Since multiple $INCLUDE, $DYNAMIC and $STATIC are valid in a comment
line, but only the last occurrence is valid, the syntax highlighter now
indicates that too.
2021-02-21 12:31:53 -03:00
Fellippe Heitor
716b984e94
Adapts sh to consider the last $include in a line valid.
2021-02-21 11:53:57 -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
774707c584
Properly colorizes 32BIT and 64BIT in $IF blocks.
2021-02-18 19:39:22 -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
8ba61a7b57
Aligns template name with existing ones.
2021-02-17 09:40:39 -03:00
Doug Kearns
32b207b812
Updates wiki parser to deal with Parameters wiki template.
2021-02-17 18:13:08 +11:00
Fellippe Heitor
1272892425
Fixes $LET being incorrectly placed in the IDE while editing.
2021-02-15 21:22:57 -03:00
Fellippe Heitor
339b82d1b0
Reduces width of column Line Count (SUBs dialog)
2021-02-15 20:57:37 -03:00
Fellippe Heitor
3d4d5366bd
Fixes number color not being reset at ESC (Ide Colors box).
2021-02-15 16:16:29 -03:00
Fellippe Heitor
9c3d8c827c
Updates wiki parser to deal with new wiki templates.
2021-02-15 15:54:36 -03:00
Fellippe Heitor
0fa3447003
Hides line numbers BG when editing IDE color scheme.
2021-02-15 14:15:47 -03:00
Fellippe Heitor
6268140512
Improves column flexibility (SUBs dialog)
2021-02-15 13:46:10 -03:00
Fellippe Heitor
5778275cc0
Improves Sub line count (SUBs dialog).
2021-02-15 11:28:32 -03:00
Fellippe Heitor
24aafb4718
Fixes Sub arguments being trimmed prematurely (SUBs box).
2021-02-15 09:40:09 -03:00
Fellippe Heitor
057463104a
Merge branch 'development' of https://github.com/QB64Team/qb64 into development
2021-02-15 04:54:23 -03:00
Fellippe Heitor
9cd5c17a22
Visual improvements to SUBs dialog.
2021-02-15 03:57:38 -03:00
FellippeHeitor
731e9cd0df
Fixes low ASCII characters showing up in Warnings box.
2021-02-14 00:53:14 -03:00
Fellippe Heitor
0ecdc8fa91
Fixes wiki parsing.
...
Some tags were being left untouched.
2021-02-13 14:45:32 -03:00
Fellippe Heitor
b71655d46c
Fixes idesubs$ crashing when cursor is at symbol.
2021-02-13 06:22:14 -03:00
Fellippe Heitor
0a79540ce5
Fixes getWordAtCursor$ crashing at contiguous spaces.
2021-02-12 23:05:32 -03:00
Fellippe Heitor
968d8ad446
Allows Shift+ENTER to work like regular ENTER...
...
...if no special _RGB32() trick is at play.
2021-02-11 21:53:06 -03:00
Fellippe Heitor
ccb9c2f74f
Fine tunes status bar links.
2021-02-10 20:16:44 -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
6f7c97db85
Improves contextual detection of help topic
2021-02-09 23:32:34 -03:00
Fellippe Heitor
7492260746
Fixes warning dialog showing weird characters.
2021-02-09 17:27:40 -03:00
Fellippe Heitor
e5f8aa23ce
Fixes selection of last character onscreen not looking selected.
2021-02-09 16:51:49 -03:00
Fellippe Heitor
35eac42235
Tries harder to find include files for double-clicking
2021-02-09 16:46:34 -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
346b50d80a
Reduces INI-Manager to the bare minimum.
2021-02-07 23:07:56 -03:00
Fellippe Heitor
bada3e0a99
Rewords some messages.
2021-02-07 22:55:12 -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
4411386ac6
Replaces some more wiki garbage before rendering help.
2021-02-06 20:16:51 -03:00
Fellippe Heitor
765472a34d
Adds _LIMIT to Update Help dialog. Updates help files.
2021-02-06 18:51:34 -03:00
Fellippe Heitor
249d0549eb
Fixes highlighting of scientific notation numbers. Again.
2021-02-06 18:27:00 -03:00
Fellippe Heitor
796974c04d
Adds commit number, if available, to error reports.
2021-02-06 15:04:07 -03:00
Fellippe Heitor
baf8e70de4
Tweaks File menu to show more recent files.
...
With links (numbers) to open said recent files.
2021-02-06 05:22:53 -03:00
Fellippe Heitor
63b0bd777a
Shows description of menu items in the status bar.
2021-02-06 03:44:31 -03:00
Fellippe Heitor
87053de3dc
Makes the hotkey to Clear Recent (File menu) unique.
2021-02-06 01:16:54 -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
38ae73e47e
Changes "Disable Syntax Highlighter" to "Syntax Highlighter"
2021-02-05 00:42:28 -03:00
Fellippe Heitor
3395cd2d33
Aligns block closings with their opening lines.
2021-02-05 00:10:04 -03:00
Fellippe Heitor
a6fe260a5e
Adds item in Options menu to disable auto-complete.
...
Fixes IgnoreWarnings not being saved in macOS/Linux.
2021-02-04 23:48:14 -03:00
Fellippe Heitor
70ea149168
Offers to auto-close blocks with Shift+ENTER
2021-02-04 22:21:31 -03:00
Fellippe Heitor
8352a31c72
Fixes Help->Index not showing up the first time.
2021-02-03 20:33:48 -03:00