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

1229 commits

Author SHA1 Message Date
Roland Heyder e539497126 Fix command templates
This does fix the human readable syntax entries according to wiki issues #79 and #91.
2022-06-13 02:15:25 +02:00
Roland Heyder bfd12fc44f Add missing CRLF substitution 2022-06-12 17:06:13 +02:00
Roland Heyder 63c523ba38 Fix URLs containing ampersands
Escapes & in Wiki page URLs (eg. &B, &H, &O) and in external links (eg. many MSDN links)
2022-06-12 17:05:18 +02:00
Roland Heyder e01b29c9a2 Merge branch 'main' into wiki-dev 2022-06-11 23:27:25 +02:00
Roland Heyder 74ca4c9da6 Add apostrophe HTML entity 2022-06-11 17:52:18 +02:00
Roland Heyder 6efdd43a2a Avoid additional new line at EOF 2022-06-11 17:50:14 +02:00
Matthew Kilgore 58cccc19fa Update version to v0.8.2 2022-06-10 22:35:38 -04:00
Matthew Kilgore 931a9dd272 Fix C++ Compiler Settings menu 2022-06-10 22:31:56 -04:00
Matthew Kilgore 5bb2c7017c Update version to v0.8.1 2022-06-10 16:53:12 -04:00
Matthew Kilgore f7b1427a89 The C++ settings menu reuses existing shortcut key
The C++ compiler Settings menu uses the shortcut key 'o', but that's
actually already in use and thus creates a conflict. We're switching it
to use the option 'm', which does not conflict.

Fixes: #105
2022-06-10 12:51:35 -04:00
Matthew Kilgore d36edad30c Fix compilation of files with $ in the name
This is a bit of an odd one, but files with $ in the name don't compile
correctly due to expansion being done on the $.

The culprit here is `make`, as the syntax '$x' is interpreted to mean to
insert the expansion of the variable 'x'. To avoid this behavior we have
to replace every single $ with $$. Make will interpret the $$ to mean it
should insert a single $ and not do any expansion, which is what we
want.

Fixes: #96
2022-06-10 10:42:49 -04:00
Prajwal Borkar 23f45ea5cf
Fixed Typo 2022-06-08 12:25:31 +05:30
Matthew Kilgore 734f653ce8 Update version to 0.8.0 2022-06-07 16:57:33 -04:00
Roland Heyder f6d4e27b54 Different colors for bold/italic styles 2022-06-07 13:24:11 +02:00
Roland Heyder 8d8fc3b7fb Implement handling for 'Parameter' template 2022-06-07 00:50:13 +02:00
Roland Heyder a4ffe65525 Reset text styles on block entry
Avoid leaking of unclosed text styles from regular text into any block.
2022-06-07 00:46:43 +02:00
Roland Heyder 97c04c5552 Fixes to blank line checks. 2022-06-03 16:53:30 +02:00
Roland Heyder 021d8068c1 Merge branch 'main' into wiki-dev 2022-05-31 17:53:05 +02:00
Matthew Kilgore 738aed5fd1 Combined Advanced C++ with C++ Compiler settings
The "Advanced (C++)" dialog was removed, putting the single setting into
the new C++ Compiler Settings dialog.
2022-05-30 23:15:04 -04:00
Matthew Kilgore 2d919768ac Add C++ compiler settings dialog
The new dialogs includes 5 settings:

1. Flag to turn on Optimization (off by default)
2. Flag to strip symbols (On by default)
3. String for extra compiler flags
4. String for extra linker flags
5. Setting for max compiler processes (default of 3)

Fixes: #65
Fixes: #40
2022-05-30 23:15:04 -04:00
Roland Heyder a4d0347ce8 Add support for number (ordered) lists
The respective wiki tokens are recognized, but will be handled as simple dot list.
2022-05-31 01:31:01 +02:00
Roland Heyder 7b91fdc592 Add -u command line switch
- `qb64 -u` can be used during build to populate internal/help, it basically invokes the "Update all pages" action from the IDE's Help menu
- switch is not listed in -? usage help, as I consider it a hidden build-only option
2022-05-31 00:56:32 +02:00
Roland Heyder 24250e4ce2 Addressed issue #76
- Update loop is aborted on error.
- Instead of the error popup, a dynamically generated error page is shown with a link to the `curl` download page and some simple instructions.
2022-05-30 03:15:36 +02:00
Roland Heyder 7f66c30bb4 Do CRLF substitution once in download stage. 2022-05-28 10:26:49 +02:00
Matthew Kilgore 182a48db95 Bump version to v0.7.1 2022-05-22 23:59:16 -04:00
Matthew Kilgore 9e2177deff Allow EXE name to have spaces in it
Makefile's generally hate spaces in filenames, and it's largely
impossible to make them work. Due to that, with the change to use a
`Makefile` the `EXE=` parameter did not work with spaces, and programs
such as "foo bar.bas" would not compile because it produces "foo
bar.exe" which has a space in the name.

There were options here, but in this very specific case it is actually
possible to allow the Makefile to work with spaces. `EXE` is only a
single filename, so as long as we always quote it correctly and the
provided `EXE=` parameter escapes the spaces with `\` then it will work.

Thus, we modified the Makefile to always do the quoting, and modified
QB64 to automatically escape the spaces in the executable name provided
to the Makefile.

I also modified the `compile_tests` to test that spaces in filenames and
paths of the executable correctly compile.

Fixes: #80
2022-05-22 23:59:06 -04:00
Roland Heyder 77642ba91b Merge branch 'main' into wiki-dev 2022-05-22 01:04:02 +02:00
Roland Heyder 3304aab884 Fixes to pending PR issues
3. Fixed click sensibility, external links are not triggered randomly.
2022-05-22 00:40:03 +02:00
Roland Heyder c0a7ea1d85 Fixes to pending PR issues
1. Fix missing links.bin issue (pop up to request user choice).
2. Fix increasing number of files when selecting "Update all pages" multiple times.
2022-05-21 19:53:54 +02:00
SteveMcNeill c1d12259cb Added to win setup to clean up the mingw compiler after installation.
Fixed the issue where some Linux distros won't clean up the exe when Run Only is selected in the menu bar.

Fixes: #16
Fixes: #54
2022-05-21 12:25:41 -04:00
Roland Heyder bec7e9cdf4 Merge branch 'main' into wiki-dev 2022-05-21 00:23:32 +02:00
Roland Heyder 78a04387b3 New Wiki parser finished 2022-05-20 23:44:55 +02:00
Matthew Kilgore 95c57c182c Supply a default version label when no version has been calculated
When building directly from the repo (either from a git clone or a
download of the zip of the repository) the version reported is very
misleading because it will not have a version label, suggesting it is
actually a 'release' version when in fact it could be anything.

The ./.ci/calculate-version.sh logic is already setup to delete an
existing ./internal/version.txt during a detected release build, so we
can just place one in the repositroy and it won't impact the versioning
of CI and release builds, but will show up when building locally.

Fixes: #63
2022-05-20 16:57:45 -04:00
Roland Heyder f5dbe9bc17 Improved cache filename handling and external links
Cached wiki file names get a spelling label for case insensitive systems. External links are working (clickable) now and open in the standard application.
2022-05-20 01:41:05 +02:00
Roland Heyder 27a59e5b5e Useless style removal in blocks 2022-05-19 01:45:25 +02:00
Roland Heyder 4af4db7584 Merge branch 'main' into wiki-dev 2022-05-19 01:40:16 +02:00
Steve McNeill da1978915a
Merge branch 'main' into main 2022-05-18 12:14:17 -04:00
SteveMcNeill 459c8a216d Update ide_methods.bas 2022-05-18 11:12:49 -04:00
Matthew Kilgore 4a8a7ce594 Redirect stderr to compilelog rather than errorcompilelog
Having two separate files for the compile output is just too confusing,
and it adds an extra file users need to look at and give us when there
are issues. This change simply makes qb64.bas send both the stdout and
stderr output to compilelog.txt.

Fixes: #61
2022-05-18 09:20:30 -04:00
SteveMcNeill bd3b673996 test change to IdeAddSearched 2022-05-18 07:10:59 -04:00
Roland Heyder 3391b83682 Improve underline and list appearance
Also added a page header with title and last update.
2022-05-18 02:15:36 +02:00
SteveMcNeill 7420504f42 reorder ubound check 2022-05-17 09:25:21 -04:00
SteveMcNeill ef875607ff Fix to endless loop in retrieving search History
Replaced both instances with one single sub to reduce code and make things easier to maintain and upkeep.  It's always easier to work in one spot than it is in multiple.
2022-05-17 07:50:18 -04:00
Roland Heyder acf9e0ff02 Fixes to Blocks and centered text 2022-05-16 01:35:22 +02:00
Roland Heyder a62e74ae31 Merge branch 'main' into wiki-dev 2022-05-15 11:28:35 +02:00
Roland Heyder 40937c906d Tidy up wiki stuff
Moved code blocks into more logic order, added comments, almost done now
2022-05-15 02:45:45 +02:00
Matthew Kilgore 73c1c7245d Turn off optimization for now
We'll turn this on later when we have it better sorted out.
2022-05-14 12:15:35 -04:00
Roland Heyder eab0e4cd45 Add handling of InlineCode template 2022-05-13 22:49:53 +02:00
Roland Heyder 6266fab2bd Improves 'small' template handling
Also <span... inline elements got fixed + some minor code optimization
2022-05-13 13:53:58 +02:00
Roland Heyder 64fa73aab7 Improved wiki page/file name validation 2022-05-13 13:49:19 +02:00
Matthew Kilgore 4d61ff7995 Fix quoting on Windows Resource files 2022-05-12 00:53:24 -04:00
Matthew Kilgore 794f76a534 Provide CFLAGS_EXTRA 2022-05-12 00:21:02 -04:00
Matthew Kilgore 11ec9237a3 Add support for mylib$ and mylibopt$ 2022-05-12 00:21:02 -04:00
Matthew Kilgore 23ef0aeca8 Add more tests and dynamic library support 2022-05-12 00:21:02 -04:00
Matthew Kilgore d18fc78fcd Formatting 2022-05-12 00:21:02 -04:00
Matthew Kilgore 2a4b637412 Separate _ICON usage from icon.rc
The Makefile was incorrectly tying together _ICON and icon.rc, making it
impossible to use one without the other. To fix this we introduce a new
DEP_ICON_RC flag, which indicates we need to use the icon.rc file (in
addition to regular icon support). DEP_ICON now only indicates we need
to support _ICON, and does not attempt to build the resource
information.
2022-05-12 00:21:02 -04:00
Matthew Kilgore cfb86d2c8f Stop running windres from qb64.bas
Makefile does this
2022-05-12 00:21:02 -04:00
Matthew Kilgore 30c620cfda Initial qb64.bas changes 2022-05-12 00:21:02 -04:00
Roland Heyder da02b2aa61 Ignore custom TOC tables
No info box is generated for manual "TOC only" tables.
2022-05-11 15:49:00 +02:00
Roland Heyder 1babd153ef Fix template handling
Avoid optional template parameters (usually color specs) leaking into the help text.
2022-05-11 02:01:22 +02:00
Roland Heyder 1db84177f6 Add more UTF-8 replacements 2022-05-10 18:32:33 +02:00
Roland Heyder 965cb4de79 Wiki parser overhaul
Turned almost every stone, work still in progress.
2022-05-10 14:43:53 +02:00
Matthew Kilgore be814036ec Temporarally add build steps back 2022-05-07 19:57:38 -04:00
Matthew Kilgore 5a81e22879 Bump next version to 0.6.0 2022-05-07 19:57:38 -04:00
Matthew Kilgore 7d7d16c4f6 Use $EXEICON and $VERSIONINFO in qb64.bas 2022-05-07 19:57:38 -04:00
Matthew Kilgore a9fd9551af Allow numerical VersionInfo values to set corresponding string values
The resource file we create contains two separate values for FileVersion
and ProductVersion. Currently, they are actually represented by two
separate values in $VERSIONINFO and effectively require duplicating the
information between them.

My understanding is that the string values should always be the same as
the numerical versions, so to make $VERSIONINFO easier to use this
changes the logic so that setting the numerical version will
automatically also set the string version if values for them are not
provided.
2022-05-06 14:29:37 -04:00
Matthew Kilgore 0930d51b9c Move some file-related functions into utilities/file.bas 2022-05-06 13:42:35 -04:00
Matthew Kilgore c165476838 Create icon.rc file on all platforms, copy ico file into temp
Previously, the creation of the icon.rc file was restricted to be
Windows only because Windows is the only platform with a use for that
file. Unfortunately, this breaks a fundimental assumption about how the
QB64 C++ generation works, because we only have one set of
`./internal/source` files from which we build all versions of QB64 for
all platforms. Due to that, the built version needs to include all files
needed by all platforms, regardless of which one is doing the building.
So to that end, all platforms should produce the icon.rc, even if it
will not be used on that platform.

Additionally, the path to the icon file in `icon.rc` is problimatic
because it is made into an absolute path. This blocks `qb64.bas` from
using `$EXEICON` because the absolute path is not predictable, as
the location we create ./internal/source will be different from the
location we build ./internal/source. Effectively this means that the
`icon.rc` file in `./internal/source` would always be wrong.

The solution is to not use an absolute path, with the other option being
to have the icon in the same directory as the resource file. This is
actually relatively easy to acomplish since icon files are not terribly
large and we can simply copy it into the temp directory.

Thus, that is what this change does - the specified icon file is copied
into the temp directory as `icon.ico`, which allows use to use
`icon.ico` in the `icon.rc` file and have it always work regardless of
directory.

The internal logic was also cleaned up a bit. The creation of these
files is no longer Windows specific, and the $EXEICON parsing no longer
writes to the `icon.rc` file - rather, the entire thing is generated
together, with both the $VERSIONINFo and $EXEICON depending on which
were provided.
2022-05-06 13:42:35 -04:00
SteveMcNeill e0dea015fc include path in deleted filename 2022-05-01 19:26:48 -04:00
SteveMcNeill 40ed008e9f Fix to Incorrect flag name 2022-05-01 19:11:38 -04:00
SteveMcNeill 9b87eff34b Capitalize Keywords in QB64.bas 2022-05-01 18:02:15 -04:00
SteveMcNeill 65c75b0df6 Add option to menu to make temp files
It's working and tested in Windows.
Still needs to be tested in Linux and Mac, but I *think* it'll work for them as well.  ;)
2022-04-29 03:57:25 -04:00
Matthew Kilgore 2fdab9af4e Reintroduce wikiBaseAddress$ fix
This got dropped accidentally due to taking the wrong file during the
rebase to attach the previous history from qb64team/qb64.
2022-04-28 17:44:30 -04:00
SteveMcNeill 97ab4f4dc9 Update to version
Reset version number to 0.5.0.
Added "Phoenix Edition" to our name, so nobody will think we're still working with the old team of QB64, and mistakenly donate to the wrong Patreon, or buy merchandise wrongly thinking they were supporting us.  :)
2022-04-28 17:21:22 -04:00
Matthew Kilgore 0847b970b1 Don't ignore .bas files in source directory 2022-04-28 17:20:45 -04:00
Matthew Kilgore 7be379c39d Add version calculation and separate label vs. commit
This slightly changes how the versioning works.
2022-04-28 17:19:37 -04:00
MaxineHelsel c0da4caa49 made it so it doesnt say created .exe file on macos 2022-04-28 13:41:57 -04:00
Fellippe Heitor 6e385df280 Fix alignment issues in listbox controls 2022-03-10 13:04:36 -03:00
Fellippe Heitor b2f35b9e98 Reenable line selection when debug is off
Clicking line numbers when not in Debug mode and
when "auto-add debug" is disabled will select the
clicked line
2022-03-10 10:30:06 -03:00
Fellippe Heitor fd5ba476b5 Add 'don't show again' to 'Add ' dialog 2022-03-10 09:48:57 -03:00
Fellippe Heitor 20cc9808c2 Fix issue of ghost variables between edits ($Debug)
Removing a variable between $Debug sessions would
cause occasional crashes on some systems. This fix
invokes the variable watch dialog with a special parameter
so it'll regenerate the list between edits.
2022-03-10 01:47:03 -03:00
Fellippe Heitor 2c0f892e4e Improve displayFormat for Watch Panel and dialog
Replicated the button from the Watch Panel in the Watch List dialog.
Indicators added when content goes beyond window limits.
2022-03-10 00:55:46 -03:00
Fellippe Heitor 627b85c4bd Add support to number formats in Watch Panel
Allows changing display format of numbers
between decimal, hex, octal and binary.
2022-03-09 14:31:55 -03:00
Fellippe Heitor 937df8823c Revert "Fix assignments involving arrays (closes #216)"
This reverts commit 39f7d8f07b.
2022-03-01 23:18:33 -03:00
Fellippe Heitor 42c9e7327f Revert "Reset flag wholearrayreference as needed"
This reverts commit 4e41877eb0.
2022-03-01 23:17:45 -03:00
Fellippe Heitor 4e41877eb0 Reset flag wholearrayreference as needed 2022-03-01 22:34:36 -03:00
Fellippe Heitor 39f7d8f07b Fix assignments involving arrays (closes #216)
Array index could be omitted in cases where
it was actually needed
2022-03-01 22:10:28 -03:00
Fellippe Heitor 52c25d6077 Allow changing color of menu+dialogs (Closes #221)
New item in Options->IDE Colors allows customizing the color
that's used to draw menu items and dialogs (`Color 7`).
2022-03-01 20:49:38 -03:00
Fellippe Heitor 2926fea0e9 Fix indentation in disabled precompiler blocks 2022-02-24 22:57:33 -03:00
Fellippe Heitor 6b7fda9b15 Remove unused variable in ide_methods 2022-02-24 17:48:37 -03:00
Fellippe Heitor 84873f88d8 Revert "Make indent level only increase once..."
This reverts commit 1e679627f4.
2022-02-23 01:27:59 -03:00
Fellippe Heitor 55c365763c Fix capitalization of arrays in U/LBound calls
Previous fix needed to be reverted; this is the new
attempt at fixing the issue.
2022-02-22 23:51:04 -03:00
Fellippe Heitor 02af89c94d Fix capitalization of 'to' in Case statements 2022-02-22 22:54:12 -03:00
FellippeHeitor c30120ee46 Fix building static libraries in Linux
With QB64 stored in a path with spaces in it,
building static libraries on demand would
fail silently.
2022-02-13 09:53:30 -03:00
FellippeHeitor 31adc2361e Adjust var name in GetBytes 2022-01-23 22:26:56 -03:00
FellippeHeitor b87dde8d89 Fix issue with $NoPrefix in Declare Library blocks 2022-01-23 22:03:13 -03:00
FellippeHeitor 03982022dc Fix error with stray As in Sub parameters
Things like this used to be treated as valid:
```
Sub foo(bar As)
End Sub
```
2022-01-21 13:16:57 -03:00
FellippeHeitor 26c7521171 Fix link to the online wiki (IDE) 2022-01-20 20:00:53 -03:00
FellippeHeitor f64c882bc6 Comment out Download function from IDE code
Method is no longer used in this version, due to
changes in qb64.org
2022-01-20 19:55:58 -03:00
Fellippe Heitor e70fb238f6 Fix wiki update on *nix systems 2022-01-20 19:51:44 -03:00