Both files checked out from the repository and packed in the 7z we provide had CRLF for line endings in the help files. This change makes it so the extra CR is removed from the offline help as the user fetches them locally.
- Allows filtering current file list using wild cards (* and ?).
- Allows entering a relative path in the text field and going there (previously only ".." was accepted as relative path).
- "File already exists" dialog now shows the file name.
- Simplifies FUNCTIONs idezgetroot$, ideztakepath$ and idezgetfilepath$.
Allows QB64-specific keywords to be called without the leading underscore.
Per user and per project; affects nothing globally.
Allows prefixed keywords to be used even when it's set.
- Changes CFont to sub__consolefont and func_CInp to func_cinp, in alignment with the rest of libqb/qbx.
- Adds stubs to all new console functionality, so we can still ship for other OSes with no bigger issues.
- Adds new keywords to syntax highlighter.
Two new keywords added:
FUNCTION _INFLATE$ (text$)
FUNCTION _DEFLATE$ (text$)
Use of these commands can compress and decompress strings using the ZLIB library.
An arrow to the left of the line where a variable was defined will be shown after compilation to indicate that variable hasn't been used throughout the program.
Previous wiki software returned html entities instead of actual characters, but the new host has an updated version of mediawiki that does the contrary for some special characters.
- Allows using _DROPPEDFILE as an array ranging from 1 TO _TOTALDROPPEDFILES.
- Using _DROPPEDFILE as an array doesn't reset _TOTALDROPPEDFILES (unlike when reading _DROPPEDFILE$ sequentially with no parameter), so it's necessary to call _FINISHDROP after working with the list of dropped files so it'll be reset.
The statement works as INSTR does but starts from the end of the passed string (or from the specified position) and looks for the passed substring while moving backards.
Takes after VBScript's InStrRev: https://www.w3schools.com/asp/func_instrrev.aspCloses#51
Running a compiled program in standard "attached" mode had no real use as it had been planned (as once stated by Galleon) to allow future integration of a debug mode that never came to be. It is not practical as is. This change makes F5 (and consequently the Start option in the Run menu) start the program automatically in "detached" mode (equivalent to Ctrl+F5 in previous versions), which means that the resulting binary will be run with SHELL _DONTWAIT instead of simply SHELL, allowing the newly launched process to be independent from the IDE.
- Adds submenus.
- Renamed "Save EXE in the source folder" to "Output EXE to source folder" in Run menu.
- Changed behavior of disabled menu items; instead of closing the menu, do nothing.
- ShowLineNumbersSeparator will separate the line numbers panel from the main text are with CHR$(179);
- ShowLineNumbersUseBG will use the same color assigned to current line highlight in the line numbers panel.
When an error in an include file is reported, the IDE also shows what line inside the external file caused the error. Double-clicking the include line will open the file in a second instance of the IDE and position the cursor in the line that caused the last error.
- The IDE will wait until the second instance is closed, check if the file was changed and recompile accordingly.
- Interface lights dim while the second instance is being used.
- Fixes CTRL+letter being inserted in the text area even after combos were processed.
- Fixes CTRL+letter activating menu items.
- Fixes a menu being preselected when activated with ALT if the mouse was hovering it (hovering still works *after* the menu is launched)
By unchecking the new switch in the Options menu, the IDE won't warn and "red-light" every single mistake until you tell it to start compilation with F5.
Signed-off-by: FellippeHeitor <fellippeheitor@gmail.com>
- SUBs and FUNCTIONs names will be highlighted throughout the code.
- The same color assigned to metacommands is used for custom keywords.
- A custom dictionary can also be added to internal/config.txt.
- SUBs and FUNCTIONs in $INCLUDEd files also get highlighted, as long as there aren't any errors preventing compilation.
Signed-off-by: FellippeHeitor <fellippeheitor@gmail.com>
Default cursor height for non-insert mode is LOCATE , , , 8, 8. Start and End values can now be customized in the config.txt settings file (values range from 0 to 31).
- Improved number detection (negatives, decimals, trailing type suffixes);
- Properly clear the status area before showing "converting..." message for QB45BIN.
Version 1.1 color schemes contained only 6 colors. This patch allows users to maintain their existing schemes while adding keyword and number highlight colors to them. Also:
- Invalid schemes are now just skipped, instead of destroyed.
- Scheme selection arrows and "Save"/"Erase" buttons are more visible/distinguishable between active/hovered/inactive states.
- Confirmation dialog before erasing user schemes.
Upon attempting to load a binary file, the IDE will detect that the file type is a QuickBASIC 4.5 binary file and offer to convert it to plain text using qarnos's QB45BIN utility.
- Disable resizing when the help system is open and when dialogs are displayed.
- Minor fix to multi-highlighting to also allow it to hightlight instances of the same text seleted in the current line.
When a a single-line selection is made, every instance of the same "word" on the current screen gets highlighted. Can be disabled in Options->IDE colors.
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.
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.
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.
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).
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.
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.
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.
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.
(Windows only for now)
When active, this new setting will instruct the compiler to save the .EXE in the same folder as the source file. If the current program is not yet saved, the .EXE is placed in the same folder as QB64.EXE, as usual.
Also:
- When "Make EXE only (F11)" is used, the status area will show "Location: " and a link to the folder where the .EXE was saved. Clicking it launches Windows Explorer.
When auto indent is turned off in Options->Code Layout, hitting ENTER to create a new line will cause the cursor to be aligned with the previous line start, making it easier to manually indent code.
Also:
- Hitting backspace when there's no text before the cursor will also cause it to jump back following the tab spacing set in the Code Layout dialog.
The setting to place the cursor after the pasted contents is now observed in textboxes (dialog boxes) and also in the quick search field.
Also:
- Textboxes are now always selected upon receiving focus in dialog boxes, in order to mimic modern OS's behavior.
The only indication that the program was being compiled was the "..." on the status area. Now, if you hit F5 (or F11) and your program is still being compiled to C++, you will see a progress indicator on the bottom status line.
Also:
- Display "Start typing to search for text in this help page" upon invoking the help system (the search functionality is already built-in).
Default behavior (which mimics Qbasic) is to keep the cursor in place even after pasting from the clipboard. This new option alters such behavior to act as modern systems, placing the cursor after the pasted content.
Also:
- Add visual indication that mouse buttons have been swapped (Options menu);
- Allows opening menus with a right-click (in case you forget you swapped mouse buttons);
- Minor tweaks to Code layout dialog box.
Previously, upon clicking the Quick Navigation button, the IDE could accidentally select all lines between the current and the destination line. Such behaviour has been fixed.
After using any Quick Navigation method (Search > Goto line, Right-click > Goto SUB/FUNCTION or Goto label, Bookmark navigation, SUB/FUNCTION selection box), a left facing arrow will show right under the File menu, allowing to browse to where you were before navigation.
ALSO:
- "Goto line" dialog box now remembers the last line number that was input.
Since _SCREENHIDE doesn't currently work on Linux, alterations were made
to the auto-position routine to keep the IDE from storing screen
positions when minimized and closed that would make it reopen off-screen
and impossible to move/position.