Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>CCL Language Support - Developed by Noah LimNew to Visual Studio Code? Get it now.
CCL Language Support - Developed by Noah Lim

CCL Language Support - Developed by Noah Lim

Noah Lim

| (0) | Free
Syntax highlighting, IntelliSense, and formatting for CCL (Cerner Command Language)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CCL Language Support for VS Code

A comprehensive VS Code extension providing syntax highlighting, IntelliSense, and code formatting for CCL (Cerner Command Language).

Features

🎨 Syntax Highlighting

  • Full CCL syntax highlighting with TextMate grammar
  • Support for keywords, functions, data types, operators, and comments
  • Proper color coding for different language elements

🧠 IntelliSense

  • Auto-completion for CCL keywords, functions, and data types
  • Context-aware suggestions based on cursor position
  • Function signatures with parameter hints
  • Hover documentation for functions and keywords

✨ Code Formatting

  • Automatic code formatting with configurable options
  • Indentation management for control structures
  • Keyword case conversion (upper/lower/preserve)
  • Configurable indentation size

⚙️ Configuration

  • Enable/disable formatting and IntelliSense
  • Customizable indentation size
  • Keyword case preferences
  • Language-specific settings

Installation

  1. Install the extension from the VS Code marketplace
  2. Open a .ccl or .prg file
  3. The extension will automatically activate

Usage

File Associations

The extension automatically associates with:

  • .ccl files
  • .prg files

Commands

  • CCL: Format CCL Document - Format the entire document
  • Right-click context menu: "Format Document" when editing CCL files

Configuration Options

Add these settings to your VS Code settings.json:

{
  "ccl.format.enable": true,
  "ccl.format.indentSize": 2,
  "ccl.format.keywordCase": "upper",
  "ccl.intellisense.enable": true
}

Configuration Details

  • ccl.format.enable (boolean, default: true)

    • Enable or disable CCL code formatting
  • ccl.format.indentSize (number, default: 2)

    • Number of spaces to use for indentation
  • ccl.format.keywordCase (string, default: "upper")

    • Case for SQL keywords: "upper", "lower", or "preserve"
  • ccl.intellisense.enable (boolean, default: true)

    • Enable or disable IntelliSense for CCL

Supported CCL Features

Keywords

  • Control flow: IF, ELSE, WHILE, FOR, CASE, BEGIN, END
  • SQL operations: SELECT, INSERT, UPDATE, DELETE, FROM, WHERE
  • Joins: JOIN, LEFT JOIN, RIGHT JOIN, INNER JOIN, OUTER JOIN
  • Functions: COUNT, SUM, AVG, MIN, MAX, CAST, CONVERT

Data Types

  • Numeric: INT, BIGINT, DECIMAL, FLOAT, REAL
  • String: CHAR, VARCHAR, TEXT
  • Date/Time: DATE, TIME, DATETIME, TIMESTAMP
  • Other: BOOLEAN, BIT, BINARY, XML, JSON

Functions

  • Date/Time: GETDATE, CURRENT_TIMESTAMP, YEAR, MONTH, DAY
  • String: SUBSTRING, LEN, UPPER, LOWER, REPLACE
  • Mathematical: ROUND, CEILING, FLOOR, ABS, POWER
  • Aggregate: COUNT, SUM, AVG, MIN, MAX

Development

Building the Extension

  1. Clone the repository
  2. Install dependencies:
    npm install
    
  3. Compile TypeScript:
    npm run compile
    
  4. Package the extension:
    vsce package
    

Project Structure

├── src/
│   ├── extension.ts          # Main extension entry point
│   ├── completionProvider.ts # IntelliSense provider
│   ├── hoverProvider.ts      # Hover documentation provider
│   └── formatter.ts          # Code formatting provider
├── syntaxes/
│   └── ccl.tmLanguage.json   # TextMate grammar for syntax highlighting
├── language-configuration.json # Language configuration
├── package.json              # Extension manifest
└── tsconfig.json            # TypeScript configuration

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

This extension is licensed under the MIT License.

Support

For issues, feature requests, or questions:

  • Open an issue on GitHub
  • Check the documentation
  • Review the configuration options

Changelog

Version 1.0.0

  • Initial release

  • Syntax highlighting for CCL

  • IntelliSense with auto-completion

  • Code formatting with configurable options

  • Hover documentation for functions and keywords

  • Language configuration for CCL files

  • Developed By - Noah William Lim, a Developer at LHSC

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft