Skip to content

v1.3.0

Latest
Compare
Choose a tag to compare
@savioxavier savioxavier released this 12 Jun 11:16
3afa4f8

Note
Remaking this because Go's semver is completely different
This was originally v2.0.0 but apparently Go accepts only v0 or v1
Either ways, a complete v2 package (with a v2/ directory) is not required as this fixes issues, mostly, not change the API

Information

  • Release of termlink with a few breaking changes in the form of version parsing fixes

Hyperlink detection

  • Hyperlink detection has been greatly improved
  • New variables and variable checks have been introduced
  • TERM_PROGRAM variable checking is stricter now, with the help of TERM_PROGRAM_VERSION constraints. This is a breaking change
  • Multiple handling functions for environment variable detection such as hasEnv, checkAllEnvs, matchesEnv etc., have been added
  • Version handling is now in a form of a struct called Version. parseVersion now returns this struct of three variables instead of three standalone variables called major, minor, and patch
  • Version scanning now works with version that don't even contain dots
  • os.Getenv() has been replaced with os.LookupEnv()
  • termlink now respects the FORCE_HYPERLINK variable, and forces hyperlinks as long as the variable's value is any of []string{"1", "true", "always", "enabled"}
  • Added support for more terminals including vscode and alacritty (possibly fixes #7)
  • Added support for COLORTERM variable
  • Fixed incorrect version condition for VTE_VERSION

Color Handling

  • colorsList map now has integer keys instead of strings
  • Keys have been arranged according to their ANSI escape code
  • Detecting and adding valid colors from a termlink style color string has been refactored and simplified
  • Colors are initially cleared upon entry to avoid redundant color codes
  • parseColor("reset") has been replaced with an escape code to avoid additional processing

Dependencies

  • fatih/color and jwalton/go-supportscolor have both been removed from the project. Checking for color support is unnecessary because this package only requires checking for basic colors. fatih/color wasn't used in the main termlink code anyways
  • Currently, this package is dependency-free
  • The only dependency is the assert testing library, which is only used for testing purposes and has no effect on main

Documentation

  • godoc comments have been improved
  • README.md has been modified with more code snippets and examples for other utilities such as SupportsHyperlinks and shouldForce

Examples

  • examples/start.go has been improved with more examples and texts

Tests

  • The test that included the fatih/color package has been removed
  • Testing will be revamped in v2.1 or in a future version (TODO)