GithubHelp home page GithubHelp logo

adamtomi / grapefruit Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 1.0 470 KB

:orange: Grapefruit is an annotation based command framework written in Java.

License: MIT License

Java 100.00%
java command dispatcher grapefruit

grapefruit's Introduction

a

Welcome to Grapefuit town!

Sonatype Nexus (Releases) GitHub license CodeFactor

Hey! 👋

To find out more about Grapefruit, please check out the wiki!

⚙️Requirements

  • Java 16 or higher

Thanks to @DaniFoldi for the awesome logo!

Contribution guide

Use commit names with the following prefixes to indicate their purpose

Emoji Prefix Description
⚡ ⚡ :zap: :zap: for implementing breaking functionality (semver major)
:zap: for implementing non-breaking functionality (semver minor)
🔨 :hammer: for bug fixes and non-breaking improvements (semver patch)
🔧 :wrench: for configurations
🚦 :vertical_traffic_light: for tests
📝 :memo: for documentations
🔍 :mag: for lint fixes
♻️ :recycle: for non-breaking refactoring
📎 :paperclip: for dependencies
:octocat: :octocat: for workflows
🚧 :construction: for experimental or temporary changes

grapefruit's People

Contributors

adamtomi avatar dependabot[bot] avatar

Stargazers

Yashas Shah avatar Dániel Földi avatar András Ádám avatar

Watchers

Dániel Földi avatar András Ádám avatar  avatar

Forkers

aolmez

grapefruit's Issues

Flag shorthand support

The flag --flag value --other could be written as -f value -o or -fo value, where values are consumed in the order the flags appear (if needed).

Multi flag support

Something like command --flag first --flag second --flag third would be parsed into a list or something. Would be neat.

Add @Suggestions to provide custom suggestions for parameter

There could be multiple ways of using this annotation:

void run(@Suggestions(computed = {"a", "b", "c"} String myString))

^^^ To provide a computed list of options, or:

void run(@Suggestions(provider = MyProvider.class) String myString)

^^^ To set a provider for that particular parameter. In the latter case both the provider class or a constant ID could work.

Refactor @Regex

It could have a flags field, which could by used to pass pattern flags like this:

@Regex(value = "[0-9a-zA-Z]", flags = Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE) String value

This would make the modifier much more flexible.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.