linguist icon indicating copy to clipboard operation
linguist copied to clipboard

Add support for DataFlex language - issue #7171

Open sonnyfalk opened this issue 5 months ago • 1 comments

This adds DataFlex language support for .pkg file extension with strict heuristics requiring both a Use statement and a class or function/procedure definition. This will resolve issue #7171.

The main DataFlex language website is https://www.dataflex.dev.

Description

As discussed in issue #7171, the most common DataFlex source file extension is .pkg. Since it's a pretty generic extension, this adds it to generic.yml with some strict rules in heuristics.yml and corresponding tests.

Checklist:

  • [x] I am adding a new language.
    • [x] The extension of the new language is used in hundreds of repositories on GitHub.com.
      • Search results for each extension:
        • https://github.com/search?type=code&q=NOT+is%3Afork+path%3A*.pkg+Procedure+End_Procedure
    • [x] I have included a real-world usage sample for all extensions added in this PR:
      • Sample source(s):
        • https://github.com/DataFlex-dev/DFUnit/blob/release/DFUnit/AppSrc/DFUnit/Testing/TestRunner.pkg
        • https://github.com/DataFlex-dev/JsonWebToken/blob/production/stable/Library/AppSrc/JWT/UnixTime.pkg
      • Sample license(s): MIT License and BSD 3-Clause License.
    • [x] I have included a syntax highlighting grammar: https://github.com/sonnyfalk/vscode-dataflex
    • [x] I have added a color
      • Hex value: #ff5f1f
      • Rationale: This is the DataFlex logo color.
    • [x] I have updated the heuristics to distinguish my language from others using the same extension.
      • This adds new heuristics for .pkg file extension.

sonnyfalk avatar Jul 03 '25 03:07 sonnyfalk

I've made all the changes to address the comments. Please let me know if there's something else that I need to do for this to get merged.

sonnyfalk avatar Jul 23 '25 00:07 sonnyfalk