Bob/bob-language-extension/version-info.md
Bobby Lucero 17c15e5bad Various changes
Arrays, loops, ternary, and other major features. Check doc
2025-08-06 21:42:09 -04:00

73 lines
2.5 KiB
Markdown

# Bob Language Extension v0.3.0
## What's New
### ✨ New Features Added
#### **Enhanced Array Support**
- **Auto-truncating float indices**: `array[3.14]``array[3]` (like JavaScript/Lua)
- **Increment/decrement on array elements**: `array[0]++`, `++array[1]`
- **Improved array operations**: Better error handling and bounds checking
#### **New Built-in Functions**
- `toInt()` - convert floats to integers (truncates decimals)
- Enhanced error reporting for all built-in functions
#### **Increment/Decrement Operators**
- **Prefix increment**: `++x`
- **Postfix increment**: `x++`
- **Prefix decrement**: `--x`
- **Postfix decrement**: `x--`
- **Works on variables and array elements**
#### **Cross-Type Comparisons**
- **Equality operators** (`==`, `!=`) work with any types
- **Comparison operators** (`>`, `<`, `>=`, `<=`) only work with numbers
- **Clear error messages** for type mismatches
#### **Compound Assignment Operators**
- **Enhanced error reporting** with correct operator names
- **Consistent behavior** across all compound operators
- **Better type checking** before operations
#### **New Code Snippets**
- `toint` - Convert float to integer
- `compound` - Compound assignment operators
- `inc` - Increment variable
- `dec` - Decrement variable
- `arrayinc` - Increment array element
- `arraydec` - Decrement array element
- `crosscomp` - Cross-type comparison
- `floatindex` - Array access with float index
### 🎨 Syntax Highlighting Improvements
- Support for `toInt()` built-in function
- Enhanced operator recognition for increment/decrement
- Better array indexing syntax support
### 📝 Documentation Updates
- Comprehensive array documentation with auto-truncation examples
- New built-in function documentation (`toInt`, enhanced error reporting)
- Cross-type comparison behavior documentation
- Increment/decrement operator documentation
- Compound assignment operator documentation
### 🐛 Bug Fixes
- **Fixed array printing** - arrays no longer show as "unknown"
- **Enhanced error reporting** - all errors now use the error reporter system
- **Improved type checking** - better error messages for type mismatches
- **Memory management** - better cleanup of unused functions and arrays
## Installation
To create the VSIX package:
1. Install Node.js and npm
2. Run `npm install -g vsce`
3. Run `./package-vsix.sh`
The extension will be packaged as `bob-language-0.3.0.vsix`
## Compatibility
- VS Code 1.60.0+
- Cursor (VS Code compatible)
- All platforms (Windows, macOS, Linux)