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

215 commits

Author SHA1 Message Date
FellippeHeitor 40da21aacd Add tweaks to Line Numbers in config.txt.
- 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.
2017-10-31 04:35:20 -02:00
FellippeHeitor fb9a54a210 Mouse input adapted to work when line numbers are visible. Also:
Line numbers use the same color assigned to "line highlight".
2017-10-31 03:51:19 -02:00
FellippeHeitor 867f62bcc7 Makes possible to edit/navigate with line numbers turned on (keyboard). 2017-10-31 01:00:15 -02:00
FellippeHeitor e5b7327533 Double-clicking an include file name opens the IDE at the error line.
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.
2017-10-30 11:23:37 -02:00
FellippeHeitor c096896105 Adds -l:line# command line switch to start the ide at a certain line. 2017-10-30 11:23:15 -02:00
FellippeHeitor 88d6911ec9 Add option to toggle Line Numbers from View menu. Also:
- Align line numbers to right;
- Highlight line number of current line;
2017-10-30 11:22:33 -02:00
FellippeHeitor ce9a0c07c6 First attempt at line numbers.
So far:
- Line numbers show (they still get stuck if you create a new empty file).
- Text is shifted right accordingly.
2017-10-26 10:20:19 -02:00
FellippeHeitor 5fb0bc3050 "Double-click to launch $INCLUDE file" now waits for new window to close.
- 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.
2017-10-23 10:19:08 -02:00
Luke Ceddia 8956a1ee4f Merge branch 'errorlogging' 2017-10-23 08:19:26 +11:00
FellippeHeitor 0761c1f20f Minor IDE nuisances fixed (i).
- 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)
2017-10-17 02:07:47 -02:00
FellippeHeitor 23406bc4d4 Reset compfailed to 0 when the source is edited again. 2017-10-15 20:00:12 -03:00
FellippeHeitor 677f5cd2ea Adds link to compilelog.txt in the Status area when compfailed = 1. 2017-10-15 19:46:16 -03:00
FellippeHeitor fc02c623c8 Write new window position as soon as it's detected. 2017-10-14 20:07:35 -03:00
FellippeHeitor cff8ae7561 Make AutoPosition setting default to true. 2017-10-14 17:34:33 -03:00
FellippeHeitor c8a219bb70 Restore "OK" in the status bar after translation to C++ is done. 2017-10-14 14:33:38 -03:00
FellippeHeitor f971af8328 Resizing the IDE while a menu is open now works as expected. 2017-10-14 04:21:50 -03:00
FellippeHeitor 292dbbf49d Add "Show compilation errors immediately" to Options menu.
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>
2017-10-14 04:09:54 -03:00
FellippeHeitor 9ab94215db Custom keywords highlighting (SUB/FUNCTION/custom dictionary).
- 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>
2017-10-14 01:15:09 -03:00
FellippeHeitor 5ba4cde9ac Tweak to previous commit "close menus when IDE loses focus". 2017-10-10 00:19:50 -03:00
FellippeHeitor 749ec5222f Improved copy/paste; Improved "cursor after pasted content" behavior.
Empty lines now get properly copied/pasted.
2017-10-08 22:48:34 -03:00
FellippeHeitor 18a43777e7 Improved focus detection behavior (Windows-only).
Menus are closed when the IDE loses focus.
2017-10-08 22:47:42 -03:00
FellippeHeitor 83c1afdb52 Add IDE cursor start and end values to config.txt.
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).
2017-10-08 22:46:35 -03:00
FellippeHeitor a16c9a4093 Makes bracket highlight/multi-selection highlight color customizable. Also:
- Minor improvements to syntax highlighter;
- Hides cursor and line highlight when window loses focus (Windows-only);
2017-10-08 22:44:40 -03:00
FellippeHeitor 7d842c9927 Allow ? to be highlighted even if immediately followed by another "word".
Cases like ?myVar% get properly highlighted.
2017-10-07 03:35:51 -03:00
FellippeHeitor 70fd9d872e Allow multihighlight for var.element items. Also:
- Improved number detection (negatives, decimals, trailing type suffixes);
- Properly clear the status area before showing "converting..." message for QB45BIN.
2017-10-07 03:16:46 -03:00
FellippeHeitor 65c87a0da8 Prevent "Erase" confirmation from closing "IDE Colors" dialog. 2017-10-06 03:42:06 -03:00
FellippeHeitor d54a5cc2e3 Allows non-destructive retrieval of version 1.1 color schemes.
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.
2017-10-06 03:15:49 -03:00
FellippeHeitor a1f22afa22 Prevent IDE colors from reverting back to default when resizing. 2017-10-05 22:57:25 -03:00
FellippeHeitor d8ea561736 Fix color of inactive menu items. 2017-10-04 23:08:51 -03:00
FellippeHeitor 35105dc9c1 New preset theme: 'Dark side'.
'Classic QB4.5' theme fixed.
2017-10-04 04:06:27 -03:00
FellippeHeitor 1f6b88e7f5 Numbers highlight. 2017-10-04 03:42:39 -03:00
FellippeHeitor 6caa67261c Tweak to bracket highlight and multi-highlight selection. 2017-10-04 01:36:59 -03:00
FellippeHeitor 7c383a05a7 Add SMOOTH and STRETCH to keywords list. Fixes $IF block highlighting. 2017-10-04 00:50:49 -03:00
FellippeHeitor 8e68dd06d4 Cleaned up list of keywords. Minor tweak to $END IF colorization. 2017-10-03 23:43:47 -03:00
FellippeHeitor 68a2ec44f9 Fixes sticky ALT key in Windows.
Minor tweak to Dark blue preset theme.
2017-10-03 23:13:08 -03:00
FellippeHeitor 997d2bb734 Improved highlighting of metacommands in comments. 2017-10-03 21:12:22 -03:00
FellippeHeitor b60fdb780a Fine adjustments to syntax highlighting. 2017-10-03 11:52:03 -03:00
FellippeHeitor 739aaef7ac Improves syntax highlighter with Keyword Highlight. 2017-10-02 01:16:35 -03:00
FellippeHeitor e6a265f0e4 Integrates qarnos's QB45BIN.
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.
2017-10-01 17:51:28 -03:00
FellippeHeitor 204ad079c9 Tweak to multihighlight.
Highlights only full matches.
2017-09-27 11:53:05 -03:00
FellippeHeitor 0e7b1c41af Window resizing improved (changes apply in real time). Also:
- 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.
2017-09-27 10:10:04 -03:00
FellippeHeitor 1330f8fa14 Make the "Change" dialog stay out of the way when "Find and verify"ing. 2017-09-25 03:11:38 -03:00
FellippeHeitor 37ab5feb0e Minor adjustments to menu shortcuts; Also:
- Fix to ALT+Key entering text in textboxes (dialogs).
2017-09-25 02:50:13 -03:00
FellippeHeitor 5f822f21ce Adds multi-highlight.
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.
2017-09-25 02:30:40 -03:00
FellippeHeitor f0692d55b2 New IDE shortcuts.
- Ctrl+N = New file
- Ctrl+O = Open file
- Ctrl+R = Comment selection (add ')
- Ctrl+Shift+R = Uncomment selection (remove ')
2017-09-25 02:28:41 -03:00
FellippeHeitor b3afefe0dc Adds the ability to show contextual help (syntax) for SUB/FUNCTIONs. 2017-08-04 10:59:11 -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
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
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 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 3a0c8ea521 Stop ide() throwing a silent IFC on startup 2016-08-11 21:41:40 +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
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 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 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 c3cb1acae9 Darken all IDE colors while compiling or running attached. 2016-07-17 20:12:59 -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
Fellippe Heitor 2f832cd15b Show selection length on the status bar 2016-07-02 03:48:58 -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 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
Fellippe Heitor 5e7e37ea0b Save executable with source (Mac, probably Linux too) 2016-06-21 11:59:37 -03:00
FellippeHeitor 8f67d40330 Add "Save EXE in the source folder" to the Run 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.
2016-06-21 03:38:42 -03:00
FellippeHeitor 86f79d8b29 Improved cursor behavior when auto indent is off.
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.
2016-06-21 01:31:42 -03:00
Fellippe Heitor e5487b3124 Allow Shift+TAB to change focus in dialogs (Mac) 2016-06-14 01:29:33 -03:00
FellippeHeitor 4925dfd990 Minor fix to textboxes in dialogs being autoselected when empty. 2016-06-14 01:05:54 -03:00
FellippeHeitor a0506884f8 Minor adjustments (cursor after pasted contents and textboxes in dialogs)
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.
2016-06-09 01:46:00 -03:00
FellippeHeitor 6f4231c86b Add a percentage bar to the status line while still compiling (F5/F11).
Also:
Progress has been grouped. No longer "Step 1/2" then "Step 2/2". It goes from 0% to 100% and that's that.
2016-05-24 21:35:30 -03:00
FellippeHeitor 64ca150f9c Supress progress indication if an error is found. 2016-05-24 02:10:33 -03:00
FellippeHeitor 546947d967 Show compilation progress (BASIC -> C++) in the status bar.
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).
2016-05-24 01:35:28 -03:00
FellippeHeitor 218536343a Add "Cursor after pasted content" to Options menu.
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.
2016-05-07 01:38:52 -03:00
FellippeHeitor a6d7a7ac5c Add sliders to the Colors dialog (for RGB values). 2016-04-28 03:22:29 -03:00
FellippeHeitor c49272e64c Disable selection when Quick Navigation is used.
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.
2016-04-28 00:09:30 -03:00
FellippeHeitor 1033468606 Adjust Color dialog size. 2016-04-21 23:33:29 -03:00
FellippeHeitor fa63f1feef Color dialog: allow an empty field while editing RGB values. 2016-04-21 18:10:56 -03:00
FellippeHeitor fa569c2fc4 Add a new dialog to allow changing of interface/code syntax colors. 2016-04-21 17:49:32 -03:00