ELPL Language Support
The official extension for the ELPL programming language, optimized for both VS Code and Cursor.
[](https://mujtabaishaq5.github.io/ELPL-Official/)
ELPL Language Support transforms your editor into a complete development environment for the ELPL programming language. It provides a seamless, out-of-the-box experience with advanced syntax highlighting, intelligent snippets, custom file icons, and direct code execution capabilities.
Core Features
- Rich Syntax Highlighting: Full grammar support and colorization for all
.elpl files.
- Intelligent Code Snippets: Quickly scaffold common ELPL constructs to speed up development.
- One-Click Execution: Run your ELPL scripts directly inside the editor using the dedicated Play button in the editor title bar.
- Keyboard Shortcuts: Instantly compile and run code using
Cmd+Enter on macOS, or Ctrl+Enter on Windows and Linux.
- Visual Organization: Distinctive custom ELPL file icons help you navigate your project tree at a glance.
- Broad Environment Support: Fully compatible with macOS, Linux, and Windows architectures.
⚙️ Requirements & Setup
To get the most out of this extension, ensure your environment meets the following specifications:
- Editor: VS Code version 1.62.3 or higher (or any compatible version of Cursor).
- Compiler: The ELPL executable must be installed and accessible on your machine (e.g., globally at
/usr/local/bin/elplc). Note: A bundled version is also provided within the extension.
Extension Settings
You can customize the extension via your editor settings (Cmd+, on macOS / Ctrl+, on Windows/Linux) by navigating to Extensions → ELPL.
| Setting |
Description |
Default |
elpl.executablePath |
The absolute path to your local ELPL executable. |
(Empty - Uses bundled version) |
Example: /usr/local/bin/elpl.
📚 Documentation & Resources
🌐 Visit the Official ELPL Website to explore detailed code samples, a comprehensive syntax overview, and compiler documentation.
⚠️ Known Issues
- File Permissions: The extension requires the ELPL executable to have proper execution permissions on your operating system.
- Path Configuration: Running code on systems where the custom executable path is misconfigured may result in execution failures.
- Syntax Strictness: Certain advanced ELPL features, such as Java directives, currently require strict and proper syntax to avoid throwing compiler errors.
🕒 Release History
Click to expand the full Extension & Compiler Changelog
Extension Updates (7.0.0 - 7.2.9)
7.3.0 Update to ELPL Bug fixes, Improvements, Optimisation.
- 7.2.9 / 7.2.8: Update to ELPL with better compilation, bug fixes, and improvements.
- 7.2.6: Integrates the
elplc compiler updates.
- 7.2.1 - 7.2.3: Rolled out dedicated support for
macArm x64, Linux x64, and Windows x64.
- 7.1.9: Added Markdown recognition.
- 7.1.7: Added Object Oriented Programming support, better error reporting, and performance improvements.
- 7.1.6: Added support for multi-threading and new keywords.
- 7.1.2: Introduced Standard libraries,
List structures, and new built-in methods.
- 7.0.7: Added new assignment operators:
pels (+=), mels (*=), dels (/=), sels (-=), mls (%=).
- 7.0.6: Improved interoperability with Java, specifically better handling of
float and arrays.
- 7.0.0: Initial full release featuring syntax highlighting, snippets, run functionality, and custom icons.
ELPL Compiler Milestones (6.6.6 - 7.9.9:19)
- 7.9.9:19: Better compilation, modifier issues fixed, major bug fixes, and new keywords added.
- 7.5.9: Introduction of
elplc (ELPL compiler), making it fully interoperable with JVM languages (Java, Kotlin, Scala, Groovy, Clojure). Added Android development support, better diagnostics, and completions.
- 7.0.0: Major OOP update adding Classes, Interfaces, Abstract classes, and Nested classes. Introduced Generics Beta v1.0 and an optimized binary.
- 6.8.7: Added
printnl (print with newline) and Thread support for concurrent programming.
- 6.8.5 - 6.8.6: Introduced switch statements,
continue keyword for loop control, and nl keyword for newline.
- 6.8.0: Rolled out standard libraries (
elpl.sys.io, elpl.sys.Math), added List, and new built-in methods.
- 6.7.6: Added built-in Map methods (
.delete(), .clear(), .has()), exception handling, and improved Java interop.
- 6.7.0: Multidimensional array support, improved
foreach loops, and Maps.
Enjoy coding in ELPL! 🚀
| |