
Security News
AI Agent Lands PRs in Major OSS Projects, Targets Maintainers via Cold Outreach
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.
usa001.o2oyc.com/Delta456/box-cli-maker
Advanced tools
Box CLI Maker is a Highly Customized Terminal Box Creator.
go get github.com/Delta456/box-cli-maker
In main.go
package main
import "github.com/Delta456/box-cli-maker"
func main() {
Box := box.New(box.Config{Px: 2, Py: 5, Type: "Single", Color: "Cyan"})
Box.Print("Box CLI Maker", "Highly Customized Terminal Box Maker")
}
box.New(config Config) accepts a Config struct with following parameters and returns a Box struct.
Px : Horizontal PaddingPy : Vertical PaddingContentAlign : Align the content inside the Box i.e. Center, Left and RightType: Type of Box click this for more infoTitlePos : Position of the Title i.e. Inside, Top and Bottom click this for more infoColor : Color of the Box click this for more infoBox struct MethodsBox.Print(title, lines string) prints Box from the specified arguments.
title : Title of the Boxlines : Content to be written inside the BoxBox.Println(title, lines string) prints Box in a newline from the specified arguments.
title : Title of the Boxlines : Content to be written inside the BoxBox.String(title, lines string) string return string representation of Box.
title : Title of the Boxlines : Content to be written inside the BoxSingle
Single Double
Double
Double Single
Bold
Round
Hidden
Classic
Inside
Top
Bottom
You can make your custom Box by using the inbuilt Box struct provided by the module.
type Box struct {
TopRight string // TopRight corner used for Symbols
TopLeft string // TopLeft corner used for Symbols
Vertical string // Symbols used for Vertical Bars
BottomRight string // BottomRight corner used for Symbols
BottomLeft string // BotromLeft corner used for Symbols
Horizontal string // Symbols used for Horizontal Bars
Con Config // Configuration for the Box to be made
}
Using it:
package main
import "github.com/Delta456/box-cli-maker"
func main() {
config := box.Config{Px: 2, Py: 3, Type: "", TitlePos: "Inside"}
boxNew := box.Box{TopRight: "*", TopLeft: "*", BottomRight: "*", BottomLeft: "*", Horizontal: "-", Vertical: "|", Config: config}
boxNew.Print("Box CLI Maker", "Make Highly Customized Terminal Boxes")
}
Output:
It has color support from fatih/color module from which this module uses FgColor and FgHiColor. Color is a key for the following maps:
var fgColors = map[string]color.Attribute{
"Black": color.FgBlack,
"Blue": color.FgBlue,
"Red": color.FgRed,
"Green": color.FgGreen,
"Yellow": color.FgYellow,
"Cyan": color.FgCyan,
"Magenta": color.FgMagenta,
}
var fgHiColors = map[string]color.Attribute{
"HiBlack": color.FgHiBlack,
"HiBlue": color.FgHiBlue,
"HiRed": color.FgHiRed,
"HiGreen": color.FgHiGreen,
"HiYellow": color.FgHiYellow,
"HiCyan": color.FgHiCyan,
"HiMagenta": color.FgHiMagenta,
}
If you want High Intensity Colors then the Color name should start with Hi. If Color option is empty or invalid then Box with default Color is formed.
As different terminals have different font by default so the right vertical alignment may not be aligned well. You will have to change your font accordingly to make it work.
It uses mattn/go-runewidth for Unicode and Emoji support though there are some limitations:
Windows Terminal and Windows System Linux are the only know terminals which can render Unicode and Emojis properly on Windows.Go Playground and Repl.it because they use a font that only has ASCII support and other Character Set is used which becomes problematic for finding the length as the font changes during runtime.I thank the following people and their packages whom I have studied and was able to port to Go accordingly.
Special thanks to @elimsteve who helped me to optimize and tell me the best ways possible to fix my problems.
Kudos to moul/golang-repo-template for their Go template.
Licensed under MIT
FAQs
Unknown package
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.

Research
/Security News
Chrome extension CL Suite by @CLMasters neutralizes 2FA for Facebook and Meta Business accounts while exfiltrating Business Manager contact and analytics data.

Security News
After Matplotlib rejected an AI-written PR, the agent fired back with a blog post, igniting debate over AI contributions and maintainer burden.