This extension adds Progress 4GL/OpenABL language support to the Zed editor.
- Syntax highlighting for Progress 4GL/OpenABL files
 - Support for common file extensions (.p, .i, .w, .cls)
 - Recognition of:
- Keywords and control structures
 - Data types
 - Functions and procedures
 - Classes and interfaces
 - Variables and field references
 - Comments (both line and block style)
 - String literals
 - Numbers and operators
 - Preprocessor directives
 
 
- 
Clone this repository:
git clone https://github.com/vasiv/zed-progress.git
 - 
Build the extension:
cargo build --release
 - 
Install the extension in Zed:
- Open Zed
 - Press 
Cmd+Shift+Pto open the command palette - Select "Extensions: Install Extension"
 - Choose the built extension from the target/release directory
 
 
The extension automatically activates for files with the following extensions:
.p(Progress source files).i(Include files).w(Window files).cls(Class files)
This extension uses:
- tree-sitter-abl for parsing
 - Zed's extension API for syntax highlighting and language support
 
- Ensure you have Rust installed
 - Clone the repository
 - Run 
cargo build 
Create a test file with the .p extension and open it in Zed to verify syntax highlighting.
Example:
/* Example Progress 4GL code */
DEFINE VARIABLE customer AS CHARACTER NO-UNDO.
DEFINE TEMP-TABLE tt_customer
    FIELD cust_num AS INTEGER
    FIELD name AS CHARACTER
    INDEX cust_num IS PRIMARY UNIQUE cust_num.
PROCEDURE getCustomer:
    DEFINE INPUT PARAMETER p_cust_num AS INTEGER.
    DEFINE OUTPUT PARAMETER p_name AS CHARACTER.
    
    FIND FIRST customer WHERE customer.cust_num = p_cust_num NO-LOCK.
    p_name = customer.name.
END PROCEDURE.Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details.
- tree-sitter-abl for the Progress 4GL grammar
 - Zed for the excellent editor and extension API
 
For issues and feature requests, please create an issue on GitHub.