Conversation
This workflow automatically marks and closes stale issues and pull requests based on inactivity.
* feat: Add unified installer script for HypnoScript runtime - Introduced `install.sh` for automatic installation, updates, and uninstallation of HypnoScript runtime. - Updated GitHub Actions workflow to include the installer in release artifacts. - Enhanced documentation to include instructions for using the new installer. - Added self-update functionality to the CLI for checking and installing the latest version. - Updated package dependencies in `Cargo.toml` for improved functionality. - Modified build scripts to copy the new installer script into release packages. * fix: Update regex patterns for branch type matching in labeler configuration
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
… für bessere Lesbarkeit und Sicherheit
…einfachung von Bedingungen in mehreren Dateien
…e die Lesbarkeit von Bedingungen in mehreren Dateien
…rkeit der Bedingung in `find_shared_installer`
…self_update` für bessere Lesbarkeit
…ierung hinzu; verbessere CLI-Befehlsübersicht und Installationstext
… Ausgaben, um die Konsistenz zu verbessern und die Benutzererfahrung zu vereinfachen.
…ge als informativ, um übermäßige Warnungen zu vermeiden.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…e Umgebungsvariablenbehandlung; füge Sicherheitswarnungen hinzu und optimiere die Fehlerbehandlung in der Skriptlogik.
…re die Fehlerbehandlung im Installer-Skript.
…urch Vereinfachung der Funktionsaufrufe zur Ableitung des Installationspfads.
…r Winget-Manifestdatei; füge ein Skript zur Synchronisierung der Version hinzu.
…staktualisierungsprozess
* feat: Add API and CLI builtins for HTTP requests and command-line argument parsing - Introduced `api_builtins` module for handling HTTP requests with support for various methods and authentication strategies. - Added `cli_builtins` module for parsing command-line arguments and prompting user input. - Implemented `data_builtins` for JSON and CSV utilities, including parsing, querying, and serialization. - Enhanced `file_builtins` with functions for reading and writing lines to files, and copying directories recursively. - Created `service_builtins` for managing service health metrics and retry schedules. - Added localization support with `localization` module for handling translations and locale detection. - Updated `Cargo.toml` to include new dependencies for HTTP and CSV handling. - Added tests for new functionalities to ensure reliability and correctness. chore: Bump version to 1.0.0-rc3 in package.json and build scripts * Enhance HypnoScript with new features and improvements - Updated README.md to reflect new built-in functions and performance improvements. - Added cryptographic functions (SHA-256, SHA-512, MD5, Base64, UUID) to hashing_builtins.rs. - Implemented functional programming operations (map, filter, reduce, etc.) in array_builtins.rs. - Introduced localization support in core_builtins.rs for hypnotic functions. - Expanded math_builtins.rs with additional mathematical functions (inverse trig, hyperbolic, angle conversion). - Enhanced string_builtins.rs with new string manipulation functions (trim, insert, remove, wrap text). - Increased test coverage across all built-in functions to ensure reliability and correctness. * Add advanced string manipulation and dictionary builtins - Introduced `advanced_string_builtins` module with functions for string similarity metrics, phonetic algorithms, and fuzzy matching utilities. - Enhanced `string_builtins` with comprehensive documentation and Unicode-aware methods. - Implemented `dictionary_builtins` for key-value collection operations, including creation, retrieval, and manipulation of JSON-based dictionaries. - Added `builtin_trait` for consistent error handling and metadata across builtin modules. - Updated `lib.rs` to include new modules and re-export relevant types for easier access. * feat: Add collection builtins and enhance existing modules with metadata and examples * feat: Enhance HypnoScript Compiler with Native Code Generation and Optimizations - Added support for compiling HypnoScript to native binaries targeting various platforms (Windows, macOS, Linux). - Introduced a new `NativeCodeGenerator` module with configuration options for optimization levels and target platforms. - Implemented a basic structure for code optimization, including constant folding and placeholders for additional optimization passes. - Added a `WasmBinaryGenerator` for generating binary WebAssembly (.wasm) files directly from the AST. - Updated the CLI to support new commands for compiling to native binaries and optimizing HypnoScript code. - Enhanced documentation for new features and modules, including usage examples. - Added test cases for the new compiler features and optimizations. * feat: Update HypnoScript Compiler with Cranelift backend and enhance WASM generation - Added support for Cranelift as the native code generation backend. - Updated .gitignore to exclude compiled artifacts. - Enhanced README with detailed features and usage examples. - Improved documentation in lib.rs and native_codegen.rs. - Implemented session handling and function declarations in WASM code generation. - Removed obsolete test_compiler.hyp file. * feat: Introduce new language features including embed, pendulum loops, murmur for debug output, and pattern matching with entrain - Added `embed` for deep variable declarations. - Implemented `pendulum` for bidirectional loop syntax. - Introduced `murmur` for quiet debug output. - Added pattern matching capabilities with `entrain`, including support for literals, identifiers, and guards. - Implemented nullish coalescing operator (`lucidFallback`) and optional chaining (`dreamReach`). - Enhanced the parser and token definitions to support new keywords and syntax. - Created comprehensive test cases for all new features to ensure functionality and correctness. * feat: Implement loop statement enhancements with support for initialization, condition, and update clauses; unify loop and pendulum syntax * feat: Enhance variable handling by introducing storage types and updating declaration parsing * fix: Update error messages in DataError enum to English
* Implement tranceify feature for custom record types - Added support for defining custom record types using the `tranceify` keyword in the HypnoScript language. - Introduced `RecordValue` struct to represent record instances. - Enhanced the `Value` enum to include records and updated related methods for equality, display, and truthiness checks. - Implemented type checking for tranceify declarations and record literals, ensuring field existence and type compatibility. - Updated the AST to include nodes for tranceify declarations and record literals. - Enhanced the parser to handle tranceify declarations and record literals. - Created comprehensive test cases for various tranceify scenarios, including basic declarations, nested records, and calculations. - Added documentation for tranceify in the language reference and examples section. * Add documentation for hypnotic operator synonyms, pattern matching, and triggers - Introduced a new document for hypnotic operator synonyms, detailing their usage and examples. - Created a comprehensive guide on pattern matching with `entrain`, including various pattern types and real-world examples. - Added a section on triggers, explaining their purpose, syntax, and integration with event handling and asynchronous operations. - Updated syntax documentation to reflect changes in function definitions from `Trance` to `suggestion`. - Enhanced the interpreter reference with examples of robust error handling and recursion limits. - Updated the parser documentation to include supported language constructs and examples. * Füge Regeln für Top-Level-Blöcke hinzu: `entrance` und `finale` sind nur auf oberster Ebene erlaubt; Parser-Fehler für ungültige Platzierungen implementiert. * Refactor code for improved readability and maintainability - Cleaned up formatting and indentation in `wasm_codegen.rs`, `parser.rs`, and various built-in modules for consistency. - Enhanced error messages and localization support in built-in modules. - Added new test case for parsing entrain with record pattern in `parser.rs`. - Updated version numbers in `package.json` and build scripts to 1.0.0-rc4. - Improved handling of record field patterns in `parser.rs`. - Refactored function signatures for clarity in multiple built-in modules. - Adjusted assertions in tests for better readability. * Aktualisiere hypnotische Synonyme für Vergleichsoperatoren und füge Hinweise zur String-Konkatenation hinzu; verbessere Dokumentation für Pattern Matching.
There was a problem hiding this comment.
Pull Request Overview
This pull request introduces HypnoScript 1.0.0-rc4, a major release adding significant language features and runtime capabilities. The changes establish a more mature, feature-complete hypnotic programming language with modern constructs like pattern matching, async/await, nullish operators, and record types.
Key Changes:
- New language features: pattern matching (
entrain/when/otherwise), triggers (event callbacks), record types (tranceify), async operations (await/surrenderTo), and nullish operators (??,?.) - Expanded runtime with 10+ new builtin modules including localization (i18n), API/HTTP client, CLI utilities, data processing (CSV/JSON), and service-oriented features
- Enhanced parser with strict context enforcement for
entrance/finale/trigger(top-level only), improved loop syntax supporting both infinite and C-style for-loops - Comprehensive test coverage with 185+ tests across new features
Reviewed Changes
Copilot reviewed 80 out of 81 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
scripts/* |
Version bump to 1.0.0-rc4 across all build scripts (Windows, macOS, Linux, DEB) |
package.json |
Version update for workspace documentation tooling |
hypnoscript-tests/*.hyp |
New test files for tranceify, pattern matching, pendulum loops, async, channels, and extended builtins |
hypnoscript-runtime/src/*_builtins.rs |
Added/enhanced 10+ builtin modules with BuiltinModule trait, i18n support, and comprehensive documentation |
hypnoscript-runtime/src/localization.rs |
New i18n framework with Locale and LocalizedMessage types |
hypnoscript-runtime/src/builtin_trait.rs |
DRY-compliant trait for standardizing builtin modules with metadata and error handling |
hypnoscript-runtime/Cargo.toml |
New dependencies: reqwest, csv, sha2, md5, base64, uuid |
hypnoscript-lexer-parser/src/token.rs |
20+ new token types for modern language features (embed, pendulum, entrain, await, etc.) |
hypnoscript-lexer-parser/src/lexer.rs |
Support for =>, ??, ?., ..., |, & operators |
hypnoscript-lexer-parser/src/parser.rs |
Pattern matching, record literals, loop enhancements, context-aware parsing with top-level enforcement |
hypnoscript-lexer-parser/src/ast.rs |
New AST nodes for entrain, tranceify, await, nullish operators, optional chaining |
hypnoscript-docs/docs/**/*.md |
Comprehensive documentation for triggers, tranceify, pattern matching, operator synonyms |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… und WatchChannel; verbessere Fehlerbehandlung und Codequalität in verschiedenen Modulen
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 83 out of 84 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This pull request introduces significant enhancements and updates to the HypnoScript project, focusing on expanding language features, improving documentation, and adding new CLI capabilities. The changes include a major update to the README with detailed feature lists and examples, new compiler and runtime capabilities, expanded test coverage, and additional dependencies for CSV and HTTP support. The CLI now supports native compilation and advanced optimization options.
Major Documentation and Feature Updates:
README.mdto document new language features such as hypnotic operator synonyms, advanced pattern matching, triggers (event-driven callbacks), nullish operators, and extended builtins. Added comprehensive examples and references to detailed docs. (Fcd54cc8L9R106, README.mdR289-R446)README.md, including new compiler backend components and improved documentation references.CLI and Build System Improvements:
CompileNative) and code optimization (Optimize), with support for target platforms and optimization levels.Cargo.tomlto includereqwest(HTTP client) andcsv, preparing for future runtime and utility features.1.0.0-rc4inCargo.toml.Quality and Linting Enhancements:
README.md, updating linting commands to use all targets and features for Clippy.Compiler and Runtime Expansion:
NativeCodeGenerator,Optimizer,OptimizationLevel,TargetPlatform, andWasmBinaryGenerator.These changes collectively make HypnoScript more robust, feature-rich, and developer-friendly, laying the groundwork for advanced compilation targets and language ergonomics.