This library converts ANSI escape sequences to Windows API calls on Windows environment. You can easily use this feature by replacing fmt with ansi.
This package is a simple tracing application that logs messages depending on environment variables. It is very much inspired by git's GIT_TRACE mechanism.
Package imohash implements a fast, constant-time hash for files. It is based atop murmurhash3 and uses file size and sample data to construct the hash.
websspi
is an HTTP middleware for Golang that uses Kerberos/NTLM for single sign-on (SSO) authentication of browser based clients in a Windows environment.
Package testfs provides a simple fs.FS
which is contained in a test (using testing.TB's TempDir
) and with a few helper methods.
Package vfsgen
takes an http.FileSystem
(likely at go generate
time) and generates Go code that statically implements the provided http.FileSystem
.
This package provides an implementation of the Alphanum Algorithm developed by Dave Koelle in Go.
This package provides isatty
, a Go module that can tell you whether a file descriptor points to a terminal and the type of the terminal.
go-github-com-klauspost-pgzip
implements reading and writing of gzip format compressed files, as specified in RFC 1952.
Cobra provides its own program that will create your application and add any commands you want. It's the easiest way to incorporate Cobra into your application.
This project houses, what I consider to be some help packages for writing Go applications. Your mileage may vary, but I find them to be pretty darn helpful.
This package provides a simple little tool that produces readable diff of 2 JSON-able and convertible to map[string]interface
objects. Useful for diagnostics or debugging
Package urlpath matches paths against a template. It's meant for applications that take in REST-like URL paths, and need to validate and extract data from those paths.
This is a native Go implementation of the xxHash algorithm, an extremely fast non-cryptographic hash algorithm, working at speeds close to RAM limits.
go-github-com-c4milo-unpackit
allows you to easily unpack *.tar.gz, *.tar.bzip2, *.tar.xz, *.zip and *.tar files. CGO is not involved nor hard dependencies of any type.
emacs-git-messenger
provides git-messenger:popup-message
, a function that when called, will popup the last git commit message for the current line. This uses git-blame internally.
The gemini
package implements the Gemini protocol in Go. It provides an API similar to that of NET/HTTP to facilitate the development of Gemini clients and servers.
Osext provides a method for finding the current executable file that is running. This can be used for upgrading the current executable or finding resources located relative to the executable file.
Package snaker provides methods to convert CamelCase names to snake_case and back. It considers the list of allowed initialsms used by github.com/golang/lint/golint (e.g. ID or HTTP)
Package vaxis is a terminal user interface for modern terminals. It supports supports modern terminal features, such as styled underlines and graphics. A widgets package is provided with some useful widgets.
GopherLua is a Lua5.1(+ goto statement in Lua5.2) VM and compiler. It provides Go APIs that allow you to easily embed a scripting language to your Go host programs.
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code.
Package safehtml provides immutable string-like types which represent values that are guaranteed to be safe, by construction or by escaping or sanitization, to use in various HTML contexts and with various DOM APIs.
This package provides yq
, a command-line YAML, JSON and XML processor. It uses jq
-like syntax but works with YAML files as well as JSON, XML, properties, CSV and TSV.