tools

package
v0.1.0-2409121919.dev Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2024 License: Apache-2.0 Imports: 47 Imported by: 0

Documentation

Overview

gosh is a proof of concept shell built on top of interp.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Example (ExtractUsage)
markdown, _ := GetMarkDown("base64")
fmt.Println(len(ExtractUsage(markdown)))
Output:

40
Example (Markdown2text)
markdown, _ := GetMarkDown("base64")
fmt.Println(len(MarkdownToText(markdown)))
Output:

697

Index

Examples

Constants

This section is empty.

Variables

View Source
var ToolList = []Tool{
	{"wsk", false},
	{"awk", false},
	{"jq", false},
	{"sh", true},
	{"envsubst", false},
	{"filetype", true},
	{"random", true},
	{"datefmt", true},
	{"die", false},
	{"urlenc", true},
	{"replace", false},
	{"base64", true},
	{"validate", true},
	{"echoif", true},
	{"echoifempty", true},
	{"echoifexists", true},
	{"needupdate", true},
	{"gron", false},
	{"jj", false},
	{"rename", true},
	{"remove", true},
	{"executable", true},
	{"empty", true},
	{"extract", true},
	{"opspath", true},
}

available in taskfiles note some of them are implemented in main.go (config, retry) Note the comment with @DOC which is used to generate the list of tools in documentation put one here if you add a markdown file for a tool

View Source
var Tools = []string{
	"awk", "die", "jq", "js",
	"envsubst", "wsk", "mkdir",
	"filetype", "random", "datefmt",
	"config", "retry", "urlenc",
	"replace", "base64", "validate",
	"echoif", "echoifempty", "echoifexists",
	"realpath", "zipf", "needupdate",
	"gron", "jj", "deploy",
}

Functions

func DateFmtTool

func DateFmtTool(args []string) error

func Empty

func Empty() (int, error)

func Executable

func Executable() (int, error)

func ExpBackoffRetry

func ExpBackoffRetry(args []string) error

func Extract

func Extract() (int, error)

func ExtractFileFromCompressedTar

func ExtractFileFromCompressedTar(filename string, target string) error

func ExtractFileFromZip

func ExtractFileFromZip(filename string, target string) error

func ExtractUsage

func ExtractUsage(input string) string

func Filetype

func Filetype() error

func GetARCH

func GetARCH() string

func GetMarkDown

func GetMarkDown(toolName string) (string, error)

func GetOS

func GetOS() string

shared with main

func Help

func Help(mainTools []string)

func IsTool

func IsTool(name string) bool

func MarkdownHelp

func MarkdownHelp(toolName string) string

func MarkdownToText

func MarkdownToText(input string) string

func MergeToolsList

func MergeToolsList(mainTools []string) []string
Example
mergedList := MergeToolsList([]string{})
fmt.Println(len(mergedList))
Output:

25

func OpsPath

func OpsPath() (int, error)

func RandTool

func RandTool(args ...string) error

func Remove

func Remove() (int, error)

func Rename

func Rename() (int, error)

func RunTool

func RunTool(name string, args []string) (int, error)

func Sh

func Sh() (int, error)

func URLEncTool

func URLEncTool() error
Example
os.Args = []string{"urlenc", "p@ss", "w&rd"}
fmt.Println(URLEncTool())
os.Args = []string{"urlenc", "-s=:", "p@ss", "w&rd"}
fmt.Println(URLEncTool())
os.Setenv("PASS", "p@ass")
os.Args = []string{"urlenc", "-e", "PASS", "WORD"}
fmt.Println(URLEncTool())
Output:

p%40ss&w%26rd
<nil>
p%40ss:w%26rd
<nil>
p%40ass&
<nil>

func Wsk

func Wsk(command []string, args ...string) error

Wsk invokes wsk subcommand

Types

type Tool

type Tool struct {
	Name   string
	HasDoc bool
}

Jump to

Keyboard shortcuts

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