heartbeat

package
v1.78.0 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: BSD-3-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PluginFromUserAgent

func PluginFromUserAgent(userAgent string) string

PluginFromUserAgent parses the plugin name from a wakatime user agent.

func PointerTo added in v1.40.0

func PointerTo[t bool | int | string](v t) *t

PointerTo returns a pointer to the value passed in.

func ShouldSanitize

func ShouldSanitize(subject string, patterns []regex.Regex) bool

ShouldSanitize checks a subject (entity, project, branch) of a heartbeat and checks it against the passed in regex patterns to determine, if this heartbeat should be sanitized.

func UserAgent

func UserAgent(plugin string) string

UserAgent generates a user agent from various system infos, including a a passed in value for plugin.

Types

type Category

type Category int

Category represents a heartbeat category.

const (
	// CodingCategory means user is currently coding. This is the default value.
	CodingCategory Category = iota
	// BrowsingCategory means user is currently browsing.
	BrowsingCategory
	// BuildingCategory means user is currently building.
	BuildingCategory
	// CodeReviewingCategory means user is currently reviewing code.
	CodeReviewingCategory
	// CommunicatingCategory means user is currently chatting.
	CommunicatingCategory
	// DebuggingCategory means user is currently debugging.
	DebuggingCategory
	// DesigningCategory means user is currently designing.
	DesigningCategory
	// IndexingCategory means user is currently indexing.
	IndexingCategory
	// LearningCategory means user is currently learning.
	LearningCategory
	// ManualTestingCategory means user is currently manual testing.
	ManualTestingCategory
	// MeetingCategory means user is currently meeting.
	MeetingCategory
	// PlanningCategory means user is currently planning.
	PlanningCategory
	// ResearchingCategory means user is currently researching.
	ResearchingCategory
	// RunningTestsCategory means user is currently running tests.
	RunningTestsCategory
	// TranslatingCategory means user is currently translating.
	TranslatingCategory
	// WritingDocsCategory means user is currently writing docs.
	WritingDocsCategory
	// WritingTestsCategory means user is currently writing tests.
	WritingTestsCategory
)

func ParseCategory

func ParseCategory(s string) (Category, error)

ParseCategory parses a category from a string.

func (Category) MarshalJSON

func (c Category) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler interface.

func (Category) String

func (c Category) String() string

String implements fmt.Stringer interface.

func (*Category) UnmarshalJSON

func (c *Category) UnmarshalJSON(v []byte) error

UnmarshalJSON implements json.Unmarshaler interface.

type EntityType

type EntityType int

EntityType defines the type of an entity.

const (
	// FileType represents a file entity.
	FileType EntityType = iota
	// DomainType represents a domain entity.
	DomainType
	// AppType represents an app entity.
	AppType
)

func ParseEntityType

func ParseEntityType(s string) (EntityType, error)

ParseEntityType parses an entity type from a string.

func (EntityType) MarshalJSON

func (t EntityType) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler interface.

func (EntityType) String

func (t EntityType) String() string

String implements fmt.Stringer interface.

func (*EntityType) UnmarshalJSON

func (t *EntityType) UnmarshalJSON(v []byte) error

UnmarshalJSON implements json.Unmarshaler interface.

type Handle

type Handle func(hh []Heartbeat) ([]Result, error)

Handle does processing of heartbeats.

func NewHandle

func NewHandle(sender Sender, opts ...HandleOption) Handle

NewHandle creates a new Handle, which acts like a processing pipeline, with a sender eventually sending the heartbeats.

type HandleOption

type HandleOption func(next Handle) Handle

HandleOption is a function, which allows chaining multiple Handles.

func WithEntityModifer added in v1.24.1

func WithEntityModifer() HandleOption

WithEntityModifer initializes and returns a heartbeat handle option, which can be used in a heartbeat processing pipeline to change an entity path.

func WithFormatting added in v1.35.0

func WithFormatting() HandleOption

WithFormatting initializes and returns a heartbeat handle option, which can be used in a heartbeat processing pipeline to format entity's filepath.

func WithSanitization

func WithSanitization(config SanitizeConfig) HandleOption

WithSanitization initializes and returns a heartbeat handle option, which can be used in a heartbeat processing pipeline to hide sensitive data.

type Heartbeat

type Heartbeat struct {
	APIKey                string     `json:"-"`
	Branch                *string    `json:"branch,omitempty"`
	BranchAlternate       string     `json:"-"`
	Category              Category   `json:"category"`
	CursorPosition        *int       `json:"cursorpos,omitempty"`
	Dependencies          []string   `json:"dependencies,omitempty"`
	Entity                string     `json:"entity"`
	EntityType            EntityType `json:"type"`
	IsUnsavedEntity       bool       `json:"-"`
	IsWrite               *bool      `json:"is_write,omitempty"`
	Language              *string    `json:"language,omitempty"`
	LanguageAlternate     string     `json:"-"`
	LineNumber            *int       `json:"lineno,omitempty"`
	Lines                 *int       `json:"lines,omitempty"`
	LocalFile             string     `json:"-"`
	LocalFileNeedsCleanup bool       `json:"-"`
	Project               *string    `json:"project,omitempty"`
	ProjectAlternate      string     `json:"-"`
	ProjectFromGitRemote  bool       `json:"-"`
	ProjectOverride       string     `json:"-"`
	ProjectPath           string     `json:"-"`
	ProjectPathOverride   string     `json:"-"`
	ProjectRootCount      *int       `json:"project_root_count,omitempty"`
	Time                  float64    `json:"time"`
	UserAgent             string     `json:"user_agent"`
}

Heartbeat is a structure representing activity for a user on a some entity.

func Format added in v1.35.0

func Format(h Heartbeat) Heartbeat

Format accepts a heartbeat formats it's filepath and returns the formatted version.

func New

func New(
	branchAlternate string,
	category Category,
	cursorPosition *int,
	entity string,
	entityType EntityType,
	isUnsavedEntity bool,
	isWrite *bool,
	language *string,
	languageAlternate string,
	lineNumber *int,
	lines *int,
	localFile string,
	projectAlternate string,
	projectFromGitRemote bool,
	projectOverride string,
	projectPathOverride string,
	time float64,
	userAgent string,
) Heartbeat

New creates a new instance of Heartbeat with formatted entity and local file paths for file type heartbeats.

func Sanitize

func Sanitize(h Heartbeat, config SanitizeConfig) Heartbeat

Sanitize accepts a heartbeat sanitizes it's sensitive data following passed in configuration and returns the sanitized version. On empty config will do nothing.

func (Heartbeat) ID

func (h Heartbeat) ID() string

ID returns an ID generated from the heartbeat data.

func (Heartbeat) IsRemote added in v1.53.2

func (h Heartbeat) IsRemote() bool

IsRemote returns true when entity is a remote file.

type Language

type Language int

Language represents a programming language.

const (
	// LanguageUnknown represents the Unknown programming language.
	LanguageUnknown Language = iota
	// Language1CEnterprise represents the 1CEnterprise programming language.
	Language1CEnterprise
	// Language4D represents the 4D programming language.
	Language4D
	// LanguageABAP represents the ABAP programming language.
	LanguageABAP
	// LanguageABNF represents the ABNF programming language.
	LanguageABNF
	// LanguageActionScript represents the ActionScript programming language.
	LanguageActionScript
	// LanguageActionScript3 represents the ActionScript3 programming language.
	LanguageActionScript3
	// LanguageAda represents the Ada programming language.
	LanguageAda
	// LanguageADL represents the ADL programming language.
	LanguageADL
	// LanguageAdobeFontMetrics represents the AdobeFontMetrics programming language.
	LanguageAdobeFontMetrics
	// LanguageAdvPL represents the AdvPL programming language.
	LanguageAdvPL
	// LanguageAgda represents the Agda programming language.
	LanguageAgda
	// LanguageAGSScript represents the AGSScript programming language.
	LanguageAGSScript
	// LanguageAheui represents the Aheui programming language.
	LanguageAheui
	// LanguageAL represents the AL programming language.
	LanguageAL
	// LanguageAlloy represents the Alloy programming language.
	LanguageAlloy
	// LanguageAlpineAbuild represents the AlpineAbuild programming language.
	LanguageAlpineAbuild
	// LanguageAltiumDesigner represents the AltiumDesigner programming language.
	LanguageAltiumDesigner
	// LanguageAmbientTalk represents the AmbientTalk programming language.
	LanguageAmbientTalk
	// LanguageAMPL represents the AMPL programming language.
	LanguageAMPL
	// LanguageAngelScript represents the AngelScript programming language.
	LanguageAngelScript
	// LanguageAngular2 represents the Angular2 programming language.
	LanguageAngular2
	// LanguageAnsible represents the Ansible programming language.
	LanguageAnsible
	// LanguageAntBuildSystem represents the AntBuildSystem programming language.
	LanguageAntBuildSystem
	// LanguageANTLR represents the ANTLR programming language.
	LanguageANTLR
	// LanguageApacheConfig represents the Apache Config programming language.
	LanguageApacheConfig
	// LanguageApex represents the Apex programming language.
	LanguageApex
	// LanguageAPIBlueprint represents the APIBlueprint programming language.
	LanguageAPIBlueprint
	// LanguageAPL represents the APL programming language.
	LanguageAPL
	// LanguageApolloGuidanceComputer represents the ApolloGuidanceComputer programming language.
	LanguageApolloGuidanceComputer
	// LanguageAppleScript represents the AppleScript programming language.
	LanguageAppleScript
	// LanguageArangoDBQueryLanguage represents the ArangoDB Query Language programming language.
	LanguageArangoDBQueryLanguage
	// LanguageArc represents the Arc programming language.
	LanguageArc
	// LanguageArduino represents the Arduino programming language.
	LanguageArduino
	// LanguageArmAsm represents the ArmAsm programming language.
	LanguageArmAsm
	// LanguageArrow represents the Arrow programming language.
	LanguageArrow
	// LanguageASCIIDoc represents the ASCIIDoc programming language.
	LanguageASCIIDoc
	// LanguageASL represents the ASL programming language.
	LanguageASL
	// LanguageASN1 represents the ASN1 programming language.
	LanguageASN1
	// LanguageASPDotNet represents the ASPDotNet programming language.
	LanguageASPDotNet
	// LanguageAspectJ represents the AspectJ programming language.
	LanguageAspectJ
	// LanguageAspxCSharp represents the CSharpAspx programming language.
	LanguageAspxCSharp
	// LanguageAspxVBNet represents the VBNetAspx programming language.
	LanguageAspxVBNet
	// LanguageAssembly represents the Assembly programming language.
	LanguageAssembly
	// LanguageAsymptote represents the Asymptote programming language.
	LanguageAsymptote
	// LanguageATS represents the ATS programming language.
	LanguageATS
	// LanguageAugeas represents the Augeas programming language.
	LanguageAugeas
	// LanguageAutoconf represents the Autoconf programming language.
	LanguageAutoconf
	// LanguageAutoHotkey represents the AutoHotkey programming language.
	LanguageAutoHotkey
	// LanguageAutoIt represents the AutoIt programming language.
	LanguageAutoIt
	// LanguageAvroIDL represents the AvroIDL programming language.
	LanguageAvroIDL
	// LanguageAwk represents the Awk programming language.
	LanguageAwk
	// LanguageBallerina represents the Ballerina programming language.
	LanguageBallerina
	// LanguageBARE represents the BARE programming language.
	LanguageBARE
	// LanguageBash represents the Bash programming language.
	LanguageBash
	// LanguageBashSession represents the Bash Session programming language.
	LanguageBashSession
	// LanguageBasic represents the Basic programming language.
	LanguageBasic
	// LanguageBatchfile represents the Batchfile programming language.
	LanguageBatchfile
	// LanguageBBCBasic represents the BBCBasic programming language.
	LanguageBBCBasic
	// LanguageBBCode represents the BBCode programming language.
	LanguageBBCode
	// LanguageBC represents the BC programming language.
	LanguageBC
	// LanguageBeef represents the Beef programming language.
	LanguageBeef
	// LanguageBefunge represents the Befunge programming language.
	LanguageBefunge
	// LanguageBibTeX represents the BibTeX programming language.
	LanguageBibTeX
	// LanguageBicep represents the Bicep programming language.
	LanguageBicep
	// LanguageBison represents the Bison programming language.
	LanguageBison
	// LanguageBitBake represents the BitBake programming language.
	LanguageBitBake
	// LanguageBlade represents the Blade programming language.
	LanguageBlade
	// LanguageBladeTemplate represents the BladeTemplate programming language.
	LanguageBladeTemplate
	// LanguageBlazor represent the Blazor programming language.
	LanguageBlazor
	// LanguageBlitzBasic represents the BlitzBasic programming language.
	LanguageBlitzBasic
	// LanguageBlitzMax represents the BlitzMax programming language.
	LanguageBlitzMax
	// LanguageBluespec represents the Bluespec programming language.
	LanguageBluespec
	// LanguageBNF represents the BNF programming language.
	LanguageBNF
	// LanguageBoa represents the Boa programming language.
	LanguageBoa
	// LanguageBoo represents the Boo programming language.
	LanguageBoo
	// LanguageBoogie represents the Boogie programming language.
	LanguageBoogie
	// LanguageBQN represents the BQN programming language.
	LanguageBQN
	// LanguageBrainfuck represents the Brainfuck programming language.
	LanguageBrainfuck
	// LanguageBrightScript represents the BrightScript programming language.
	LanguageBrightScript
	// LanguageBro represents the Bro programming language.
	LanguageBro
	// LanguageBrowserslist represents the Browserslist programming language.
	LanguageBrowserslist
	// LanguageBST represents the BST programming language.
	LanguageBST
	// LanguageBUGS represents the BUGS programming language.
	LanguageBUGS
	// LanguageC represents the C programming language.
	LanguageC
	// LanguageC2hsHaskell represents the C2hsHaskell programming language.
	LanguageC2hsHaskell
	// LanguageCa65Assembler represents the ca65 assembler programming language.
	LanguageCa65Assembler
	// LanguageCabalConfig represents the CabalConfig programming language.
	LanguageCabalConfig
	// LanguageCaddyfileDirectives represents the Caddyfile Directives programming language.
	LanguageCaddyfileDirectives
	// LanguageCaddyfile represents the Caddyfile programming language.
	LanguageCaddyfile
	// LanguageCADL represents the CADL programming language.
	LanguageCADL
	// LanguageCAmkES represents the CAmkES programming language.
	LanguageCAmkES
	// LanguageCapDL represents the CapDL programming language.
	LanguageCapDL
	// LanguageCapNProto represents the CapNProto programming language.
	LanguageCapNProto
	// LanguageCartoCSS represents the CartoCSS programming language.
	LanguageCartoCSS
	// LanguageCassandraCQL represents the CassandraCQL programming language.
	LanguageCassandraCQL
	// LanguageCBMBasicV2 represents the CBMBasicV2 programming language.
	LanguageCBMBasicV2
	// LanguageCeylon represents the Ceylon programming language.
	LanguageCeylon
	// LanguageCFEngine3 represents the CFEngine3 programming language.
	LanguageCFEngine3
	// LanguageCfstatement represents the Cfstatement programming language.
	LanguageCfstatement
	// LanguageChaiScript represents the ChaiScript programming language.
	LanguageChaiScript
	// LanguageChapel represents the Chapel programming language.
	LanguageChapel
	// LanguageCharity represents the Charity programming language.
	LanguageCharity
	// LanguageCharmci represents the Charmci programming language.
	LanguageCharmci
	// LanguageCheetah represents the Cheetah programming language.
	LanguageCheetah
	// LanguageChucK represents the ChucK programming language.
	LanguageChucK
	// LanguageCirru represents the Cirru programming language.
	LanguageCirru
	// LanguageClarion represents the Clarion programming language.
	LanguageClarion
	// LanguageClassicASP represents the ClassicASP programming language.
	LanguageClassicASP
	// LanguageClay represents the Clay programming language.
	LanguageClay
	// LanguageClean represents the Clean programming language.
	LanguageClean
	// LanguageClick represents the Click programming language.
	LanguageClick
	// LanguageCLIPS represents the CLIPS programming language.
	LanguageCLIPS
	// LanguageClojure represents the Clojure programming language.
	LanguageClojure
	// LanguageClojureScript represents the ClojureScript programming language.
	LanguageClojureScript
	// LanguageClosureTemplates represents the ClosureTemplates programming language.
	LanguageClosureTemplates
	// LanguageCloudFirestoreSecurityRules represents the CloudFirestoreSecurityRules programming language.
	LanguageCloudFirestoreSecurityRules
	// LanguageCMake represents the CMake programming language.
	LanguageCMake
	// LanguageCObjdump represents the CObjdump programming language.
	LanguageCObjdump
	// LanguageCOBOL represents the COBOL programming language.
	LanguageCOBOL
	// LanguageCOBOLFree represents the COBOLFree programming language.
	LanguageCOBOLFree
	// LanguageCocoa represents the Cocoa programming language.
	LanguageCocoa
	// LanguageCodeQL represents the CodeQL programming language.
	LanguageCodeQL
	// LanguageCoffeeScript represents the CoffeeScript programming language.
	LanguageCoffeeScript
	// LanguageColdfusionCFC represents the ColdfusionCFC programming language.
	LanguageColdfusionCFC
	// LanguageColdfusionHTML represents the ColdfusionHTML programming language.
	LanguageColdfusionHTML
	// LanguageCOLLADA represents the COLLADA programming language.
	LanguageCOLLADA
	// LanguageCommonLisp represents the CommonLisp programming language.
	LanguageCommonLisp
	// LanguageCommonWorkflowLanguage represents the CommonWorkflowLanguage programming language.
	LanguageCommonWorkflowLanguage
	// LanguageComponentPascal represents the ComponentPascal programming language.
	LanguageComponentPascal
	// LanguageConfig represents the Config programming language.
	LanguageConfig
	// LanguageCoNLLU represents the CoNLLU programming language.
	LanguageCoNLLU
	// LanguageCool represents the Cool programming language.
	LanguageCool
	// LanguageCoq represents the Coq programming language.
	LanguageCoq
	// LanguageCPerl represents the CPerl programming language.
	LanguageCPerl
	// LanguageCPP represents the CPP programming language.
	LanguageCPP
	// LanguageCppObjdump represents the CppObjdump programming language.
	LanguageCppObjdump
	// LanguageCPSA represents the CPSA programming language.
	LanguageCPSA
	// LanguageCreole represents the Creole programming language.
	LanguageCreole
	// LanguageCrmsh represents the Crmsh programming language.
	LanguageCrmsh
	// LanguageCroc represents the Croc programming language.
	LanguageCroc
	// LanguageCrontab represents the Crontab programming language.
	LanguageCrontab
	// LanguageCryptol represents the Cryptol programming language.
	LanguageCryptol
	// LanguageCSharp represents the CSharp programming language.
	LanguageCSharp
	// LanguageCSHTML represents the CSHTML programming language.
	LanguageCSHTML
	// LanguageCrystal represents the Crystal programming language.
	LanguageCrystal
	// LanguageCSON represents the CSON programming language.
	LanguageCSON
	// LanguageCsound represents the Csound programming language.
	LanguageCsound
	// LanguageCsoundDocument represents the CsoundDocument programming language.
	LanguageCsoundDocument
	// LanguageCsoundOrchestra represents the CsoundOrchestra programming language.
	LanguageCsoundOrchestra
	// LanguageCsoundScore represents the CsoundScore programming language.
	LanguageCsoundScore
	// LanguageCSS represents the CSS programming language.
	LanguageCSS
	// LanguageCSV represents the CSV programming language.
	LanguageCSV
	// LanguageCUDA represents the CUDA programming language.
	LanguageCUDA
	// LanguagecURLConfig represents the cURLConfig programming language.
	LanguagecURLConfig
	// LanguageCVS represents the CVS programming language.
	LanguageCVS
	// LanguageCWeb represents the CWeb programming language.
	LanguageCWeb
	// LanguageCycript represents the Cycript programming language.
	LanguageCycript
	// LanguageCypher represents the Cypher programming language.
	LanguageCypher
	// LanguageCython represents the Cython programming language.
	LanguageCython
	// LanguageD represents the D programming language.
	LanguageD
	// LanguageDafny represents the Dafny programming language.
	LanguageDafny
	// LanguageDarcsPatch represents the DarcsPatch programming language.
	LanguageDarcsPatch
	// LanguageDart represents the Dart programming language.
	LanguageDart
	// LanguageDataWeave represents the DataWeave programming language.
	LanguageDataWeave
	// LanguageDASM16 represents the DASM16 programming language.
	LanguageDASM16
	// LanguageDCL represents the DCL programming language.
	LanguageDCL
	// LanguageDCPU16Asm represents the DCPU16Asm programming language.
	LanguageDCPU16Asm
	// LanguageDebianControlFile represents the DebianControlFile programming language.
	LanguageDebianControlFile
	// LanguageDelphi represents the Delphi programming language.
	LanguageDelphi
	// LanguageDesktop represents the desktop programming language.
	LanguageDesktop
	// LanguageDevicetree represents the Devicetree programming language.
	LanguageDevicetree
	// LanguageDG represents the DG programming language.
	LanguageDG
	// LanguageDhall represents the Dhall programming language.
	LanguageDhall
	// LanguageDiff represents the Diff programming language.
	LanguageDiff
	// LanguageDigitalCommand represents the DIGITAL Command Language programming language.
	LanguageDigitalCommand
	// LanguageDircolors represents the dircolors programming language.
	LanguageDircolors
	// LanguageDirectX3DFile represents the DirectX 3D File programming language.
	LanguageDirectX3DFile
	// LanguageDjangoJinja represents the DjangoJinja programming language.
	LanguageDjangoJinja
	// LanguageDM represents the DM programming language.
	LanguageDM
	// LanguageDNSZone represents the DNS Zone programming language.
	LanguageDNSZone
	// LanguageDObjdump represents the DObjdump programming language.
	LanguageDObjdump
	// LanguageDocker represents the Docker programming language.
	LanguageDocker
	// LanguageDockerfile represents the Dockerfile programming language.
	LanguageDockerfile
	// LanguageDocTeX represents the DocTeX programming language.
	LanguageDocTeX
	// LanguageDocumentation represents the Documentation programming language.
	LanguageDocumentation
	// LanguageDogescript represents the Dogescript programming language.
	LanguageDogescript
	// LanguageDTD represents the DTD programming language.
	LanguageDTD
	// LanguageDTrace represents the DTrace programming language.
	LanguageDTrace
	// LanguageDuel represents the Duel programming language.
	LanguageDuel
	// LanguageDylan represents the Dylan programming language.
	LanguageDylan
	// LanguageDylanLID represents the DylanLID programming language.
	LanguageDylanLID
	// LanguageDylanSession represents the DylanSession programming language.
	LanguageDylanSession
	// LanguageDynASM represents the DynASM programming language.
	LanguageDynASM
	// LanguageE represents the E programming language.
	LanguageE
	// LanguageEagle represents the Eagle programming language.
	LanguageEagle
	// LanguageEMail represents the EMail programming language.
	LanguageEMail
	// LanguageEarlGrey represents the EarlGrey programming language.
	LanguageEarlGrey
	// LanguageEasybuild represents the Easybuild programming language.
	LanguageEasybuild
	// LanguageEasytrieve represents the Easytrieve programming language.
	LanguageEasytrieve
	// LanguageEBNF represents the EBNF programming language.
	LanguageEBNF
	// LanguageEC represents the EC programming language.
	LanguageEC
	// LanguageEcereProjects represents the Ecere Projects programming language.
	LanguageEcereProjects
	// LanguageECL represents the ECL programming language.
	LanguageECL
	// LanguageEclipse represents the ECLiPSe programming language.
	LanguageEclipse
	// LanguageEditorConfig represents the EditorConfig programming language.
	LanguageEditorConfig
	// LanguageEdjeDataCollection represents the Edje Data Collection programming language.
	LanguageEdjeDataCollection
	// LanguageEdn represents the edn programming language.
	LanguageEdn
	// LanguageEiffel represents the Eiffel programming language.
	LanguageEiffel
	// LanguageEJS represents the EJS programming language.
	LanguageEJS
	// LanguageElixir represents the Elixir programming language.
	LanguageElixir
	// LanguageElixirIexSession represents the ElixirIexSession programming language.
	LanguageElixirIexSession
	// LanguageElm represents the Elm programming language.
	LanguageElm
	// LanguageEmacsLisp represents the EmacsLisp programming language.
	LanguageEmacsLisp
	// LanguageEmberScript represents the EmberScript programming language.
	LanguageEmberScript
	// LanguageEML represents the EML programming language.
	LanguageEML
	// LanguageEQ represents the EQ programming language.
	LanguageEQ
	// LanguageERB represents the ERB programming language.
	LanguageERB
	// LanguageErlang represents the Erlang programming language.
	LanguageErlang
	// LanguageErlangErlSession represents the ErlangErlSession programming language.
	LanguageErlangErlSession
	// LanguageEshell represents the Eshell programming language.
	LanguageEshell
	// LanguageEvoque represents the Evoque programming language.
	LanguageEvoque
	// LanguageExecline represents the Execline programming language.
	LanguageExecline
	// LanguageEzhil represents the Ezhil programming language.
	LanguageEzhil
	// LanguageFactor represents the Factor programming language.
	LanguageFactor
	// LanguageFancy represents the Fancy programming language.
	LanguageFancy
	// LanguageFantom represents the Fantom programming language.
	LanguageFantom
	// LanguageFaust represents the Faust programming language.
	LanguageFaust
	// LanguageFelix represents the Felix programming language.
	LanguageFelix
	// LanguageFennel represents the Fennel programming language.
	LanguageFennel
	// LanguageFIGletFont represents the FIGlet Font programming language.
	LanguageFIGletFont
	// LanguageFilebenchWML represents the Filebench WML programming language.
	LanguageFilebenchWML
	// LanguageFilterscript represents the Filterscript programming language.
	LanguageFilterscript
	// LanguageFlatline represents the Flatline programming language.
	LanguageFlatline
	// LanguageFloScript represents the FloScript programming language.
	LanguageFloScript
	// LanguageFish represents the Fish programming language.
	LanguageFish
	// LanguageFLUX represents the FLUX programming language.
	LanguageFLUX
	// LanguageFont represents the Font programming language.
	LanguageFont
	// LanguageFormatted represents the Formatted programming language.
	LanguageFormatted
	// LanguageForth represents the Forth programming language.
	LanguageForth
	// LanguageFortran represents the Fortran programming language.
	LanguageFortran
	// LanguageFortranFixed represents the FortranFixed programming language.
	LanguageFortranFixed
	// LanguageFortranFreeForm represents the Fortran Free Form programming language.
	LanguageFortranFreeForm
	// LanguageFSharp represents the FSharp programming language.
	LanguageFSharp
	// LanguageFoxPro represents the FoxPro programming language.
	LanguageFoxPro
	// LanguageFreefem represents the Freefem programming language.
	LanguageFreefem
	// LangauageFreeMarker represents the FreeMarker programming language.
	LangauageFreeMarker
	// LangauageFrege represents the Frege programming language.
	LangauageFrege
	// LanguageFStar represents the F* programming language.
	LanguageFStar
	// LanguageFuthark represents the Futhark programming language.
	LanguageFuthark
	// LanguageGameMakerLanguage represents the GameMakerLanguage programming language.
	LanguageGameMakerLanguage
	// LanguageGAML represents the GAML programming language.
	LanguageGAML
	// LanguageGAMS represents the GAMS programming language.
	LanguageGAMS
	// LanguageGap represents the Gap programming language.
	LanguageGap
	// LanguageGas represents the Gas programming language.
	LanguageGas
	// LanguageGCCMachineDescription represents the GCCMachineDescription programming language.
	LanguageGCCMachineDescription
	// LanguageGCode represents the GCode programming language.
	LanguageGCode
	// LanguageGDB represents the GDB programming language.
	LanguageGDB
	// LanguageGDNative represents the GDNative programming language.
	LanguageGDNative
	// LanguageGDScript represents the GDScript programming language.
	LanguageGDScript
	// LanguageGEDCOM represents the GEDCOM programming language.
	LanguageGEDCOM
	// LanguageGenie represents the Genie programming language.
	LanguageGenie
	// LanguageGenshi represents the Genshi programming language.
	LanguageGenshi
	// LanguageGenshiHTML represents the Genshi HTML programming language.
	LanguageGenshiHTML
	// LanguageGenshiText represents the Genshi Text programming language.
	LanguageGenshiText
	// LanguageGentooEbuild represents the GentooEbuild programming language.
	LanguageGentooEbuild
	// LanguageGentooEclass represents the GentooEclass programming language.
	LanguageGentooEclass
	// LanguageGerberImage represents the GerberImage programming language.
	LanguageGerberImage
	// LanguageGettextCatalog represents the Gettext Catalog programming language.
	LanguageGettextCatalog
	// LanguageGherkin represents the Gherkin programming language.
	LanguageGherkin
	// LanguageGit represents the Git programming language.
	LanguageGit
	// LanguageGitAttributes represents the GitAttributes programming language.
	LanguageGitAttributes
	// LanguageGitConfig represents the Git Config programming language.
	LanguageGitConfig
	// LanguageGLSL represents the GLSL programming language.
	LanguageGLSL
	// LanguageGlyph represents the Glyph programming language.
	LanguageGlyph
	// LanguageGlyphBitmap represents the GlyphBitmap programming language.
	LanguageGlyphBitmap
	// LanguageGN represents the GN programming language.
	LanguageGN
	// LanguageGnuplot represents the Gnuplot programming language.
	LanguageGnuplot
	// LanguageGo represents the Go programming language.
	LanguageGo
	// LanguageGoHTMLTemplate represents the Go HTML Template programming language.
	LanguageGoHTMLTemplate
	// LanguageGoTextTemplate represents the Go Text Template programming language.
	LanguageGoTextTemplate
	// LanguageGolo represents the Golo programming language.
	LanguageGolo
	// LanguageGoodDataCL represents the GoodData-CL programming language.
	LanguageGoodDataCL
	// LanguageGosu represents the Gosu programming language.
	LanguageGosu
	// LanguageGosuTemplate represents the Gosu Template programming language.
	LanguageGosuTemplate
	// LanguageGrace represents the Grace programming language.
	LanguageGrace
	// LanguageGradle represents the Gradle programming language.
	LanguageGradle
	// LanguageGradleConfig represents the GradleConfig programming language.
	LanguageGradleConfig
	// LanguageGrammaticalFramework represents the GrammaticalFramework programming language.
	LanguageGrammaticalFramework
	// LanguageGraphModelingLanguage represents the GraphModelingLanguage programming language.
	LanguageGraphModelingLanguage
	// LanguageGraphQL represents the GraphQL programming language.
	LanguageGraphQL
	// LanguageGraphvizDOT represents the GraphvizDOT programming language.
	LanguageGraphvizDOT
	// LanguageGroff represents the Groff programming language.
	LanguageGroff
	// LanguageGroovy represents the Groovy programming language.
	LanguageGroovy
	// LanguageGroovyServerPages represents the GroovyServerPages programming language.
	LanguageGroovyServerPages
	// LanguageHack represents the Hack programming language.
	LanguageHack
	// LanguageHaml represents the Haml programming language.
	LanguageHaml
	// LanguageHandlebars represents the Handlebars programming language.
	LanguageHandlebars
	// LanguageHAProxy represents the HAProxy programming language.
	LanguageHAProxy
	// LanguageHarbour represents the Harbour programming language.
	LanguageHarbour
	// LanguageHaskell represents the Haskell programming language.
	LanguageHaskell
	// LanguageHaxe represents the Haxe programming language.
	LanguageHaxe
	// LanguageHCL represents the HCL programming language.
	LanguageHCL
	// LanguageHexdump represents the Hexdump programming language.
	LanguageHexdump
	// LanguageHiveQL represents the HiveQL programming language.
	LanguageHiveQL
	// LanguageHLB represents the HLB programming language.
	LanguageHLB
	// LanguageHLSL represents the HLSL programming language.
	LanguageHLSL
	// LanguageHolyC represents the HolyC programming language.
	LanguageHolyC
	// LanguageHSAIL represents the HSAIL programming language.
	LanguageHSAIL
	// LanguageHspec represents the Hspec programming language.
	LanguageHspec
	// LanguageHTML represents the HTML programming language.
	LanguageHTML
	// LanguageHTMLDjango represents the HTMLDjango programming language.
	LanguageHTMLDjango
	// LanguageHTMLECR represents the HTMLECR programming language.
	LanguageHTMLECR
	// LanguageHTMLEEX represents the HTMLEEX programming language.
	LanguageHTMLEEX
	// LanguageHTMLERB represents the HTMLERB programming language.
	LanguageHTMLERB
	// LanguageHTMLPHP represents the HTMLPHP programming language.
	LanguageHTMLPHP
	// LanguageHTMLRazor represents the HTMLRazor programming language.
	LanguageHTMLRazor
	// LanguageHTTP represents the HTTP programming language.
	LanguageHTTP
	// LanguageHxml represents the Hxml programming language.
	LanguageHxml
	// LanguageHy represents the Hy programming language.
	LanguageHy
	// LanguageHybris represents the Hybris programming language.
	LanguageHybris
	// LanguageHyPhy represents the HyPhy programming language.
	LanguageHyPhy
	// LanguageIcon represents the Icon programming language.
	LanguageIcon
	// LanguageIDL represents the IDL programming language.
	LanguageIDL
	// LanguageIdris represents the Idris programming language.
	LanguageIdris
	// LanguageIgnoreList represents the IgnoreList programming language.
	LanguageIgnoreList
	// LanguageIgor represents the Igor programming language.
	LanguageIgor
	// LanguageIGORPro represents the IGORPro programming language.
	LanguageIGORPro
	// LanguageImageJMacro represents the ImageJMacro programming language.
	LanguageImageJMacro
	// LanguageImageJPEG represents the Image (jpeg) programming language.
	LanguageImageJPEG
	// LanguageImagePNG represents the Image (png) programming language.
	LanguageImagePNG
	// LanguageInform6 represents the Inform 6 programming language.
	LanguageInform6
	// LanguageInform6Template represents the Inform 6 template programming language.
	LanguageInform6Template
	// LanguageInform7 represents the Inform 7 programming language.
	LanguageInform7
	// LanguageINI represents the INI programming language.
	LanguageINI
	// LanguageInnoSetup represents the InnoSetup programming language.
	LanguageInnoSetup
	// LanguageIo represents the Io programming language.
	LanguageIo
	// LanguageIoke represents the Ioke programming language.
	LanguageIoke
	// LanguageIRCLogs represents the IRC Logs programming language.
	LanguageIRCLogs
	// LanguageIsabelle represents the Isabelle programming language.
	LanguageIsabelle
	// LanguageIsabelleRoot represents the IsabelleRoot programming language.
	LanguageIsabelleRoot
	// LanguageISCdhcpd represents the ISC dhcpd programming language.
	LanguageISCdhcpd
	// LanguageJ represents the J programming language.
	LanguageJ
	// LanguageJAGS represents the JAGS programming language.
	LanguageJAGS
	// LanguageJade represents the Jade programming language.
	LanguageJade
	// LanguageJasmin represents the Jasmin programming language.
	LanguageJasmin
	// LanguageJava represents the Java programming language.
	LanguageJava
	// LanguageJavaProperties represents the Java Properties programming language.
	LanguageJavaProperties
	// LanguageJavaScript represents the JavaScript programming language.
	LanguageJavaScript
	// LanguageJavaScriptERB represents the JavaScriptERB programming language.
	LanguageJavaScriptERB
	// LanguageJCL represents the JCL programming language.
	LanguageJCL
	// LanguageJFlex represents the JFlex programming language.
	LanguageJFlex
	// LanguageJison represents the Jison programming language.
	LanguageJison
	// LanguageJisonLex represents the JisonLex programming language.
	LanguageJisonLex
	// LanguageJolie represents the Jolie programming language.
	LanguageJolie
	// LanguageJSGF represents the JSGF programming language.
	LanguageJSGF
	// LanguageJSON represents the JSON programming language.
	LanguageJSON
	// LanguageJSON5 represents the JSON5 programming language.
	LanguageJSON5
	// LanguageJSONiq represents the JSONiq programming language.
	LanguageJSONiq
	// LanguageJSONLD represents the JSON-LD programming language.
	LanguageJSONLD
	// LanguageJsonnet represents the Jsonnet programming language.
	LanguageJsonnet
	// LanguageJSONWithComments represents the JSONWithComments programming language.
	LanguageJSONWithComments
	// LanguageJSP represents the Java Server Page programming language.
	LanguageJSP
	// LanguageJSX represents the JSX programming language.
	LanguageJSX
	// LanguageJulia represents the Julia programming language.
	LanguageJulia
	// LanguageJuliaConsole represents the Julia console programming language.
	LanguageJuliaConsole
	// LanguageJungle represents the Jungle programming language.
	LanguageJungle
	// LanguageJupyterNotebook represents the JupyterNotebook programming language.
	LanguageJupyterNotebook
	// LanguageJuttle represents the Juttle console programming language.
	LanguageJuttle
	// LanguageKaitai represent the Kaitai programming language.
	LanguageKaitai
	// LanguageKal represents the Kal console programming language.
	LanguageKal
	// LanguageKconfig represents the Kconfig console programming language.
	LanguageKconfig
	// LanguageKernelLog represents the Kernel log console programming language.
	LanguageKernelLog
	// LanguageKiCadLayout represent the KiCadLayout programming language.
	LanguageKiCadLayout
	// LanguageKiCadLegacyLayout represent the KiCadLegacyLayout programming language.
	LanguageKiCadLegacyLayout
	// LanguageKiCadSchematic represent the KiCadSchematic programming language.
	LanguageKiCadSchematic
	// LanguageKit represent the Kit programming language.
	LanguageKit
	// LanguageKoka represents the Koka console programming language.
	LanguageKoka
	// LanguageKotlin represents the Kotlin programming language.
	LanguageKotlin
	// LanguageKRL represent the KRL programming language.
	LanguageKRL
	// LanguageLabVIEW represents the LabVIEW programming language.
	LanguageLabVIEW
	// LanguageLaravelTemplate represents the Laravel Template programming language.
	LanguageLaravelTemplate
	// LanguageLark represents the Lark programming language.
	LanguageLark
	// LanguageLasso represents the Lasso programming language.
	LanguageLasso
	// LanguageLaTeX represents the LaTeX programming language.
	LanguageLaTeX
	// LanguageLatte represents the Latte programming language.
	LanguageLatte
	// LanguageLean represents the Lean programming language.
	LanguageLean
	// LanguageLess represents the Less programming language.
	LanguageLess
	// LanguageLex represents the Lex programming language.
	LanguageLex
	// LanguageLFE represents the LFE programming language.
	LanguageLFE
	// LanguageLighttpd represents the Lighttpd configuration file programming language.
	LanguageLighttpd
	// LanguageLilyPond represents the LilyPond programming language.
	LanguageLilyPond
	// LanguageLimbo represents the Limbo configuration file programming language.
	LanguageLimbo
	// LanguageLinkerScript represents the LinkerScript programming language.
	LanguageLinkerScript
	// LanguageLinuxKernelModule represents the LinuxKernelModule programming language.
	LanguageLinuxKernelModule
	// LanguageLiquid represents the Liquid programming language.
	LanguageLiquid
	// LanguageLiterateAgda represents the Literate Agda programming language.
	LanguageLiterateAgda
	// LanguageLiterateCoffeeScript represents the LiterateCoffeeScript programming language.
	LanguageLiterateCoffeeScript
	// LanguageLiterateCryptol represents the Literate Cryptol programming language.
	LanguageLiterateCryptol
	// LanguageLiterateHaskell represents the Literate Haskell programming language.
	LanguageLiterateHaskell
	// LanguageLiterateIdris represents the Literate Idris programming language.
	LanguageLiterateIdris
	// LanguageLiveScript represents the LiveScript programming language.
	LanguageLiveScript
	// LanguageLLVM represents the LLVM programming language.
	LanguageLLVM
	// LanguageLLVMMIR represents the LLVM-MIR programming language.
	LanguageLLVMMIR
	// LanguageLLVMMIRBody represents the LLVM-MIR Body programming language.
	LanguageLLVMMIRBody
	// LanguageLogos represents the Logos programming language.
	LanguageLogos
	// LanguageLogFile represents the LogFile programming language.
	LanguageLogFile
	// LanguageLogtalk represents the Logtalk programming language.
	LanguageLogtalk
	// LanguageLOLCODE represents the LOLCODE programming language.
	LanguageLOLCODE
	// LanguageLookML represents the LookML programming language.
	LanguageLookML
	// LanguageLoomScript represents the LoomScript programming language.
	LanguageLoomScript
	// LanguageLSL represents the LSL programming language.
	LanguageLSL
	// LanguageLTspiceSymbol represents the LTspiceSymbol programming language.
	LanguageLTspiceSymbol
	// LanguageLua represents the Lua programming language.
	LanguageLua
	// LanguageMakefile represents the Makefile programming language.
	LanguageMakefile
	// LanguageMako represents the Mako programming language.
	LanguageMako
	// LanguageMan represents the Man programming language.
	LanguageMan
	// LanguageMAQL represents the MAQL programming language.
	LanguageMAQL
	// LanguageMarkdown represents the Markdown programming language.
	LanguageMarkdown
	// LanguageMarko represents the Marko programming language.
	LanguageMarko
	// LanguageMask represents the Mask programming language.
	LanguageMask
	// LanguageMason represents the Mason programming language.
	LanguageMason
	// LanguageMathematica represents the Mathematica programming language.
	LanguageMathematica
	// LanguageMatlab represents the Matlab programming language.
	LanguageMatlab
	// LanguageMatlabSession represents the MatlabSession programming language.
	LanguageMatlabSession
	// LanguageMax represents the Max programming language.
	LanguageMax
	// LanguageMaxMSP represents the MaxMSP programming language.
	LanguageMaxMSP
	// LanguageMcfunction represents the mcfunction programming language.
	LanguageMcfunction
	// LanguageMeson represents the Meson programming language.
	LanguageMeson
	// LanguageMetafont represents the Metafont programming language.
	LanguageMetafont
	// LanguageMetal represente the Metal programming language.
	LanguageMetal
	// LanguageMetapost represents the Metapost programming language.
	LanguageMetapost
	// LanguageMIME represents the MIME programming language.
	LanguageMIME
	// LanguageMiniD represents the MiniD programming language.
	LanguageMiniD
	// LanguageMiniScript represents the MiniScript programming language.
	LanguageMiniScript
	// LanguageMiniZinc represents the MiniZinc programming language.
	LanguageMiniZinc
	// LanguageMirah represents the Mirah programming language.
	LanguageMirah
	// LanguageMLIR represents the MLIR programming language.
	LanguageMLIR
	// LanguageModelica represents the Modelica programming language.
	LanguageModelica
	// LanguageModula2 represents the Modula2 programming language.
	LanguageModula2
	// LanguageMoinWiki represents the MoinWiki programming language.
	LanguageMoinWiki
	// LanguageMonkey represents the Monkey programming language.
	LanguageMonkey
	// LanguageMonkeyC represents the MonkeyC programming language.
	LanguageMonkeyC
	// LanguageMonte represents the Monte programming language.
	LanguageMonte
	// LanguageMOOCode represents the MOOCode programming language.
	LanguageMOOCode
	// LanguageMoonScript represents the MoonScript programming language.
	LanguageMoonScript
	// LanguageMorrowindScript represents the MorrowindScript programming language.
	LanguageMorrowindScript
	// LanguageMosel represents the Mosel programming language.
	LanguageMosel
	// LanguageMozPreprocHash represents the MozPreprocHash programming language.
	LanguageMozPreprocHash
	// LanguageMozPreprocPercent represents the MozPreprocPercent programming language.
	LanguageMozPreprocPercent
	// LanguageMQL represents the MQL programming language.
	LanguageMQL
	// LanguageMscgen represents the Mscgen programming language.
	LanguageMscgen
	// LanguageMSDOSSession represents the MSDOSSession programming language.
	LanguageMSDOSSession
	// LanguageMuPAD represents the MuPAD programming language.
	LanguageMuPAD
	// LanguageMXML represents the MXML programming language.
	LanguageMXML
	// LanguageMyghty represents the Myghty programming language.
	LanguageMyghty
	// LanguageMySQL represents the MySQL programming language.
	LanguageMySQL
	// LanguageMustache represents the Mustache programming language.
	LanguageMustache
	// LanguageNASM represents the NASM programming language.
	LanguageNASM
	// LanguageNASMObjdump represents the NASMObjdump programming language.
	LanguageNASMObjdump
	// LanguageNatural represents the Natural programming language.
	LanguageNatural
	// LanguageNCL represents the NCL programming language.
	LanguageNCL
	// LanguageNemerle represents the Nemerle programming language.
	LanguageNemerle
	// LanguageNeon represents the Neon programming language.
	LanguageNeon
	// LanguageNesC represents the NesC programming language.
	LanguageNesC
	// LanguageNewLisp represents the NewLisp programming language.
	LanguageNewLisp
	// LanguageNewspeak represents the Newspeak programming language.
	LanguageNewspeak
	// LanguageNginx represents the Nginx programming language.
	LanguageNginx
	// LanguageNginxConfig represents the NginxConfig programming language.
	LanguageNginxConfig
	// LanguageNimrod represents the Nimrod programming language.
	LanguageNimrod
	// LanguageNit represents the Nit programming language.
	LanguageNit
	// LanguageNix represents the Nix programming language.
	LanguageNix
	// LanguageNotmuch represents the Notmuch programming language.
	LanguageNotmuch
	// LanguageNSIS represents the NSIS programming language.
	LanguageNSIS
	// LanguageNu represents the Nu programming language.
	LanguageNu
	// LanguageNumPy represents the NumPy programming language.
	LanguageNumPy
	// LanguageNushell represents the Nushell programming language.
	LanguageNushell
	// LanguageNuSMV represents the NuSMV programming language.
	LanguageNuSMV
	// LanguageObjdump represents the Objdump programming language.
	LanguageObjdump
	// LanguageObjectiveC represents the ObjectiveC programming language.
	LanguageObjectiveC
	// LanguageObjectiveCPP represents the ObjectiveC++ programming language.
	LanguageObjectiveCPP
	// LanguageObjectiveJ represents the ObjectiveJ programming language.
	LanguageObjectiveJ
	// LanguageOCaml represents the OCaml programming language.
	LanguageOCaml
	// LanguageOctave represents the Octave programming language.
	LanguageOctave
	// LanguageODIN represents the ODIN programming language.
	LanguageODIN
	// LanguageOnesEnterprise represents the OnesEnterprise programming language.
	LanguageOnesEnterprise
	// LanguageOoc represents the Ooc programming language.
	LanguageOoc
	// LanguageOpa represents the Opa programming language.
	LanguageOpa
	// LanguageOpenEdgeABL represents the OpenEdgeABL programming language.
	LanguageOpenEdgeABL
	// LanguageOpenSCAD represents the OpenSCAD programming language.
	LanguageOpenSCAD
	// LanguageOrg represents the Org programming language.
	LanguageOrg
	// LanguagePacmanConf represents the PacmanConf programming language.
	LanguagePacmanConf
	// LanguagePan represents the Pan programming language.
	LanguagePan
	// LanguageParaSail represents the ParaSail programming language.
	LanguageParaSail
	// LanguageParrot represents the Parrot programming language.
	LanguageParrot
	// LanguagePascal represents the Pascal programming language.
	LanguagePascal
	// LanguagePawn represents the Pawn programming language.
	LanguagePawn
	// LanguagePEG represents the PEG programming language.
	LanguagePEG
	// LanguagePerl represents the Perl programming language.
	LanguagePerl
	// LanguagePerl6 represents the Perl6 programming language.
	LanguagePerl6
	// LanguagePHP represents the PHP programming language.
	LanguagePHP
	// LanguagePHTML represents the PHTML programming language.
	LanguagePHTML
	// LanguagePig represents the Pig programming language.
	LanguagePig
	// LanguagePike represents the Pike programming language.
	LanguagePike
	// LanguagePkgConfig represents the PkgConfig programming language.
	LanguagePkgConfig
	// LanguagePLpgSQL represents the PLpgSQL programming language.
	LanguagePLpgSQL
	// LanguagePlutusCore represents the Plutus Core programming language.
	LanguagePlutusCore
	// LanguagePointless represents the Pointless programming language.
	LanguagePointless
	// LanguagePony represents the Pony programming language.
	LanguagePony
	// LanguagePostgres represents the Postgres programming language.
	LanguagePostgres
	// LanguagePostgresConsole represents the PostgresConsole programming language.
	LanguagePostgresConsole
	// LanguagePostScript represents the PostScript programming language.
	LanguagePostScript
	// LanguagePOVRay represents the POVRay programming language.
	LanguagePOVRay
	// LanguagePowerQuery represents the PowerQuery programming language.
	LanguagePowerQuery
	// LanguagePowerShell represents the PowerShell programming language.
	LanguagePowerShell
	// LanguagePowerShellSession represents the PowerShellSession programming language.
	LanguagePowerShellSession
	// LanguagePraat represents the Praat programming language.
	LanguagePraat
	// LanguageProcessing represents the Processing programming language.
	LanguageProcessing
	// LanguageProlog represents the Prolog programming language.
	LanguageProlog
	// LanguagePromQL represents the PromQL programming language.
	LanguagePromQL
	// LanguageProtocolBuffer represents the ProtocolBuffer programming language.
	LanguageProtocolBuffer
	// LanguagePSL represents the Property Specification Language programming language.
	LanguagePSL
	// LanguagePsyShPHP represents the PHPPsySH programming language.
	LanguagePsyShPHP
	// LanguagePug represents the Pug programming language.
	LanguagePug
	// LanguagePuppet represents the Puppet programming language.
	LanguagePuppet
	// LanguagePureData represents the PureData programming language.
	LanguagePureData
	// LanguagePureScript represents the PureScript programming language.
	LanguagePureScript
	// LanguagePyPyLog represents the PyPyLog programming language.
	LanguagePyPyLog
	// LanguagePython represents the Python programming language.
	LanguagePython
	// LanguagePython2 represents the Python2 programming language.
	LanguagePython2
	// LanguagePython2Traceback represents the Python2Traceback programming language.
	LanguagePython2Traceback
	// LanguagePythonConsole represents the PythonConsole programming language.
	LanguagePythonConsole
	// LanguagePythonTraceback represents the PythonTraceback programming language.
	LanguagePythonTraceback
	// LanguageQBasic represents the QBasic programming language.
	LanguageQBasic
	// LanguageQML represents the QML programming language.
	LanguageQML
	// LanguageQVTO represents the QVTO programming language.
	LanguageQVTO
	// LanguageR represents the R programming language.
	LanguageR
	// LanguageRacket represents the Racket programming language.
	LanguageRacket
	// LanguageRagel represents the Ragel programming language.
	LanguageRagel
	// LanguageRagelEmbedded represents the RagelEmbedded programming language.
	LanguageRagelEmbedded
	// LanguageRaku represents the Raku programming language.
	LanguageRaku
	// LanguageRAML represents the RAML programming language.
	LanguageRAML
	// LanguageRascal represents the Rascal programming language.
	LanguageRascal
	// LanguageRawToken represents the RawToken programming language.
	LanguageRawToken
	// LanguageRazor represents the Razor programming language.
	LanguageRazor
	// LanguageRConsole represents the RConsole programming language.
	LanguageRConsole
	// LanguageRd represents the Rd programming language.
	LanguageRd
	// LanguageRDoc represents the RDoc programming language.
	LanguageRDoc
	// LanguageReadlineConfig represents the ReadlineConfig programming language.
	LanguageReadlineConfig
	// LanguageREALbasic represents the REALbasic programming language.
	LanguageREALbasic
	// LanguageReasonML represents the ReasonML programming language.
	LanguageReasonML
	// LanguageREBOL represents the REBOL programming language.
	LanguageREBOL
	// LanguageRecordJar represents the RecordJar programming language.
	LanguageRecordJar
	// LanguageRed represents the Red programming language.
	LanguageRed
	// LanguageRedcode represents the Redcode programming language.
	LanguageRedcode
	// LanguageRegularExpression represents the RegularExpression programming language.
	LanguageRegularExpression
	// LanguageRenderScript represents the RenderScript programming language.
	LanguageRenderScript
	// LanguageRenPy represents the RenPy programming language.
	LanguageRenPy
	// LanguageRegistry represents the Registry programming language.
	LanguageRegistry
	// LanguageReScript represents the ReScript programming language.
	LanguageReScript
	// LanguageResourceBundle represents the ResourceBundle programming language.
	LanguageResourceBundle
	// LanguageReStructuredText represents the ReStructuredText programming language.
	LanguageReStructuredText
	// LanguageRexx represents the Rexx programming language.
	LanguageRexx
	// LanguageRHTML represents the RHTML programming language.
	LanguageRHTML
	// LanguageRichTextFormat represents the RichTextFormat programming language.
	LanguageRichTextFormat
	// LanguageRide represents the Ride programming language.
	LanguageRide
	// LanguageRing represents the Ring programming language.
	LanguageRing
	// LanguageRiot represents the Riot programming language.
	LanguageRiot
	// LanguageRMarkdown represents the RMarkdown programming language.
	LanguageRMarkdown
	// LanguageRNGCompact represents the RNGCompact programming language.
	LanguageRNGCompact
	// LanguageRoboconfGraph represents the RoboconfGraph programming language.
	LanguageRoboconfGraph
	// LanguageRoboconfInstances represents the RoboconfInstances programming language.
	LanguageRoboconfInstances
	// LanguageRobotFramework represents the RobotFramework programming language.
	LanguageRobotFramework
	// LanguageRoff represents the Roff programming language.
	LanguageRoff
	// LanguageRoffManpage represents the RoffManpage programming language.
	LanguageRoffManpage
	// LanguageRouge represents the Rouge programming language.
	LanguageRouge
	// LanguageRPC represents the RPC programming language.
	LanguageRPC
	// LanguageRPMSpec represents the RPMSpec programming language.
	LanguageRPMSpec
	// LanguageRQL represents the RQL programming language.
	LanguageRQL
	// LanguageRSL represents the RSL programming language.
	LanguageRSL
	// LanguageRuby represents the Ruby programming language.
	LanguageRuby
	// LanguageRubyIRBSession represents the RubyIRBSession programming language.
	LanguageRubyIRBSession
	// LanguageRUNOFF represents the RUNOFF programming language.
	LanguageRUNOFF
	// LanguageRust represents the Rust programming language.
	LanguageRust
	// LanguageS represents the S programming language.
	LanguageS
	// LanguageSage represents the LanguageSage programming language.
	LanguageSage
	// LanguageSalt represents the Salt programming language.
	LanguageSalt
	// LanguageSARL represents the SARL programming language.
	LanguageSARL
	// LanguageSAS represents the SAS programming language.
	LanguageSAS
	// LanguageSass represents the Sass programming language.
	LanguageSass
	// LanguageScala represents the Scala programming language.
	LanguageScala
	// LanguageScaml represents the Scaml programming language.
	LanguageScaml
	// LanguageScdoc represents the Scdoc programming language.
	LanguageScdoc
	// LanguageScheme represents the Scheme programming language.
	LanguageScheme
	// LanguageScilab represents the Scilab programming language.
	LanguageScilab
	// LanguageScribe represents the Scribe programming language.
	LanguageScribe
	// LanguageSCSS represents the SCSS programming language.
	LanguageSCSS
	// LanguageSed represents the LanguageSed programming language.
	LanguageSed
	// LanguageSelf represents the Self programming language.
	LanguageSelf
	// LanguageSGML represents the SGML programming language.
	LanguageSGML
	// LanguageShaderLab represents the LanguageShaderLab programming language.
	LanguageShaderLab
	// LanguageShell represents the Shell programming language.
	LanguageShell
	// LanguageShellSession represents the LanguageShellSession programming language.
	LanguageShellSession
	// LanguageShen represents the Shen programming language.
	LanguageShen
	// LanguageShExC represents the ShExC programming language.
	LanguageShExC
	// LanguageSieve represents the Sieve programming language.
	LanguageSieve
	// LanguageSilver represents the Silver programming language.
	LanguageSilver
	// LanguageSimula represents the Simula programming language.
	LanguageSimula
	// LanguageSingularity represents the Singularity programming language.
	LanguageSingularity
	// LanguageSketchDrawing represents the SketchDrawing programming language.
	LanguageSketchDrawing
	// LanguageSKILL represents the SKILL programming language.
	LanguageSKILL
	// LanguageSlash represents the Slash programming language.
	LanguageSlash
	// LanguageSlice represents the LanguageSlice programming language.
	LanguageSlice
	// LanguageSlim represents the Slim programming language.
	LanguageSlim
	// LanguageSlint represents the Slint programming language.
	LanguageSlint
	// LanguageSlurm represents the Slurm programming language.
	LanguageSlurm
	// LanguageSmali represents the Smali programming language.
	LanguageSmali
	// LanguageSmalltalk represents the Smalltalk programming language.
	LanguageSmalltalk
	// LanguageSmartGameFormat represents the SmartGameFormat programming language.
	LanguageSmartGameFormat
	// LanguageSmarty represents the Smarty programming language.
	LanguageSmarty
	// LanguageSMIME represents the SMIME programming language.
	LanguageSMIME
	// LanguageSML represents the Standard ML programming language.
	LanguageSML
	// LanguageSmPL represents the LanguageSmPL programming language.
	LanguageSmPL
	// LanguageSMT represents the LanguageSMT programming language.
	LanguageSMT
	// LanguageSnobol represents the Snobol programming language.
	LanguageSnobol
	// LanguageSnowball represents the Snowball programming language.
	LanguageSnowball
	// LanguageSolidity represents the Solidity programming language.
	LanguageSolidity
	// LanguageSourcePawn represents the SourcePawn programming language.
	LanguageSourcePawn
	// LanguageSPARQL represents the SPARQL programming language.
	LanguageSPARQL
	// LanguageSplineFontDatabase represents the LanguageSplineFontDatabase programming language.
	LanguageSplineFontDatabase
	// LanguageSourcesList represents the Debian Sourcelist programming language.
	LanguageSourcesList
	// LanguageSQF represents the LanguageSQF programming language.
	LanguageSQF
	// LanguageSQL represents the SQL programming language.
	LanguageSQL
	// LanguageSQLPL represents the LanguageSQLPL programming language.
	LanguageSQLPL
	// LanguageSqlite3con represents the sqlite3con programming language.
	LanguageSqlite3con
	// LanguageSquidConf represents the SquidConf programming language.
	LanguageSquidConf
	// LanguageSquirrel represents the LanguageSquirrel programming language.
	LanguageSquirrel
	// LanguageSRecodeTemplate represents the LanguageSRecodeTemplate programming language.
	LanguageSRecodeTemplate
	// LanguageSSHConfig represents the LanguageSSHConfig programming language.
	LanguageSSHConfig
	// LanguageSSP represents the Scalate Server Page programming language.
	LanguageSSP
	// LanguageStan represents the Stan programming language.
	LanguageStan
	// LanguageStarlark represents the LanguageStarlark programming language.
	LanguageStarlark
	// LanguageStas represents the st(ack) as(sembler) programming language.
	LanguageStas
	// LanguageStata represents the Stata programming language.
	LanguageStata
	// LanguageSTON represents the LanguageSTON programming language.
	LanguageSTON
	// LanguageSVG represents the LanguageSVG programming language.
	LanguageSVG
	// LanguageStylus represents the Stylus programming language.
	LanguageStylus
	// LanguageSublimeTextConfig represents the SublimeTextConfig programming language.
	LanguageSublimeTextConfig
	// LanguageSubRipText represents the LanguageSubRipText programming language.
	LanguageSubRipText
	// LanguageSugarSS represents the LanguageSugarSS programming language.
	LanguageSugarSS
	// LanguageSuperCollider represents the SuperCollider programming language.
	LanguageSuperCollider
	// LanguageSvelte represents the Svelte programming language.
	LanguageSvelte
	// LanguageSwift represents the Swift programming language.
	LanguageSwift
	// LanguageSWIG represents the SWIG programming language.
	LanguageSWIG
	// LanguageSYSTEMD represents the SYSTEMD programming language.
	LanguageSYSTEMD
	// LanguageSystemVerilog represents the SystemVerilog programming language.
	LanguageSystemVerilog
	// LanguageTableGen represents the TableGen programming language.
	LanguageTableGen
	// LanguageTADS3 represents the TADS3 programming language.
	LanguageTADS3
	// LanguageTAP represents the TAP programming language.
	LanguageTAP
	// LanguageTASM represents the TASM programming language.
	LanguageTASM
	// LanguageTcl represents the Tcl programming language.
	LanguageTcl
	// LanguageTcsh represents the Tcsh programming language.
	LanguageTcsh
	// LanguageTcshSession represents the TcshSession programming language.
	LanguageTcshSession
	// LanguageTea represents the Tea programming language.
	LanguageTea
	// LanguageTeraTerm represents the TeraTerm programming language.
	LanguageTeraTerm
	// LanguageTermcap represents the Termcap programming language.
	LanguageTermcap
	// LanguageTerminfo represents the Terminfo programming language.
	LanguageTerminfo
	// LanguageTerra represent the Terra programming language.
	LanguageTerra
	// LanguageTerraform represents the Terraform programming language.
	LanguageTerraform
	// LanguageTeX represents the TeX programming language.
	LanguageTeX
	// LanguageTexinfo represent the Texinfo programming language.
	LanguageTexinfo
	// LanguageText represents the Text programming language.
	LanguageText
	// LanguageTextile represent the Textile programming language.
	LanguageTextile
	// LanguageThrift represents the Thrift programming language.
	LanguageThrift
	// LanguageTiddler represents the Tiddler programming languages.
	LanguageTiddler
	// LanguageTIProgram represent the TIProgram programming language.
	LanguageTIProgram
	// LanguageTLA represent the TLA programming language.
	LanguageTLA
	// LanguageTNT represents the TNT programming languages.
	LanguageTNT
	// LanguageTodotxt represents the Todotxt programming languages.
	LanguageTodotxt
	// LanguageTOML represents the TOML programming language.
	LanguageTOML
	// LanguageTradingView represents the TradingView programming languages.
	LanguageTradingView
	// LanguageTrafficScript represents the TrafficScript programming languages.
	LanguageTrafficScript
	// LanguageTransactSQL represents the TransactSQL programming languages.
	LanguageTransactSQL
	// LanguageTreetop represents the Treetop programming languages.
	LanguageTreetop
	// LanguageTSV represent the TSV programming language.
	LanguageTSV
	// LanguageTSX represent the TSX programming language.
	LanguageTSX
	// LanguageTuring represents the Turing programming language.
	LanguageTuring
	// LanguageTurtle represents the Turtle programming languages.
	LanguageTurtle
	// LanguageTwig represents the Twig programming language.
	LanguageTwig
	// LanguageTXL represent the TXL programming language.
	LanguageTXL
	// LanguageTypeLanguage represent the TypeLanguage programming language.
	LanguageTypeLanguage
	// LanguageTypeScript represents the TypeScript programming language.
	LanguageTypeScript
	// LanguageTypoScript represents the TypoScript programming language.
	LanguageTypoScript
	// LanguageUcode represents the Ucode programming language.
	LanguageUcode
	// LanguageUnicon represents the Unicon programming language.
	LanguageUnicon
	// LanguageUnifiedParallelC represents the UnifiedParallelC programming language.
	LanguageUnifiedParallelC
	// LanguageUnity3DAsset represents the Unity3DAsset programming language.
	LanguageUnity3DAsset
	// LanguageUnixAssembly represents the UnixAssembly programming language.
	LanguageUnixAssembly
	// LanguageUno represents the Uno programming language.
	LanguageUno
	// LanguageUnrealScript represents the UnrealScript programming language.
	LanguageUnrealScript
	// LanguageUrbiScript represents the UrbiScript programming language.
	LanguageUrbiScript
	// LanguageUrWeb represents the UrWeb programming language.
	LanguageUrWeb
	// LanguageUSD represents the USD programming language.
	LanguageUSD
	// LanguageUxntal represents the Uxntal programming language.
	LanguageUxntal
	// LanguageV represents the V programming language.
	LanguageV
	// LanguageVala represents the Vala programming language.
	LanguageVala
	// LanguageVB represents the VB programming language.
	LanguageVB
	// LanguageVBA represents the VBA programming language.
	LanguageVBA
	// LanguageVBNet represents the VB.net programming language.
	LanguageVBNet
	// LanguageVBScript represents the VBScript programming language.
	LanguageVBScript
	// LanguageVCL represents the VCL programming language.
	LanguageVCL
	// LanguageVCLSnippets represents the VCLSnippets programming language.
	LanguageVCLSnippets
	// LanguageVCTreeStatus represents the VCTreeStatus programming language.
	LanguageVCTreeStatus
	// LanguageVelocity represents the Velocity programming language.
	LanguageVelocity
	// LanguageVerilog represents the Verilog programming language.
	LanguageVerilog
	// LanguageVGL represents the VGL programming language.
	LanguageVGL
	// LanguageVHDL represents the VHDL programming language.
	LanguageVHDL
	// LanguageVHS represents the VHS programming language.
	LanguageVHS
	// LanguageVimHelpFile represents the VimHelpFile programming language.
	LanguageVimHelpFile
	// LanguageVimL represents the VimL programming language.
	LanguageVimL
	// LanguageVimScript represents the VimScript programming language.
	LanguageVimScript
	// LanguageVimSnippet represents the VimSnippet programming language.
	LanguageVimSnippet
	// LanguageVolt represents the Volt programming language.
	LanguageVolt
	// LanguageVShell represents the V shell programming language.
	LanguageVShell
	// LanguageVueJS represents the VueJS programming language.
	LanguageVueJS
	// LanguageWavefrontMaterial represents the WavefrontMaterial programming language.
	LanguageWavefrontMaterial
	// LanguageWavefrontObject represents the WavefrontObject programming language.
	LanguageWavefrontObject
	// LanguageWdl represents the Wdl programming language.
	LanguageWdl
	// LanguageWDTE represents the WDTE programming language.
	LanguageWDTE
	// LanguageWDiff represents the WDiff programming language.
	LanguageWDiff
	// LanguageWebAssembly represents the WebAssembly programming language.
	LanguageWebAssembly
	// LanguageWebGPUShadingLanguage represents the WebGPU Shading Language programming language.
	LanguageWebGPUShadingLanguage
	// LanguageWebIDL represents the WebIDL programming language.
	LanguageWebIDL
	// LanguageWebOntologyLanguage represents the WebOntologyLanguage programming language.
	LanguageWebOntologyLanguage
	// LanguageWebVTT represents the WebVTT programming language.
	LanguageWebVTT
	// LanguageWgetConfig represents the WgetConfig programming language.
	LanguageWgetConfig
	// LanguageWhiley represents the Whiley programming language.
	LanguageWhiley
	// LanguageWindowsRegistryEntries represents the WindowsRegistryEntries programming language.
	LanguageWindowsRegistryEntries
	// LanguageWisp represents the wisp programming language.
	LanguageWisp
	// LanguageWollok represents the Wollok programming language.
	LanguageWollok
	// LanguageWowAddonData represents the WowAddonData programming language.
	LanguageWowAddonData
	// LanguageX10 represents the X10 programming language.
	LanguageX10
	// LanguageXAML represents the XAML programming language.
	LanguageXAML
	// LanguageXBase represents the XBase programming language.
	LanguageXBase
	// LanguageXBitMap represents the XBitMap programming language.
	LanguageXBitMap
	// LanguageXC represents the XC programming language.
	LanguageXC
	// LanguageXCompose represents the XCompose programming language.
	LanguageXCompose
	// LanguageXFontDirectoryIndex represents the XFontDirectoryIndex programming language.
	LanguageXFontDirectoryIndex
	// LanguageXML represents the XML programming language.
	LanguageXML
	// LanguageXMLPropertyList represents the XMLPropertyList programming language.
	LanguageXMLPropertyList
	// LanguageXojo represents the Xojo programming language.
	LanguageXojo
	// LanguageXorg represents the Xorg programming language.
	LanguageXorg
	// LanguageXPages represents the XPages programming language.
	LanguageXPages
	// LanguageXPixMap represents the XPixMap programming language.
	LanguageXPixMap
	// LanguageXProc represents the XProc programming language.
	LanguageXProc
	// LanguageXQuery represents the XQuery programming language.
	LanguageXQuery
	// LanguageXS represents the XS programming language.
	LanguageXS
	// LanguageXSLT represents the XSLT programming language.
	LanguageXSLT
	// LanguageXtend represents the Xtend programming language.
	LanguageXtend
	// LanguageXtlang represents the Xtlang programming language.
	LanguageXtlang
	// LanguageYacc represents the Yacc programming language.
	LanguageYacc
	// LanguageYAML represents the YAML programming language.
	LanguageYAML
	// LanguageYANG represents the YANG programming language.
	LanguageYANG
	// LanguageYARA represents the YARA programming language.
	LanguageYARA
	// LanguageYASnippet represents the YASnippet programming language.
	LanguageYASnippet
	// LanguageZ80Assembly represents the Z80 Assembly programming language.
	LanguageZ80Assembly
	// LanguageZAP represents the ZAP programming language.
	LanguageZAP
	// LanguageZed represents the Zed programming language.
	LanguageZed
	// LanguageZeek represents the Zeek programming language.
	LanguageZeek
	// LanguageZenScript represents the ZenScript programming language.
	LanguageZenScript
	// LanguageZephir represents the Zephir programming language.
	LanguageZephir
	// LanguageZig represents the Zig programming language.
	LanguageZig
	// LanguageZIL represents the ZIL programming language.
	LanguageZIL
	// LanguageZimpl represents the Zimpl programming language.
	LanguageZimpl
)

func ParseLanguage

func ParseLanguage(s string) (Language, bool)

ParseLanguage parses a language from a string. Will return false as second parameter, if language could not be parsed. nolint:gocyclo

func ParseLanguageFromChroma

func ParseLanguageFromChroma(lexerName string) (Language, bool)

ParseLanguageFromChroma parses a language from a chroma lexer name. Will return false as second parameter, if language could not be parsed. nolint:gocyclo

func (Language) MarshalJSON

func (l Language) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler interface.

func (Language) String

func (l Language) String() string

String implements fmt.Stringer interface. nolint:gocyclo

func (Language) StringChroma

func (l Language) StringChroma() string

StringChroma returns the corresponding chroma lexer name. nolint:gocyclo

func (*Language) UnmarshalJSON

func (l *Language) UnmarshalJSON(v []byte) error

UnmarshalJSON implements json.Unmarshaler interface.

type Noop added in v1.42.1

type Noop struct{}

Noop is a noop api client, used to always skip sending to the API.

func (Noop) SendHeartbeats added in v1.42.1

func (Noop) SendHeartbeats(_ []Heartbeat) ([]Result, error)

SendHeartbeats always returns nil.

type Result

type Result struct {
	Errors    []string
	Status    int
	Heartbeat Heartbeat
	// it's a temporary solution before we have a better way to handle (avoid import cycle)
	FileExpert any
}

Result represents a response from the wakatime api.

type SanitizeConfig

type SanitizeConfig struct {
	// BranchPatterns will be matched against the branch and if matching, will obfuscate it.
	BranchPatterns []regex.Regex
	// FilePatterns will be matched against a file entity's name and if matching will obfuscate
	// the file name and common heartbeat meta data (cursor position, dependencies, line number and lines).
	FilePatterns []regex.Regex
	// HideProjectFolder determines if project folder should be obfuscated.
	HideProjectFolder bool
	// ProjectPatterns will be matched against the project name and if matching will obfuscate
	// common heartbeat meta data (cursor position, dependencies, line number and lines).
	ProjectPatterns []regex.Regex
}

SanitizeConfig defines how a heartbeat should be sanitized.

type Sender

type Sender interface {
	SendHeartbeats(hh []Heartbeat) ([]Result, error)
}

Sender sends heartbeats to the wakatime api.

Jump to

Keyboard shortcuts

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