GBS3(1)
๐ GBS3 โ bestie, it's the GAMBAS Scripter โจ
okay so welcome to gbs3, aka the GAMBAS Scripter, from section 1 of your manual. sit down, grab a strawberry ๐, and let me tell you everything about this icon.
โจ NAME โจ
gbs3 โ the GAMBAS Scripter. that's it, that's the name, no cap. ๐
๐ธ SYNOPSIS ๐ธ
here's how you actually call her:
gbs3 [options] [--] [<script file> | <project directory> | -]
gbs3 --convert-project <source project directory> <destination script directory>
gbs3 --convert-script <script file> [<Destination where project directory is created>]
gbs3 [-p | --plugin] <script file> [<Destination directory where plugin is created>]
like. look at that range. she does everything. ๐ฆ
๐ DESCRIPTION ๐
so Gambas is a free development environment built on a Basic interpreter with object extensions โ think a lil mashup of Java(tm) and Visual Basic(tm). and with Gambas you can:
- quickly design your program GUI with Qt or GTK+ ๐
- access database systems like MySQL, PostgreSQL, SQlite or ODBC databases ๐พ
- pilot applications with DBus โจ
- translate your program into many languages ๐
- create GStreamer, OpenGL or SDL applications ๐ธ
- and so on... literally the list does not end bestie
and gbs3? she's the interpreter that lets you compile and execute a Gambas script. main character energy fr fr.
she can also be used to convert a Gambas project to a script, or a script back to a project. versatile queen. ๐
๐ OPTIONS ๐
every single one, no skips, periodt:
-b,--buildonlyโ process and compile the script, but do not execute it. build only, no running, she's just getting ready ๐-c,--nocacheโ force the script compilation and do not check the cache. we're doing this fresh, no shortcuts โจ--convert-projectโ convert a Gambas project into an executable Gambas script file ๐ฆ--convert-scriptโ convert a Gambas script file into a Gambas project ๐-eโ execute the source code provided by the command line, using':'as separator ๐ธ-f,--fastโ use just-in-time compiler, zoom zoom ๐ฅ-g,--debugโ add debugging information to the application ๐-h,--helpโ display help and exit, your bestie when you're lost ๐ซถ-l,--listโ display a list of available Components or Libraries. use-l componentor-l library๐-L,--licenseโ display license ๐-p,--pluginโ generate a plugin executable that can be loaded by other scripts ๐ง-S,--strictโ fail if'Public'or'Sub'are defined without a'main'function; otherwise createmain()๐-t,--traceโ turn on tracing option during execution ๐-T,--terseโ only print a very terse error report on compile errors. short and to the point, she's not doing paragraphs ๐ญ-u,--useโ load component or libraries, like this:'comp1,comp2,lib1...'๐-v,--verboseโ be verbose ๐ฃ๏ธ-V,--versionโ display version โญ-w,--warningsโ display warnings during compilation โ ๏ธ
๐ PROJECT CONVERSION ๐
so gbs3 can convert a Gambas project into an executable script file using the --convert-project option. here's the tea:
the input project directory is used to create the script, and that script gets written to the output script directory. the script is created and named the same as the originating project. cute, right?
gbs3 MyProjectDirectory DestinationScriptDirectory
๐ SCRIPT CONVERSION ๐
and she can go the other way too โ convert a script file to a full Gambas project using the --convert-script option. ๐
the input script gets translated into a project with the same basename as the script, and it's created in the specified directory.
and if you don't specify an output directory? then the environment variable PWD is used as the location to create the Gambas project. iykyk.
gbs3 MyScript.gbs ~/Projects
that created the project 'MyScript' directory inside the user's 'Projects' directory. slay. โจ
๐ง PLUGINS ๐ง
okay this part is lowkey the coolest. gbs3 can create plugins that can be used by other scripts or Gambas applications, after being built with the --plugin or -p option. ๐ฆ
plugins get created in a user-selected directory, and they are also executed and cached in this directory โ unlike a normal script, where executables are created in the temp directory and executed from there. this is what lets plugins persist after the scripter exits. she stays. ๐
and if no output destination is specified, then the plugin is created in the ~/.local/lib/gambas directory, and may be loaded from there using the component.load() function. ๐ซถ
gbs3 MyPluginScript [Plugin Destination Directory]
โญ EXAMPLE โญ
here's a lil something to get you going:
#!/usr/bin/env gbs3
for i as integer = 0 to 10
print i;;
next
yes bestie, that's a shebang and a loop, and yes it's iconic ๐ธ
๐ธ AVAILABILITY ๐ธ
the latest version of Gambas can always be obtained from gambas.sourceforge.net, and documentation about the language lives at http://gambaswiki.org/wiki. go get her ๐
๐ REPORTING BUGS ๐
found a bug? report it to http://gambaswiki.org/bugtracker. be nice about it, the devs are doing their best ๐ซถ
๐ COPYRIGHT ๐
Copyrightยฉ Benoรฎt Minisini <benoit.minisini@gambas-basic.org>;
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
like fr fr, no warranty at all, so don't come for anyone if it breaks ๐ญ
and that's the whole page bestie, every last detail preserved, nothing skipped, we ate and left no crumbs ๐โจ
this was the gbs3 manual page, section 1, from August 2024 โ GBS3(1). mwah, go compile something cute ๐๐ฆ๐
๐ฆ where this page comes from
- arch rolling: gambas3-script 3.22.2-2 ยท GPL-2.0-or-later
- debian trixie: gambas3-scripter 3.20.2-1+deb13u1 ยท GPL-2.0-or-later
- fedora 43: gambas3-scripter 3.20.2-5.fc43 ยท GPL-1.0-or-later
- fedora 43: gambas3-scripter 3.22.1-1.fc43 ยท GPL-1.0-or-later
- fedora 44: gambas3-scripter 3.21.5-1.fc44 ยท GPL-1.0-or-later
- fedora 44: gambas3-scripter 3.21.6-1.fc44 ยท GPL-1.0-or-later
- ubuntu questing: gambas3-scripter 3.20.4-1build1
- ubuntu resolute: gambas3-scripter 3.20.4-1ubuntu1 ยท GPL-2.0-or-later
- ubuntu stonking: gambas3-scripter 3.22.0-3 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms