Enry Versions Save

A faster file programming language detector

v2.1.0

4 years ago

New Features

  • sync to the latest github/linguist v7.5.1
  • a new API call for getting HTML colors for languages enry.GetColor(language) Generated from linguist languages.yml

Fixes

  • content-based heuristics improved and new disambiguations were added (.vba for Vim script, .sql for TSQL, GraphQL)
  • shebang-based heuristic ignore osascript -l that can be non-interpretable language
  • vending detection improvements:testdata is ignored as Go fixtures, bulma.css as well
  • 21 new languages added (1 removed: Bro)
    • Altium Designer
    • Cabal Config
    • Dhall
    • EditorConfig
    • HolyC
    • JavaScript+ERB
    • Jsonnet
    • Motorola 68K Assembly
    • ObjectScript
    • Rich Text Format
    • SSH Config
    • Svelte
    • TSQL
    • TSX
    • WebVTT
    • Wollok
    • ZAP
    • ZIL
    • Zeek
    • ZenScript
    • mcfunction

New contributors

@lafriks

v2.0.0

5 years ago

New features

  • First release with go module support.
  • Import directly from github.com/src-d/enry/v2
  • Optional Flex-based tokenizer, same as Linguist uses. Hidden behind -tags flex, improves content classifier accuracy.

Fixes

  • Optional oniguruma-based tokenizer now is based on new Oniguruma v6.x and produces consistent with RE2 results on all the samples from Linguist (including non-utf8).

Full list of issues tracked under v2.0.0 milestone.

v1.7.3

5 years ago

New Features

  • CLI application, when used in file modeenry <filename>, now includes information about file vendoring #217
  • CLI application defaults are now follow GIthub Linguist #214 Only Programming Languages and Markup files are reported -all allows for previous behaviour -prog was removed -mode=bytes is default (instead of files before)

Fixes

  • -mode=lines/bytes produces actual results
  • unusable enry-java JAR artefact is not published on GH release any more. It's only on distributed though Maven.

New contributors

@SuhaibMujahid

v1.7.2

5 years ago

New Features

None

Fixes

  • multiple candidates returned instead of empty slice (e.g for .h) #205
  • github.com/src-d/go-oniguruma is used now #206

New contributors

@kuba--

v1.7.1

5 years ago

New Features

  • siva-java now works on latest macOS Mojave (#191)
  • follow src-d conventions and on CI test compatibility with 2 latest Go versions

v1.7.0

5 years ago

New Features

#189 sync to linguist v7.2.0

Generations of heuristics disambiguating files with the same extensions was simplified, that means

  • quality of the judgements that enry makes about language was improved
  • updates with Linguist upsteam will be done more frequently

Summary of the upstream changes

6 languages removed:

  • Arduino
  • KiCad Board
  • Matlab
  • PAWN
  • Sublime Text Config
  • XPM

43 languages added:

  • AngelScript
  • Asymptote
  • Ballerina
  • Cloud Firestore Security Rules
  • CoNLL-U
  • Common Workflow Language
  • DataWeave
  • EML
  • Edje Data Collection
  • F*
  • FIGlet Font
  • Git Attributes
  • Git Config
  • Glyph Bitmap Distribution Format
  • HAProxy
  • HTML+Razor
  • HXML
  • HiveQL
  • Ignore List
  • JSON with Comments
  • Java Properties
  • KiCad Legacy Layout
  • LTspice Symbol
  • MATLAB
  • Modula-3
  • Nearley
  • Nextflow
  • Pawn
  • Pod 6
  • PostCSS
  • Quake
  • RPC
  • Roff Manpage
  • Slice
  • Solidity
  • SugarSS
  • Windows Registry Entries
  • X BitMap
  • X Font Directory Index
  • X PixMap
  • YARA
  • YASnippet
  • Zig

Known Issues

Although Languages and Heuristics were synced with upstream, it's not reproducing 100% of linguist yet

v1.6.8

5 years ago

New Features

None

Fixes

  • Tokenizer mutating the contents passed in the byte slice #196

New contributors

@creachadair

v1.6.7

5 years ago

New Features

None

Fixes

Release automation on CI

New contributors

@pratik97

v1.6.6

5 years ago

Nothing new from v1.6.5 But .jar aretefacts are actually published on Maven AKA #158

v1.6.5

5 years ago
  • Refactor Oniguruma integration
  • Fix Maven publish steps
  • Clarify GetLanguages usage