Skip to content

feat: Add Phase 1 languages (Bash, C, C++, C#, COBOL) to CodeLang#271

Merged
johnnygreco merged 3 commits intomainfrom
feat/add-phase1-languages
Jan 31, 2026
Merged

feat: Add Phase 1 languages (Bash, C, C++, C#, COBOL) to CodeLang#271
johnnygreco merged 3 commits intomainfrom
feat/add-phase1-languages

Conversation

@kirit93
Copy link
Contributor

@kirit93 kirit93 commented Jan 30, 2026

Add support for five high-priority programming languages to Data Designer's code generation capabilities:

  • Bash: Universal DevOps and automation scripting
  • C, C++, C#: Systems programming and enterprise development
  • COBOL: Legacy mainframe systems and modernization

These languages address critical enterprise use cases including legacy code maintenance, systems programming, and infrastructure automation.

Changes:

  • Add new CodeLang enum values for bash, c, cpp, csharp, cobol
  • Update code_lang_to_syntax_lexer() with Pygments lexer mappings
  • Update documentation to reflect new supported languages
  • Update tests to account for 21 total supported languages (up from 16)

@kirit93 kirit93 requested a review from a team as a code owner January 30, 2026 17:42
Add support for five high-priority programming languages to Data Designer's
code generation capabilities:

- **Bash**: Universal DevOps and automation scripting
- **C, C++, C#**: Systems programming and enterprise development
- **COBOL**: Legacy mainframe systems and modernization

These languages address critical enterprise use cases including legacy code
maintenance, systems programming, and infrastructure automation.

Changes:
- Add new CodeLang enum values for bash, c, cpp, csharp, cobol
- Update code_lang_to_syntax_lexer() with Pygments lexer mappings
- Update documentation to reflect new supported languages
- Update tests to account for 21 total supported languages (up from 16)
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 30, 2026

Greptile Overview

Greptile Summary

This PR successfully adds support for 5 new programming languages to DataDesigner's code generation capabilities: Bash, C, C++, C#, and COBOL.

Changes:

  • Added 5 new CodeLang enum values in alphabetical order
  • Updated code_lang_to_syntax_lexer() mapping with appropriate Pygments lexer names for the new languages
  • Updated test count from 16 to 21 supported languages
  • Updated documentation to accurately list all supported languages in alphabetical order

Implementation Quality:

  • All changes follow the existing pattern and maintain alphabetical ordering
  • Pygments lexers exist for all new languages (bash, c, cpp, csharp, cobol)
  • Documentation and tests are properly synchronized with code changes
  • The implementation is clean with no issues found

Confidence Score: 5/5

  • This PR is safe to merge - it's a straightforward feature addition with proper test coverage
  • All changes are minimal, well-structured, and follow existing patterns. The implementation correctly adds enum values, lexer mappings, and updates tests/docs accordingly. No logic errors or breaking changes.
  • No files require special attention

Important Files Changed

Filename Overview
packages/data-designer-config/src/data_designer/config/utils/code_lang.py Added 5 new language enum values (bash, c, cobol, cpp, csharp) and their Pygments lexer mappings in alphabetical order
packages/data-designer-config/tests/config/utils/test_code_lang.py Updated test to reflect 21 total supported languages (up from 16)
docs/concepts/columns.md Updated documentation to list all 15 supported non-SQL languages in alphabetical order

Sequence Diagram

sequenceDiagram
    participant User
    participant ConfigBuilder
    participant CodeLang
    participant CodeResponseRecipe
    participant LLMResponseParser
    participant Pygments

    User->>ConfigBuilder: Create LLMCodeColumnConfig(code_lang="bash")
    ConfigBuilder->>CodeLang: Validate "bash" enum value
    CodeLang-->>ConfigBuilder: Valid CodeLang.BASH
    
    Note over ConfigBuilder: Configuration stored

    User->>ConfigBuilder: Generate dataset
    ConfigBuilder->>CodeResponseRecipe: Initialize with syntax="bash"
    CodeResponseRecipe->>CodeLang: parse_lang("bash")
    CodeLang-->>CodeResponseRecipe: "bash"
    
    CodeResponseRecipe->>CodeResponseRecipe: Set task_instructions with "bash"
    CodeResponseRecipe-->>ConfigBuilder: Ready for generation
    
    Note over ConfigBuilder,LLMResponseParser: LLM generates code response
    
    LLMResponseParser->>LLMResponseParser: Extract code from ```bash fence
    LLMResponseParser-->>ConfigBuilder: Parsed bash code
    
    opt Syntax Highlighting
        ConfigBuilder->>CodeLang: code_lang_to_syntax_lexer(CodeLang.BASH)
        CodeLang-->>ConfigBuilder: "bash"
        ConfigBuilder->>Pygments: get_lexer_by_name("bash")
        Pygments-->>ConfigBuilder: BashLexer instance
    end
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@kirit93 kirit93 force-pushed the feat/add-phase1-languages branch from b4bba34 to 37a337f Compare January 30, 2026 17:46
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@johnnygreco johnnygreco merged commit 9e1c6ec into main Jan 31, 2026
46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants