config

package
v0.1.0-alpha.4 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2023 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LeetCodeCN LeetcodeSite = "https://leetcode.cn"
	LeetCodeUS LeetcodeSite = "https://leetcode.com"
	ZH         Language     = "zh"
	EN         Language     = "en"
)
View Source
const (
	CmdName = "leetgo"
)

Variables

View Source
var (
	Debug = os.Getenv("DEBUG") != ""
)

Functions

func Decrypt

func Decrypt(in string) (string, error)

func Encrypt

func Encrypt(in string) (string, error)

func SaveState

func SaveState(s State)

func Set

func Set(c Config)

func Verify

func Verify(c *Config) error

Types

type BaseLangConfig

type BaseLangConfig struct {
	OutDir           string `yaml:"out_dir" mapstructure:"out_dir"`
	FilenameTemplate string `yaml:"filename_template" mapstructure:"filename_template" comment:"Overrides the default code.filename_template"`
}

type CodeConfig

type CodeConfig struct {
	Lang             string         `` /* 154-byte string literal not displayed */
	FilenameTemplate string         `` /* 296-byte string literal not displayed */
	CodeBeginMark    string         `yaml:"code_begin_mark" mapstructure:"code_begin_mark" comment:"The mark to indicate the beginning of the code"`
	CodeEndMark      string         `yaml:"code_end_mark" mapstructure:"code_end_mark" comment:"The mark to indicate the end of the code"`
	Go               GoConfig       `yaml:"go" mapstructure:"go"`
	Python           BaseLangConfig `yaml:"python" mapstructure:"python"`
	Cpp              BaseLangConfig `yaml:"cpp" mapstructure:"cpp"`
	Java             BaseLangConfig `yaml:"java" mapstructure:"java"`
	Rust             BaseLangConfig `yaml:"rust" mapstructure:"rust"`
}

type Config

type Config struct {
	Author   string         `yaml:"author" mapstructure:"author" comment:"Your name"`
	Language Language       `yaml:"language" mapstructure:"language" comment:"Language of the question description: zh or en"`
	Code     CodeConfig     `yaml:"code" mapstructure:"code" comment:"Code configuration"`
	LeetCode LeetCodeConfig `yaml:"leetcode" mapstructure:"leetcode" comment:"LeetCode configuration"`
	Contest  ContestConfig  `yaml:"contest" mapstructure:"contest"`
	Editor   Editor         `yaml:"editor" mapstructure:"editor" comment:"The editor to open generated files"`
	Cache    string         `yaml:"cache" mapstructure:"cache" comment:"Cache type, json or sqlite"`
	// contains filtered or unexported fields
}

func Default

func Default() *Config

func Get

func Get() *Config

func (*Config) ConfigDir

func (c *Config) ConfigDir() string

func (*Config) GlobalConfigFile

func (c *Config) GlobalConfigFile() string

func (*Config) LeetCodeCacheFile

func (c *Config) LeetCodeCacheFile() string

func (*Config) ProjectConfigFile

func (c *Config) ProjectConfigFile() string

func (*Config) ProjectConfigFilename

func (c *Config) ProjectConfigFilename() string

func (*Config) ProjectRoot

func (c *Config) ProjectRoot() string

func (*Config) StateFile

func (c *Config) StateFile() string

func (*Config) Write

func (c *Config) Write(w io.Writer) error

type ContestConfig

type ContestConfig struct {
	OutDir string `yaml:"out_dir" mapstructure:"out_dir" comment:"Base dir to put generated contest questions"`
}

type Credentials

type Credentials struct {
	ReadFromBrowser string `` /* 138-byte string literal not displayed */
	Session         string `yaml:"session,omitempty" mapstructure:"session" comment:"LeetCode cookie: LEETCODE_SESSION"`
	CsrfToken       string `yaml:"csrf_token,omitempty" mapstructure:"csrf_token" comment:"LeetCode cookie: csrftoken"`
	Username        string `yaml:"username,omitempty" mapstructure:"username" comment:"LeetCode username"`
	Password        string `yaml:"password,omitempty" mapstructure:"password" comment:"Encrypted LeetCode password"`
}

type Editor

type Editor struct {
	Use     string   `` /* 139-byte string literal not displayed */
	Command string   `yaml:"command" mapstructure:"command" comment:"Custom command to open files"`
	Args    []string `yaml:"args" mapstructure:"args" comment:"Arguments to the command"`
}

type GoConfig

type GoConfig struct {
	BaseLangConfig `yaml:",inline" mapstructure:",squash"`
	GoModPath      string `yaml:"go_mod_path" mapstructure:"go_mod_path" comment:"Go module path for the generated code"`
}

type Language

type Language string

type LastQuestion

type LastQuestion struct {
	FrontendID string `json:"frontend_id"`
	Slug       string `json:"slug"`
	Gen        string `json:"gen"`
}

type LeetCodeConfig

type LeetCodeConfig struct {
	Site        LeetcodeSite `yaml:"site" mapstructure:"site" comment:"LeetCode site, https://leetcode.com or https://leetcode.cn"`
	Credentials Credentials  `yaml:"credentials" mapstructure:"credentials" comment:"Credentials to access LeetCode"`
}

type LeetcodeSite

type LeetcodeSite string

type State

type State struct {
	LastQuestion LastQuestion `json:"last_question"`
	LastContest  string       `json:"last_contest"`
}

func LoadState

func LoadState() State

type States

type States map[string]State

Jump to

Keyboard shortcuts

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