tools

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const CdrFileName = "clipboard-data-receiver"

Variables

This section is empty.

Functions

func CreateSendToTCP added in v0.10.0

func CreateSendToTCP(configDir string, port int) (string, error)

func GetProcessInfo added in v0.8.0

func GetProcessInfo(cdrOutput string) (int, string, int, error)

func InstallDevcontainerTools added in v0.8.0

func InstallDevcontainerTools(installDir string) (string, error)

devcontainer サブコマンド用のツールインストール

func InstallDownTools added in v0.8.0

func InstallDownTools(installDir string) (string, error)

Down サブコマンド用のツールインストール

func InstallRunTools added in v0.8.0

func InstallRunTools(installDir string) (string, string, error)

run サブコマンド用のツールインストール

func InstallStartTools added in v0.8.0

func InstallStartTools(installDir string) (string, string, string, error)

start サブコマンド用のツールインストール 戻り値は、 vimPath, devcontainerPath, cdrPath, error

func InstallStopTools added in v0.10.0

func InstallStopTools(installDir string) (string, error)

Stop サブコマンド用のツールインストール

func InstallTemplatesTools added in v0.8.0

func InstallTemplatesTools(installDir string) (string, error)

Templates サブコマンド用のツールインストール

func KillCdr added in v0.8.0

func KillCdr(pid int) error

func RunCdr added in v0.8.0

func RunCdr(cdrPath string, configFileDir string) (int, int, error)

clipboard-data-receiver を起動 pid ファイル、 port ファイルを configFileDir へ保存する。

func SelfUpdate added in v1.1.0

func SelfUpdate() error

SelfUpdate downloads the latest release of devcontainer.vim from GitHub and replaces the current binary

Types

type CdrOutput added in v0.8.0

type CdrOutput struct {
	Pid     int    `json:"pid"`
	Address string `json:"address"`
	Port    int    `json:"port"`
}

`clipboard-data-receiver` コマンドの標準出力スキーマ

Example:

{
  "pid": 1234,
  "address": "0.0.0.0",
  "port": 5678
}

func UnmarshalCdrOutput added in v0.8.0

func UnmarshalCdrOutput(data []byte) (CdrOutput, error)

type ProgressWriter added in v1.0.9

type ProgressWriter struct {
	Total   int64
	Current int64
}

進捗表示用構造体

func (*ProgressWriter) Write added in v1.0.9

func (p *ProgressWriter) Write(data []byte) (int, error)

type Tool

type Tool struct {
	FileName             string
	CalculateDownloadURL func() string
	// contains filtered or unexported fields
}

ツール情報

var CDR Tool = func() Tool {

	// WSL 上で実行されているかを判定し、
	// WSL 上で実行されているなら `.exe` をダウンロード
	var cdrFileName string
	var tmpl *template.Template
	var err error
	if util.IsWsl() {
		cdrFileName = cdrFileNameForWindows
		tmpl, err = template.New("ducp").Parse(downloadURLCdrPatternForWindows)
	} else {
		cdrFileName = CdrFileName
		tmpl, err = template.New("ducp").Parse(downloadURLCdrPattern)
	}
	if err != nil {
		panic(err)
	}

	return Tool{
		FileName: cdrFileName,
		CalculateDownloadURL: func() string {
			latestTagName, err := util.GetLatestReleaseFromGitHub("mikoto2000", "clipboard-data-receiver")
			if err != nil {
				panic(err)
			}

			tmplParams := map[string]string{"TagName": latestTagName}
			var downloadURL strings.Builder
			err = tmpl.Execute(&downloadURL, tmplParams)
			if err != nil {
				panic(err)
			}
			return downloadURL.String()
		},
		installFunc: func(downloadURL string, filePath string) (string, error) {
			return simpleInstall(downloadURL, filePath)
		},
	}
}()

clipboard-data-receiver のツール情報

var DEVCONTAINER Tool = Tool{
	FileName: devcontainerFileName,
	CalculateDownloadURL: func() string {
		latestTagName, err := util.GetLatestReleaseFromGitHub("mikoto2000", "devcontainers-cli")
		if err != nil {
			panic(err)
		}

		pattern := "pattern"
		tmpl, err := template.New(pattern).Parse(downloadURLDevcontainersCliPattern)
		if err != nil {
			panic(err)
		}

		tmplParams := map[string]string{"TagName": latestTagName}
		var downloadURL strings.Builder
		err = tmpl.Execute(&downloadURL, tmplParams)
		if err != nil {
			panic(err)
		}
		return downloadURL.String()
	},
	// contains filtered or unexported fields
}

devcontainer/cli のツール情報

var VIM Tool = Tool{
	FileName: "vim",
	CalculateDownloadURL: func() string {
		latestTagName, err := util.GetLatestReleaseFromGitHub("vim", "vim-appimage")
		if err != nil {
			panic(err)
		}

		pattern := "pattern"
		tmpl, err := template.New(pattern).Parse(vimDownloadURLPattern)
		if err != nil {
			panic(err)
		}

		tmplParams := map[string]string{"TagName": latestTagName}
		var downloadURL strings.Builder
		err = tmpl.Execute(&downloadURL, tmplParams)
		if err != nil {
			panic(err)
		}
		return downloadURL.String()
	},
	// contains filtered or unexported fields
}

Vim のツール情報

func (Tool) Install

func (t Tool) Install(installDir string, override bool) (string, error)

ツールのインストールを実行

Jump to

Keyboard shortcuts

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