Skip to content

Releases: vascocosta/bargo

v1.0.0

18 Apr 12:10
Compare
Choose a tag to compare
  • Add support for remote dependencies
  • Add remove command
  • Add support for labels

This is a milestone release which adds significant new features and marks the code as stable.

Bargo now supports remote dependencies in addition to the regular local dependencies. Just specify your dependencies in Bargo.toml under the [dependencies] section but after the name of the dependency, include a valid URL from where to download the BASIC file. You can use any HTTP URL and Bargo will attempt to fetch the code from there, including a GitHub URL. Notice that the use of version numbers in your dependencies is now deprecated. That placeholder is now used for the remote dependencies.

The remove command allows to easily remove a dependency from Bargo.toml. As previously, you can manually edit Bargo.toml and update your dependencies, but now you can also simply run bargo remove my_dep.

Although the GOTO/GOSUB commands shouldn't be overused, at the expense of spaghetti code, as long as you keep them in check, it's perfectly fine. However, since bargo abstracts you from line numbers, it now supports text labels to easily allow you to use these commands. First define a text label with LABEL my_label just above the code you want to jump to and then use that same text label with GOTO/GOSUB like for instance GOTO my_label or GOSUB my_label. These labels are case sensitive. Behind the scenes bargo replaces your labels with the appropriate line numbers when you do bargo build.

v0.3.0

13 Apr 12:16
Compare
Choose a tag to compare

Changes:

  • Add emulator command
  • Add add command
  • Refactor into a library crate

This is an important release which adds significant new features and marks a major refactoring of the code.

The emulator command allows to easily run an instance of the fab-agon-emulator to test the current code in your project. After generating the final BASIC file with bargo build, you can now run bargo emu. Behind the scenes bargo will copy your BASIC program into the emulator folder (set in Bargo.toml), generate a special autoexec.txt in the emulator and spawn an instance of the emulator that runs your code.

The add command allows to easily add a dependency to Bargo.toml. As previously, you can manually edit Bargo.toml and update your dependencies, but now you can also simply run bargo add my_dep.bas. Obviously don't forget to actually create src/my_dep.bas.

At last, but definitely not the least, I've made some considerable refactoring work, to move most of the code into a library crate alongside bargo's binary crate. This one concerns only Rust users out there who might consider using this crate in their own projects. This library crate provides the BargoCommand trait, defining common behaviour for all the commands I'm creating. Anyone wishing to extend bargo with new commands can implement this trait. Additionally there's a Config type to handle Bargo.toml.

v0.2.0

07 Apr 19:51
Compare
Choose a tag to compare
  • Add clean command
  • Add init command
  • Bail out if package already exists
  • Create git repo when creating package

v0.1.0

06 Apr 17:00
Compare
Choose a tag to compare

First release