util

package
v2.0.0-...-bc2b1ed Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// Version is the version number or commit hash
	Version = "0.0.0-unknown"
	// SemVersion is the Semantic version
	SemVersion semver.Version
	// CommitHash is the commit this version was built on
	CommitHash = "Unknown"
	// CompileDate is the date this binary was compiled on
	CompileDate = "Unknown"
	// Debug logging
	Debug = "OFF"
	// FakeCursor is used to disable the terminal cursor and have micro
	// draw its own (enabled for windows consoles where the cursor is slow)
	FakeCursor = false

	// Stdout is a buffer that is written to stdout when micro closes
	Stdout *bytes.Buffer
)

Functions

func Abs

func Abs(n int) int

Abs is a simple absolute value function for ints

func CharacterCount

func CharacterCount(b []byte) int

CharacterCount returns the number of characters in a byte array Similar to utf8.RuneCount but for unicode characters

func CharacterCountInString

func CharacterCountInString(str string) int

CharacterCount returns the number of characters in a string Similar to utf8.RuneCountInString but for unicode characters

func Clamp

func Clamp(val, min, max int) int

Clamp clamps a value between min and max

func DecodeCharacter

func DecodeCharacter(b []byte) (rune, []rune, int)

DecodeCharacter returns the next character from an array of bytes A character is a rune along with any accompanying combining runes

func DecodeCharacterInString

func DecodeCharacterInString(str string) (rune, []rune, int)

DecodeCharacterInString returns the next character from a string A character is a rune along with any accompanying combining runes

func EscapePath

func EscapePath(path string) string

EscapePath replaces every path separator in a given path with a %

func FSize

func FSize(f *os.File) int64

FSize gets the size of a file

func GetCharPosInLine

func GetCharPosInLine(b []byte, visualPos int, tabsize int) int

GetCharPosInLine gets the char position of a visual x y coordinate (this is necessary because tabs are 1 char but 4 visual spaces)

func GetLeadingWhitespace

func GetLeadingWhitespace(b []byte) []byte

GetLeadingWhitespace returns the leading whitespace of the given byte array

func GetMemStats

func GetMemStats() string

GetMemStats returns a string describing the memory usage and gc time used so far

func GetModTime

func GetModTime(path string) (time.Time, error)

GetModTime returns the last modification time for a given file

func GetPathAndCursorPosition

func GetPathAndCursorPosition(path string) (string, []string)

GetPathAndCursorPosition returns a filename without everything following a `:` This is used for opening files like util.go:10:5 to specify a line and column Special cases like Windows Absolute path (C:\myfile.txt:10:5) are handled correctly.

func HttpRequest

func HttpRequest(method string, url string, headers []string) (resp *http.Response, err error)

HttpRequest returns a new http.Client for making custom requests (for lua plugins)

func IntOpt

func IntOpt(opt interface{}) int

IntOpt turns a float64 setting to an int

func IsAutocomplete

func IsAutocomplete(c rune) bool

IsAutocomplete returns whether a character should begin an autocompletion.

func IsBytesWhitespace

func IsBytesWhitespace(b []byte) bool

IsBytesWhitespace returns true if the given bytes are all whitespace

func IsNonAlphaNumeric

func IsNonAlphaNumeric(c rune) bool

IsNonAlphaNumeric returns if the rune is not a number of letter or underscore.

func IsSpaces

func IsSpaces(str []byte) bool

IsSpaces checks if a given string is only spaces

func IsSpacesOrTabs

func IsSpacesOrTabs(str []byte) bool

IsSpacesOrTabs checks if a given string contains only spaces and tabs

func IsWhitespace

func IsWhitespace(c rune) bool

IsWhitespace returns true if the given rune is a space, tab, or newline

func IsWordChar

func IsWordChar(r rune) bool

IsWordChar returns whether or not the string is a 'word character' Word characters are defined as numbers, letters, or '_'

func LuaGetLeadingWhitespace

func LuaGetLeadingWhitespace(s string) string

LuaGetLeadingWhitespace returns the leading whitespace of a string (used by lua plugins)

func LuaIsWordChar

func LuaIsWordChar(s string) bool

LuaIsWordChar returns true if the first rune in a string is a word character

func LuaRuneAt

func LuaRuneAt(str string, runeidx int) string

LuaRuneAt is a helper function for lua plugins to return the rune at an index within a string

func MakeRelative

func MakeRelative(path, base string) (string, error)

MakeRelative will attempt to make a relative path between path and base

func Max

func Max(a, b int) int

Max takes the max of two ints

func Min

func Min(a, b int) int

Min takes the min of two ints

func ParseBool

func ParseBool(str string) (bool, error)

ParseBool is almost exactly like strconv.ParseBool, except it also accepts 'on' and 'off' as 'true' and 'false' respectively

func ParseSpecial

func ParseSpecial(s string) string

ParseSpecial replaces escaped ts with '\t'.

func ReplaceHome

func ReplaceHome(path string) (string, error)

ReplaceHome takes a path as input and replaces ~ at the start of the path with the user's home directory. Does nothing if the path does not start with '~'.

func RunePos

func RunePos(b []byte, i int) int

RunePos returns the rune index of a given byte index Make sure the byte index is not between code points

func SliceEnd

func SliceEnd(slc []byte, index int) []byte

SliceEnd returns a byte slice where the index is a rune index Slices off the start of the slice

func SliceEndStr

func SliceEndStr(str string, index int) string

SliceEndStr is the same as SliceEnd but for strings

func SliceStart

func SliceStart(slc []byte, index int) []byte

SliceStart returns a byte slice where the index is a rune index Slices off the end of the slice

func SliceStartStr

func SliceStartStr(str string, index int) string

SliceStartStr is the same as SliceStart but for strings

func SliceVisualEnd

func SliceVisualEnd(b []byte, n, tabsize int) ([]byte, int, int)

SliceVisualEnd will take a byte slice and slice off the start up to a given visual index. If the index is in the middle of a rune the number of visual columns into the rune will be returned It will also return the char pos of the first character of the slice

func Spaces

func Spaces(n int) string

Spaces returns a string with n spaces

func String

func String(s []byte) string

String converts a byte array to a string (for lua plugins)

func StringWidth

func StringWidth(b []byte, n, tabsize int) int

StringWidth returns the visual width of a byte array indexed from 0 to n (rune index) with a given tabsize

func Tic

func Tic(s string) time.Time

func Toc

func Toc(start time.Time)

func Unzip

func Unzip(src, dest string) error

Unzip unzips a file to given folder

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL