Renamed to QR Script

- Split into three projects: Library, Console, and Tests
- Library compiles as QRScript.Interpreter to avoid conflicts
This commit is contained in:
Tony Bark 2025-05-07 15:22:16 -04:00
parent e681e6144c
commit 6501b72973
16 changed files with 82 additions and 20 deletions

2
.gitignore vendored
View file

@ -99,4 +99,4 @@ obj/
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option) # Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
*.glyb *.glyb
dist/** **/dist/

View file

@ -1,4 +1,4 @@
namespace Glyph; namespace QRScript.Console;
[Command("build", Description = "Build Glyph program.")] [Command("build", Description = "Build Glyph program.")]
public class BuildCommand : ICommand public class BuildCommand : ICommand

View file

@ -1,5 +1,5 @@
global using Glyph; global using QRScript.Console;
global using Glyph.Extensions; global using QRScript.Extensions;
global using QRCoder; global using QRCoder;
global using CliFx; global using CliFx;
global using CliFx.Attributes; global using CliFx.Attributes;

View file

@ -1,6 +1,6 @@
# Makefile for building and packaging the Sims 2 .s2pk CLI tool # Makefile for building and packaging the Sims 2 .s2pk CLI tool
APP_NAME = glyph APP_NAME = qrscript
CONFIGURATION = Release CONFIGURATION = Release
RUNTIME_LINUX = linux-x64 RUNTIME_LINUX = linux-x64
RUNTIME_MAC = osx-x64 RUNTIME_MAC = osx-x64

View file

@ -1,6 +1,6 @@
await new CliApplicationBuilder() await new CliApplicationBuilder()
.AddCommand<RunCommand>() .AddCommand<RunCommand>()
.AddCommand<BuildCommand>() .AddCommand<BuildCommand>()
.SetExecutableName("Glyph") .SetExecutableName("QR Script")
.Build() .Build()
.RunAsync(); .RunAsync();

View file

@ -4,15 +4,18 @@
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<AssemblyName>glyph</AssemblyName> <AssemblyName>qrscript</AssemblyName>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<Version>0.2.104</Version> <Version>0.2.104</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CliFx" Version="2.3.5" /> <PackageReference Include="CliFx" Version="2.3.5" />
<PackageReference Include="DynamicExpresso.Core" Version="2.19.0" />
<PackageReference Include="QRCoder" Version="1.6.0" /> <PackageReference Include="QRCoder" Version="1.6.0" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\QRScript\QRScript.csproj" />
</ItemGroup>
</Project> </Project>

View file

@ -1,4 +1,4 @@
namespace Glyph; namespace QRScript.Console;
[Command("run", Description = "Run a Glyph program.")] [Command("run", Description = "Run a Glyph program.")]
public class RunCommand : ICommand public class RunCommand : ICommand

View file

@ -1,17 +1,17 @@
#!/bin/bash #!/bin/bash
# Install glyph locally for current user (no sudo) # Install qrscript locally for current user (no sudo)
# Usage: ./install.sh ./dist/glyph-linux/glyph # Usage: ./install.sh ./dist/qrscript-linux/qrscript
set -e set -e
PLATFORM="$1" PLATFORM="$1"
SOURCE_BIN="./dist/glyph-$PLATFORM/glyph" SOURCE_BIN="./dist/qrscript-$PLATFORM/qrscript"
INSTALL_DIR="$HOME/.local/bin" INSTALL_DIR="$HOME/.local/bin"
TARGET="$INSTALL_DIR/glyph" TARGET="$INSTALL_DIR/qrscript"
if [[ ! -x "$SOURCE_BIN" ]]; then if [[ ! -x "$SOURCE_BIN" ]]; then
echo "❌ Error: Provide a valid built glyph binary as the first argument." echo "❌ Error: Provide a valid built qrscript binary as the first argument."
exit 1 exit 1
fi fi
@ -23,6 +23,6 @@ if [[ ":$PATH:" != *":$INSTALL_DIR:"* ]]; then
echo "⚠️ $INSTALL_DIR is not in your PATH. Consider adding this to your shell profile:" echo "⚠️ $INSTALL_DIR is not in your PATH. Consider adding this to your shell profile:"
echo " export PATH=\"\$HOME/.local/bin:\$PATH\"" echo " export PATH=\"\$HOME/.local/bin:\$PATH\""
else else
echo "✅ Installed glyph to $TARGET" echo "✅ Installed qrscript to $TARGET"
echo "Run 'glyph --help' to get started." echo "Run 'qrscript --help' to get started."
fi fi

View file

@ -0,0 +1,2 @@
global using QRScript;
global using QRScript.Extensions;

View file

@ -0,0 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="NUnit" Version="3.14.0" />
<PackageReference Include="NUnit.Analyzers" Version="3.9.0" />
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
</ItemGroup>
<ItemGroup>
<Using Include="NUnit.Framework" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\QRScript\QRScript.csproj" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,15 @@
namespace QRScript.Test;
public class Tests
{
[SetUp]
public void Setup()
{
}
[Test]
public void Test1()
{
Assert.Pass();
}
}

14
QRScript/QRScript.csproj Normal file
View file

@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AssemblyName>QRScript.Interpreter</AssemblyName>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DynamicExpresso.Core" Version="2.19.0" />
</ItemGroup>
</Project>

View file

@ -1,4 +1,4 @@
namespace Glyph; namespace QRScript;
using DynamicExpresso; using DynamicExpresso;

View file

@ -1,4 +1,4 @@
namespace Glyph.Extensions; namespace QRScript.Extensions;
using System.Text; using System.Text;

View file

@ -1,6 +1,6 @@
# 💾 Glyph # 💾 QR Script
Glyph is a human-readable esoteric programming language that is designed to fit into a 57x57 QR code (~1,187 characters). With the initial interpreter scaffold together using GPT, it is written C# with the interpreter based on Dynamic Expresso. QR Script is a human-readable esoteric programming language that is designed to fit into a 57x57 QR code (~1,187 characters). With the initial interpreter scaffold together using GPT, it is written C# with the interpreter based on Dynamic Expresso.
## 🎛️ Features ## 🎛️ Features