Documentation
¶
Index ¶
- Constants
- Variables
- func Decrypt(in string) (string, error)
- func Encrypt(in string) (string, error)
- func Load(init bool) error
- func SaveState(s State)
- type BaseLangConfig
- type Block
- type CodeConfig
- type Config
- func (c *Config) CacheDir() string
- func (c *Config) ConfigDir() string
- func (c *Config) GlobalConfigFile() string
- func (c *Config) ProjectConfigFile() string
- func (c *Config) ProjectRoot() string
- func (c *Config) QuestionCacheFile(ext string) string
- func (c *Config) StateFile() string
- func (c *Config) TempDir() string
- func (c *Config) Write(w io.Writer, withComments bool) error
- type ContestConfig
- type CppConfig
- type Credentials
- type Editor
- type GoConfig
- type Language
- type LastQuestion
- type LeetCodeConfig
- type LeetcodeSite
- type Modifier
- type State
- type States
Constants ¶
View Source
const ( CmdName = "leetgo" ProjectConfigFilename = "leetgo.yaml" CodeBeginMarker = "@lc code=begin" CodeEndMarker = "@lc code=end" GoTestUtilsModPath = "github.com/j178/leetgo/testutils/go" ProjectURL = "https://github.com/j178/leetgo" )
View Source
const ( LeetCodeCN LeetcodeSite = "https://leetcode.cn" LeetCodeUS LeetcodeSite = "https://leetcode.com" ZH Language = "zh" EN Language = "en" )
Variables ¶
View Source
var (
Debug = os.Getenv("DEBUG") == "1"
)
Functions ¶
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"`
SeparateDescriptionFile bool `` /* 144-byte string literal not displayed */
Blocks []Block `yaml:"blocks,omitempty" mapstructure:"blocks" comment:"Replace some blocks of the generated code"`
Modifiers []Modifier `yaml:"modifiers,omitempty" mapstructure:"modifiers" comment:"Functions that modify the generated code"`
}
type CodeConfig ¶
type CodeConfig struct {
Lang string `` /* 154-byte string literal not displayed */
FilenameTemplate string `` /* 296-byte string literal not displayed */
SeparateDescriptionFile bool `` /* 134-byte string literal not displayed */
Blocks []Block `yaml:"blocks,omitempty" mapstructure:"blocks" comment:"Replace some blocks of the generated code"`
Modifiers []Modifier `yaml:"modifiers,omitempty" mapstructure:"modifiers" comment:"Functions that modify the generated code"`
Go GoConfig `yaml:"go" mapstructure:"go"`
Python BaseLangConfig `yaml:"python3" mapstructure:"python3"`
Cpp CppConfig `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"`
// contains filtered or unexported fields
}
func (*Config) GlobalConfigFile ¶
func (*Config) ProjectConfigFile ¶
func (*Config) ProjectRoot ¶
func (*Config) QuestionCacheFile ¶ added in v0.2.1
type ContestConfig ¶
type ContestConfig struct {
OutDir string `yaml:"out_dir" mapstructure:"out_dir" comment:"Base dir to put generated contest questions"`
FilenameTemplate string `yaml:"filename_template" mapstructure:"filename_template" comment:"Template to generate filename of the question"`
OpenInBrowser bool `yaml:"open_in_browser" mapstructure:"open_in_browser" comment:"Open the contest page in browser after generating"`
}
type CppConfig ¶ added in v1.3.1
type CppConfig struct {
BaseLangConfig `yaml:",inline" mapstructure:",squash"`
CXX string `yaml:"cxx" mapstructure:"cxx" comment:"C++ compiler"`
CXXFLAGS []string `yaml:"cxxflags" mapstructure:"cxxflags" comment:"C++ compiler flags (our Leetcode I/O library implementation requires C++17)"`
}
type Credentials ¶
type Credentials struct {
From string `yaml:"from" mapstructure:"from" comment:"How to provide credentials: browser, cookies, password or none"`
Session string `yaml:"session" mapstructure:"session" comment:"LeetCode cookie: LEETCODE_SESSION"`
CsrfToken string `yaml:"csrftoken" mapstructure:"csrftoken" comment:"LeetCode cookie: csrftoken"`
Username string `yaml:"username" mapstructure:"username" comment:"LeetCode username"`
Password string `yaml:"password" mapstructure:"password" comment:"Encrypted LeetCode password"`
}
type GoConfig ¶
type GoConfig struct {
BaseLangConfig `yaml:",inline" mapstructure:",squash"`
}
type LastQuestion ¶
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"`
}
Click to show internal directories.
Click to hide internal directories.