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 av2/
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 ofTERM_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 calledmajor
,minor
, andpatch
- Version scanning now works with version that don't even contain dots
os.Getenv()
has been replaced withos.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
andjwalton/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 asSupportsHyperlinks
andshouldForce
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)