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

251 commits

Author SHA1 Message Date
Luke Ceddia 8238feba75 Squash annoying message from openal on quit 2017-08-11 21:47:05 +10:00
Luke Ceddia 2089a95b8b Separate left/right audio channels for stereo audio files.
No _SNDRAW or PLAY yet. Also removed need for sound capability strings.
2017-08-10 22:05:16 +10:00
FellippeHeitor b3afefe0dc Adds the ability to show contextual help (syntax) for SUB/FUNCTIONs. 2017-08-04 10:59:11 -03:00
SteveMcNeill dc22c6e5a8 Print Output Simplification
Minor change to simplify and clean up the output which QB64 creates with
PRINT statements with multiple print segments such as PRINT "A"; "B";
"C".
2017-08-02 21:40:32 -04:00
SteveMcNeill 78d4b607bd Minor change to mem structure
Change to mem.TYPE from LONG variable type to OFFSET.  This prevents
4-bytes padding from throwing off values for mem.ELEMENTSIZE and
mem.IMAGE on 64-bit systems.

Patch should work on Mac, Linux, and Windows; both 32-bit and 64-bit
versions, giving the correct results for mem.ELEMENTSIZE and mem.IMAGE
from now on.
2017-08-02 01:00:01 -04:00
FellippeHeitor 47437d28d0 Update version.bas
Build number update following commit b75eed2
2017-07-24 15:54:21 -03:00
FellippeHeitor f01d7252c2 Build number update (following changes introduced in cf99f38). 2017-06-28 22:48:47 -03:00
FellippeHeitor cf99f38bcf Add _CONTINUE, to jump to the end of FOR..NEXT/DO..LOOP/WHILE..WEND blocks. 2017-06-28 22:47:17 -03:00
FellippeHeitor fa75937aad Build number update (following changes introduced in 4a950c7). 2017-05-22 11:34:01 -03:00
FellippeHeitor 4a950c7c94 Implements multiple temp folders for Linux/macOS. 2017-05-18 01:08:06 -03:00
FellippeHeitor 60e4054aa5 Double-clicking on an $INCLUDE statement opens the file in a new window. 2017-05-14 23:10:47 -03:00
FellippeHeitor 0b9f507565 Add "Web" as a valid key for $VERSIONINFO 2017-04-29 17:41:04 -03:00
FellippeHeitor 8d961597d9 Implements $VERSIONINFO metacommand.
Allows embedding meta information on the final binary (Windows only).
2017-04-29 04:09:20 -03:00
FellippeHeitor d3fd0be2a4 [minor] Fix the status message for $EXEICON. 2017-04-29 00:34:16 -03:00
Luke Ceddia 380c7bc15e Restore SUB/FUNCTION sorting 2017-02-14 09:27:49 +11:00
FellippeHeitor 665dd67641 Remove SUB sorting in the SUBs dialog. 2017-01-20 22:56:50 -02:00
Luke Ceddia 2d065c3681 Add files for building via Travis 2016-11-09 15:23:02 +11:00
Luke Ceddia e3e1bde227 Update Buildnum$ 2016-10-10 23:21:02 +11:00
Galleondragon bb46b6d75c Updated version number to 1.1 2016-09-10 17:19:49 -07:00
FellippeHeitor b9ff7ce9b7 Proper embedding of qb64.ico into the Windows binary.
Changes made to the setup batch file used internally.
2016-09-04 12:12:30 -03:00
Luke Ceddia 01a697689b Revert "Add QB64's icon to the Windows binary."
This reverts commit cca11e8f90.

This and previous reverts remove ICON-related changes, which were
simply too questionable (in stability terms) this close to a planned
release.
2016-09-04 23:31:28 +10:00
Luke Ceddia 9a0bc93473 Revert "Make $EXEICON errors only a warning when compiling via command line."
This reverts commit 6ac4f79294.
2016-09-04 23:30:59 +10:00
Luke Ceddia 2655a35b3c Revert "Bring back the $EXEICON for Windows binaries."
This reverts commit 2e2a3de2be.
2016-09-04 23:30:50 +10:00
FellippeHeitor 2e2a3de2be Bring back the $EXEICON for Windows binaries. 2016-09-03 14:13:34 -03:00
FellippeHeitor 6ac4f79294 Make $EXEICON errors only a warning when compiling via command line. 2016-09-03 08:46:22 -03:00
FellippeHeitor cca11e8f90 Add QB64's icon to the Windows binary. 2016-09-03 00:53:21 -03:00
FellippeHeitor b4d71085bd BuildNum$ Update. 2016-09-01 23:43:11 -03:00
FellippeHeitor f829b4b640 Temporary remedy for confusing error messages after internal errors.
Bringing back the old "Compiler error (check for syntax errors)" message.
2016-09-01 23:37:37 -03:00
FellippeHeitor e6425a5f11 Give proper error message when 'internal' folder can't be found. 2016-09-01 21:38:24 -03:00
FellippeHeitor d93a2812bf Fix OPTION _EXPLICIT ignoring variables created with SHARED in SUBs.
Also:
- When a "variable not defined" error is triggered, the expected type is now also reported.
2016-08-27 15:09:15 -03:00
FellippeHeitor 366636e584 Fix to precompiler parser deleting $LET statements in SUBs. 2016-08-24 09:08:42 -03:00
FellippeHeitor 1146ca18bd Minor tweak to F1 key behavior.
F1 for contextual help previously required the cursor to be inside the keyword. Now it can be to the right of the word, just like in QB4.5.
2016-08-20 00:17:07 -03:00
FellippeHeitor 51b6fda556 Improved Backspace behavior (deletes a whole word at a time with CTRL)
Windows and Mac only.

Also: Improved behavior of Delete key when joining lines.
2016-08-18 23:45:43 -03:00
FellippeHeitor 26a6c94f63 Tweaks to $EXEICON implementation
No error message if not Windows, proper error message if icon.o can't be generated.
2016-08-18 07:25:56 -03:00
FellippeHeitor 127c4acd88 Add $EXEICON, which allows to embed an icon in the exe (Windows only).
Also:
- Revamp _ICON so it'll use the embed icon if it's called without parameters. The default QB64 icon is still used otherwise.
- Fix "Creating .EXE..." being printed in the wrong coordinates (IDE)
- Fix the new error message (when Debug is <> 0) so it'll show properly when compiling with -x.
2016-08-18 01:12:08 -03:00
Luke Ceddia 3f3016da6d Make DarkenFGBG a function so it gets treated as an array when IDE support is not compiled in. 2016-08-15 20:58:11 +10:00
Luke Ceddia a6ad741acf Fix scroll wheel on Linux (again). 2016-08-13 00:16:56 +10:00
Luke Ceddia e5226905bc Update buildnum$ 2016-08-12 12:14:14 +10:00
Luke Ceddia de14c256d9 When Debug is set, any QB errors will now trigger a more helpful error handler 2016-08-12 11:59:11 +10:00
Luke Ceddia 3a0c8ea521 Stop ide() throwing a silent IFC on startup 2016-08-11 21:41:40 +10:00
Luke Ceddia fc05f7d925 Fix parsing of corner-case negative exponents, such as 1-(1+r) ^ -y 2016-08-11 21:40:23 +10:00
FellippeHeitor 2576cbc7f4 Fix incorrect colorization of lines ending with '_
An underscore in the end of a line was being considered as a multiline indicator even if it was in a comment. That's fixed now.
2016-08-11 01:15:15 -03:00
Luke Ceddia b17fda7a61 Stop STATIC arrays in subroutines from segfaulting on Linux 2016-08-10 23:44:27 +10:00
FellippeHeitor 4bec88a288 Update BuildNum$
Matching build num update to the latest common.cpp alterations.
2016-08-07 21:13:57 -03:00
Luke Ceddia 84e542ef32 Fix evaluation of some boolean conditionals
Commit 7855219 introduced a regression which caused some IF
statements involving boolean operators and strings to
give a C++ compilation error.
2016-08-03 17:18:20 +10:00
FellippeHeitor 3045f6d7f5 Add preset color schemes and ability to create user defined schemes. 2016-08-02 03:17:15 -03:00
FellippeHeitor 073ab7e790 Fix stubborn textfield not letting you edit font size (Display dialog). 2016-07-31 20:36:34 -03:00
FellippeHeitor 2e89bed958 BuildNum$ update 2016-07-31 17:39:56 -03:00
FellippeHeitor 58199f7c22 Implements Bracket Highlighting
When the cursor is on a an open "(" or closing ")" bracket, the matching pair, to the left or right, will be highlighted (as seen in modern IDEs, like https://blogs.msdn.microsoft.com/zainnab/2010/09/07/automatic-delimiter-highlighting/)

Also:
- Overall visual adjustments.
- Improved IDE Colors dialog (Options menu), which includes an option to disable bracket highlighting.
- Adds Ctrl+S as a shortcut for File->Save.
- Displays an * on the filename in the title bar below the menu bar when the source has been edited.
- Fixes an old bug that would color strings incorrectly when the source view was scrolled to the right.
- Enables block indent functionality in the Edit menu even when autoindent is on.
- Allows the View SUBs dialog (F2) to be invoked while focus is on the quick search bar.
2016-07-31 17:36:14 -03:00
FellippeHeitor df50672e21 Mere indent/auto-format. No actual code change. 2016-07-23 21:26:06 -03:00
FellippeHeitor a8d200164e Prevent whole-word selection to be triggered when selecting multilines. 2016-07-20 01:08:25 -03:00
FellippeHeitor b29c90f293 Minor fix to whole word selection (double-click).
Variable wholeword.select failed to be reset properly before.
2016-07-20 00:25:42 -03:00
FellippeHeitor 01d3e06d73 Additional tweaks to whole-word selections (double-click + drag). 2016-07-20 00:07:47 -03:00
FellippeHeitor b8fa2ba18d BuildNum$ update 2016-07-19 20:46:21 -03:00
FellippeHeitor 1806d2ccbc Cancel selection after window is resized. 2016-07-19 19:45:54 -03:00
FellippeHeitor 637e524be8 Expand double-click whole word selection.
Double-click a word then drag left or right to keep selecting word for word.
2016-07-19 19:34:55 -03:00
FellippeHeitor a7a13b52ee Fix for double-click whole word selection while compiling. 2016-07-19 18:10:58 -03:00
FellippeHeitor a409f40826 Cosmetic: indicate subwindow focus (main, find or help). 2016-07-19 03:04:08 -03:00
FellippeHeitor a65a0f42f8 Double-click on code to select a whole word at once. 2016-07-19 02:03:33 -03:00
FellippeHeitor cedd2c6a47 Replace _KEYCLEAR so that script setup will work on OS X.
Probably for Linux too.
2016-07-18 12:03:29 -03:00
FellippeHeitor 41937222b5 Buildnum$ update. 2016-07-17 22:06:44 -03:00
FellippeHeitor c3cb1acae9 Darken all IDE colors while compiling or running attached. 2016-07-17 20:12:59 -03:00
FellippeHeitor c00c92e4a2 Fix to ignore input while the IDE is waiting for execution to end.
Previously, if the IDE had focus while a compiled program was being run (F5), any input on the window would later be processed, messing up the source code sometimes. That's been fixed.
2016-07-17 17:41:30 -03:00
FellippeHeitor a3c4bc4336 Darken the FG color too (while compiling with g++). 2016-07-17 17:40:10 -03:00
FellippeHeitor 94d1442060 Expand block indentation with TAB/Shift+TAB.
Block indentation is now allowed even with auto-indentation is on. A bit useless at first, as the IDE will override any custom indentation attempt while ideautoindent is on, but at least now TAB doesn't inadvertedly delete selection contents anymore.
2016-07-17 17:23:42 -03:00
FellippeHeitor 3020b7b631 Improved cursor behavior.
Expand cursor behavior to work even when auto layout/indentation are active, so that edition feels more natural.

Also:
- Improved cursor behavior when using backspace to collapse a line into the previous one (check out code comments for easier understanding).
2016-07-17 17:21:08 -03:00
FellippeHeitor 99e0b539af Cosmetic: Darken the interface while G++ is being run.
Uses _PALETTECOLOR to change the background of the IDE to a darker shade while external compilation is taking place, to give a sense of temporary unavailability.
2016-07-17 17:17:51 -03:00
FellippeHeitor 19ab48caec Add Ctrl+G as a shortcut to "Go to line". 2016-07-09 15:30:10 -03:00
FellippeHeitor ef791afcb6 Make use of _INCLERRORFILE$ for more meaningful error messages.
Also:
- Improved messagebox (allows multiline messages with CHR$(10) terminated lines.
- Fixed a minor bug that could be triggered by right-clicking a selection that contained only sigils.
2016-07-09 15:04:42 -03:00
FellippeHeitor 90923af3db Add _INCLERRORFILE$, which reports the included file that last errored.
Also:
Change qb64.bas to produce C code that reports INCLUDE file names.
2016-07-08 22:48:00 -03:00
FellippeHeitor c6b05376d4 Minor rewording to command line help 2016-07-02 21:24:22 -03:00
Fellippe Heitor 4550c333b7 Add command line help (-?, /?, -h or -help) 2016-07-02 16:25:21 -03:00
Fellippe Heitor 2f832cd15b Show selection length on the status bar 2016-07-02 03:48:58 -03:00
FellippeHeitor 240814c6cc Fix proper detection of output executable being run. 2016-07-02 02:50:43 -03:00
FellippeHeitor bad8133d16 Command line improvements.
- Add -e for compiling with OPTION _EXPLICIT activated from the command line - even if the source file doesn't have the directive.
- Add -o for specifying a different output executable file name.
- More flexible syntax, as switches can come after the file name, making the following acceptable: qb64 filename.bas -x -e -o myprog.exe
2016-07-02 01:32:03 -03:00
FellippeHeitor 8fa49e0411 BuildNum$ update. 2016-06-30 23:41:44 -03:00
FellippeHeitor e70f18178f Broader detection of OPTION _EXPLICIT in code.
- No two OPTION _EXPLICIT can be entered
- You can OPTION _EXPLICIT: DO OTHER STUFF 'and comment on the same line
- Extreme cases of bad formatting like OPTION        _EXPLICIT are fine.
2016-06-30 23:40:46 -03:00
FellippeHeitor 353838500e BuildNum$ update. 2016-06-30 05:25:45 -03:00
FellippeHeitor 7bb17d3d8d OPTION _EXPLICIT errors report the variable name.
Also:
Allow comments and empty lines before OPTION _EXPLICIT
2016-06-30 05:24:22 -03:00
FellippeHeitor aec3d3b4dd Fix for relative paths (./ or .\) in LIBRARY declarations.
These were having issues when compiling via command line.
2016-06-30 03:58:20 -03:00
FellippeHeitor b175c3f3b4 BuildNum$ update. 2016-06-30 03:12:00 -03:00
FellippeHeitor a7a3b1663d Implements OPTION _EXPLICIT
When you use OPTION _EXPLICIT, all variables and arrays must be defined with DIM (or equivalent statement) before they can be used. QB64's case check already aids in avoiding mistakes on that front, but now you will run into a compiler error if a variable or array is used before being defined.
Because OPTION _EXPLICIT sets a compiler behavior, it must come before any other statements in your code.
As this is a non-QB4.5 feature, the keyword uses an underscore, in order to avoid conflicts with existing code.
2016-06-30 02:50:10 -03:00
FellippeHeitor 6a26da51a5 QuickNav: minor change to "back" button wording. 2016-06-28 17:02:03 -03:00
FellippeHeitor f0b9d0dadd QuickNav: minor change to "back" button wording. 2016-06-28 16:59:16 -03:00
FellippeHeitor 1e3cb88fc9 Allow Shift+ENTER to edit RGB values without the contextual menu. 2016-06-28 11:29:46 -03:00
FellippeHeitor 1ba7270cdb Supress "'Hit Shift+ENTER" message if _RGB is in a comment or quote. 2016-06-28 02:04:05 -03:00
FellippeHeitor e28997f3f5 Quick Navigation "Back" button's hover behavior improved.
Upon hovering the Back button right below the menu bar, the next QuickNav location will be shown as "back to line ##".

Also:
- Fix label color in the "Google Android" dialog.
- Fix a bug that could occur when invoking the contextual menu with an empty selection.
- Relocate Undo/Redo to the top of the Edit menu.
2016-06-28 01:37:37 -03:00
FellippeHeitor ba968213a5 Add an RGB color mixer for inputting/editing _RGB/32/A/A32 values.
Upon entering any _RGB statement, the IDE will offer to launch the mixer dialog, which can be done by hitting Shift+ENTER. Right-clicking existing statements allows triggering the mixer dialog from the contextual menu.
2016-06-28 01:34:06 -03:00
FellippeHeitor 5b7411a583 Minor fix to settings output. 2016-06-26 00:37:08 -03:00
Fellippe Heitor 7cf18f13ad Add -s (settings) to command line. 2016-06-26 00:06:34 -03:00
Fellippe Heitor 81a0e7a4b7 Fix to relative paths for console compilation. 2016-06-25 22:36:36 -03:00
FellippeHeitor d8c01d89cb Properly check if the target .EXE can be replaced (no ide compilation). 2016-06-25 16:17:22 -03:00
FellippeHeitor 1e99a91293 Allow closing the IDE via the X when only the menu bar is active. 2016-06-25 16:16:49 -03:00
FellippeHeitor de6fd0a7a8 Allow closing the IDE via the X button while the menus are active. 2016-06-25 12:58:16 -03:00
FellippeHeitor 1ab3025ef3 Auto select the .exe when clicking the quick link to the output folder 2016-06-22 14:44:59 -03:00
FellippeHeitor b3c7c03558 Fix for unnecessary terminal window showing up in Windows 2016-06-22 14:05:28 -03:00
FellippeHeitor 22a2115fe8 Fix for relative library paths in Windows. 2016-06-22 01:13:54 -03:00
FellippeHeitor ee3f5f3d4a Version id update for latest edits. 2016-06-21 23:58:29 -03:00
Fellippe Heitor b8b4b13302 Relative paths for external libraries
External libraries can now sit in the same folder as your source file without the need to specify a full path. You can use .libraryname or ./libraryname with DECLARE LIBRARY statement blocks.
2016-06-21 23:53:43 -03:00
Fellippe Heitor 5e7e37ea0b Save executable with source (Mac, probably Linux too) 2016-06-21 11:59:37 -03:00