MCPcopy Index your code
hub / github.com/dnnrly/abbreviate

github.com/dnnrly/abbreviate @v1.6.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.6.0 ↗ · + Follow
72 symbols 201 edges 18 files 30 documented · 42%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

abbreviate

Shorten your strings using common abbreviations.

ko-fi

codecov godoc report card

GitHub watchers GitHub stars Twitter URL

Supported by Tidelift

Motivation

This tool comes out of a frustration of the name of resources (in my specific case, AWS stack names) being too long. Wouldn't it be nice if we could have a tool that would be able to suggest shorter alternatives if your original name is too long.

Before we get any further, I'm really interested in how you feel about this tool. Please take the time to fill in this short survey: https://forms.gle/6xV1gB8yKGdmuHJ78

Installation

go get github.com/dnnrly/abbreviate
make build

Usage

This tool will attempt to shorten the string provided using common abbreviations
specified by language and 'set'. Word boundaries will be detected using title case
and non-letters.

Hosted on Github - https://github.com/dnnrly/abbreviate

I'm really interested in how you feel about this tool. Please take the time to fill
in this short survey:
https://forms.gle/6xV1gB8yKGdmuHJ78

If you spot a bug, feel free to raise an issue or fix it and make a pull
request. We're really interested to see more abbreviations added or corrected.

Usage:
  abbreviate [action] [flags]
  abbreviate [command]

Available Commands:
  camel       Abbreviate a string and convert it to camel case
  help        Help about any command
  kebab       Abbreviate a string and convert it to kebab case
  original    Abbreviate the string using the original word boundary separators
  pascal      Abbreviate a string and convert it to pascal case
  print       Print abbreviations in this set
  separated   Abbreviate a string and convert it using separator passed
  snake       Abbreviate a string and convert it to snake case

Flags:
  -c, --custom string     Custom abbreviation set
      --from-front        Shorten from the front
  -h, --help              help for abbreviate
  -l, --language string   Language to select (default "en-us")
      --list              List all abbreviate sets by language
  -m, --max int           Maximum length of string, keep on abbreviating while the string is longer than this limit
  -n, --newline           Add newline to the end of the string (default true)
  -s, --set string        Abbreviation set (default "common")
      --no-stopwords      Remove stopwords from abbreviation
      --strategy string   Abbreviation strategy (default "lookup")

Use "abbreviate [command] --help" for more information about a command.

Examples:

$ abbreviate original strategy-limited
stg-ltd

$ abbreviate original prestrategy-limitedment
prstg-ltdmnt

$ abbreviate original --max 11 strategy-limited
strategy-ltd

$ abbreviate original --max 11 --from-front strategy-limited
stg-limited

$ abbreviate camel --max 99 strategy-limited
strategyLimited

$ abbreviate kebab StrategyLimited
stg-ltd

$ abbreviate separated StrategyLimited --separator +
stg+ltd

$ abbreviate separated StrategyLimited
stgltd

Code of Conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code.

Contributing

Pull requests are welcome. See the contributing guide for more details.

Please make sure to update tests as appropriate.

github.com/dnnrly/abbreviate for enterprise

Available as part of the Tidelift Subscription

The maintainers of github.com/dnnrly/abbreviate and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.

License

Apache 2

Extension points exported contracts — how you extend this code

Abbreviator (Interface)
Abbreviator allows you to use different implementations for abbreviating words [2 implementers]
domain/abbreviate.go
Shortener (FuncType)
Shortener represents an algorithm that can be used to shorten a string by substituting words for abbreviations
domain/shorteners.go

Core symbols most depended-on inside this repo

Match
called by 15
domain/abbreviate.go
AddBack
called by 13
domain/shorteners.go
first
called by 9
domain/shorteners.go
String
called by 7
domain/shorteners.go
isTitleCase
called by 7
domain/shorteners.go
NewMatcherFromString
called by 6
domain/abbreviate.go
NewSequences
called by 4
domain/shorteners.go
RemoveStopwords
called by 4
domain/shorteners.go

Shape

Function 44
Method 19
TypeAlias 4
Struct 3
FuncType 1
Interface 1

Languages

Go100%

Modules by API surface

domain/shorteners.go20 symbols
test/features_test.go10 symbols
domain/shorteners_test.go10 symbols
domain/abbreviate.go10 symbols
domain/abbreviate_test.go8 symbols
cmd/root.go4 symbols
data/data.go2 symbols
main.go1 symbols
cmd/snake.go1 symbols
cmd/separated.go1 symbols
cmd/print.go1 symbols
cmd/pascal.go1 symbols

For agents

$ claude mcp add abbreviate \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page