internal

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2024 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LuaPluginObjKey = "PLUGIN"
	OsType          = "OS_TYPE"
	ArchType        = "ARCH_TYPE"
	PluginVersion   = "0.0.1"
)

Variables

View Source
var NoneChecksum = &Checksum{
	Value: "",
	Type:  "none",
}

Functions

This section is empty.

Types

type Arg

type Arg struct {
	Name    string
	Version string
}

type Category

type Category struct {
	Name    string              `json:"category"`
	Count   string              `json:"count"`
	Plugins []*RemotePluginInfo `json:"files"`
}

type Checksum

type Checksum struct {
	Value string
	Type  string
}

type Info

type Info struct {
	Name     string
	Version  Version
	Path     string
	Note     string
	Checksum *Checksum
}

type LuaPlugin

type LuaPlugin struct {

	// plugin source path
	SourcePath  string
	Name        string
	Author      string
	Version     string
	Description string
	UpdateUrl   string
	// contains filtered or unexported fields
}

func NewLuaPlugin

func NewLuaPlugin(content, path string, manager *Manager) (*LuaPlugin, error)

func (*LuaPlugin) Available

func (l *LuaPlugin) Available() ([]*Package, error)

func (*LuaPlugin) Checksum

func (l *LuaPlugin) Checksum(table *lua.LTable) (*Checksum, error)

func (*LuaPlugin) Close

func (l *LuaPlugin) Close()

func (*LuaPlugin) EnvKeys

func (l *LuaPlugin) EnvKeys(sdkPackage *Package) (env.Envs, error)

func (*LuaPlugin) Label

func (l *LuaPlugin) Label(version string) string

func (*LuaPlugin) PostInstall

func (l *LuaPlugin) PostInstall(rootPath string, sdks []*Info) error

func (*LuaPlugin) PreInstall

func (l *LuaPlugin) PreInstall(version Version) (*Package, error)

type Manager

type Manager struct {
	PathMeta *PathMeta

	EnvManager env.Manager
	Record     env.Record

	Config *config.Config
	// contains filtered or unexported fields
}

func NewSdkManager

func NewSdkManager(sources ...RecordSource) *Manager

func NewSdkManagerWithSource

func NewSdkManagerWithSource(sources ...RecordSource) *Manager

func (*Manager) Add

func (m *Manager) Add(pluginName, url, alias string) error

func (*Manager) Available

func (m *Manager) Available() ([]*Category, error)

func (*Manager) Close

func (m *Manager) Close()

func (*Manager) EnvKeys

func (m *Manager) EnvKeys() env.Envs

func (*Manager) LoadAllSdk

func (m *Manager) LoadAllSdk() (map[string]*Sdk, error)

func (*Manager) LookupSdk

func (m *Manager) LookupSdk(name string) (*Sdk, error)

LookupSdk lookup sdk by name

func (*Manager) Remove

func (m *Manager) Remove(pluginName string) error

func (*Manager) Update

func (m *Manager) Update(pluginName string) error

type Package

type Package struct {
	Main       *Info
	Additional []*Info
}

type PathMeta

type PathMeta struct {
	TempPath       string
	ConfigPath     string
	SdkCachePath   string
	PluginPath     string
	ExecutablePath string
}

type RecordSource

type RecordSource string
const (
	GlobalRecordSource  RecordSource = "global"
	ProjectRecordSource RecordSource = "project"
	SessionRecordSource RecordSource = "session"
)

type RemotePluginInfo

type RemotePluginInfo struct {
	Filename string `json:"name"`
	Author   string `json:"plugin_author"`
	Desc     string `json:"plugin_desc"`
	Name     string `json:"plugin_name"`
	Version  string `json:"plugin_version"`
	Sha256   string `json:"sha256"`
	Url      string `json:"url"`
}

type Sdk

type Sdk struct {
	Plugin *LuaPlugin
	// current sdk install path
	InstallPath string
	// contains filtered or unexported fields
}

func NewSdk

func NewSdk(manager *Manager, source *LuaPlugin) (*Sdk, error)

func (*Sdk) Available

func (b *Sdk) Available() ([]*Package, error)

func (*Sdk) Close

func (b *Sdk) Close()

func (*Sdk) Current

func (b *Sdk) Current() Version

func (*Sdk) Download

func (b *Sdk) Download(u *url.URL) (string, error)

func (*Sdk) EnvKeys

func (b *Sdk) EnvKeys(version Version) (env.Envs, error)

func (*Sdk) Install

func (b *Sdk) Install(version Version) error

func (*Sdk) List

func (b *Sdk) List() []Version

func (*Sdk) Uninstall

func (b *Sdk) Uninstall(version Version) error

func (*Sdk) Use

func (b *Sdk) Use(version Version, scope UseScope) error

func (*Sdk) VersionPath

func (b *Sdk) VersionPath(version Version) string

type Temp

type Temp struct {
	CurProcessPath string
	// contains filtered or unexported fields
}

func NewTemp

func NewTemp(dirPath string, pid int) (*Temp, error)

func (*Temp) Remove

func (t *Temp) Remove()

type UseScope

type UseScope int
const (
	Global UseScope = iota
	Project
	Session
)

type Version

type Version string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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