NoteThis pull request proceeds to a "major" version: v2 v1.3.0
This pull request makes the following changes:
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 values instead of strings
Keys have been arranged according to their ANSI escape codes
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 v1.3.1 or in a future version (TODO)
This pull request makes the following changes:
Hyperlink detection
TERM_PROGRAM
variable checking is stricter now, with the help ofTERM_PROGRAM_VERSION
constraints. This is a breaking changehasEnv
,checkAllEnvs
,matchesEnv
etc., have been addedVersion
.parseVersion
now returns this struct of three variables instead of three standalone variables calledmajor
,minor
, andpatch
os.Getenv()
has been replaced withos.LookupEnv()
FORCE_HYPERLINK
variable, and forces hyperlinks as long as the variable's value is any of[]string{"1", "true", "always", "enabled"}
COLORTERM
variableVTE_VERSION
Color Handling
colorsList
map now has integer values instead of stringsparseColor("reset")
has been replaced with an escape code to avoid additional processingDependencies
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 anywaysassert
testing library, which is only used for testing purposes and has no effect on mainDocumentation
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 textsTests
fatih/color
package has been removedv2.1v1.3.1 or in a future version (TODO)