Recent Releases of https://github.com/davetron5000/gli
https://github.com/davetron5000/gli -
- Fixes gemspec URL (see #338)
- Ruby
Published by davetron5000 about 1 year ago
https://github.com/davetron5000/gli - 2.22.1
- Added ostruct as dependency. See #337 (thanks @aither64)
- Ruby
Published by davetron5000 about 1 year ago
https://github.com/davetron5000/gli -
- Improve error messaging when strict arguments are configured and too few or too many arguments are provided (see #335 and #334 thanks @rsanheim!)
- Ruby
Published by davetron5000 over 1 year ago
https://github.com/davetron5000/gli -
Fix link to API doc to use https. See #329 (thanks @noraj )
- Ruby
Published by davetron5000 over 1 year ago
https://github.com/davetron5000/gli -
Added metadata to gemspec. See #308 and #328 (thanks @noraj )
- Ruby
Published by davetron5000 over 1 year ago
https://github.com/davetron5000/gli -
- Fixed #244 where a flag that is both
:requiredand:multipleis allowed to have no value. See #327
- Ruby
Published by davetron5000 over 1 year ago
https://github.com/davetron5000/gli -
- Fixed issue with Scaffolding
- Upgraded dev environment and build matrix
- Changed to
Minitestinstead of way oldMiniTest
See #325
- Ruby
Published by davetron5000 over 1 year ago
https://github.com/davetron5000/gli -
- Drop official support for 2.x rubies and add 3.1 and 3.2 to the build matrix
- Fix typo in rake task (See #318 / thanks @mattbrictson!)
- Remove use of
File.exists?which was removed from Ruby 3.2 (See #316 / thanks @mattbrictson!)
- Ruby
Published by davetron5000 over 2 years ago
https://github.com/davetron5000/gli -
command_missingsee #315 courtesy @camertron
- Ruby
Published by davetron5000 about 4 years ago
https://github.com/davetron5000/gli -
- Gemfile references
github.io. See #311
- Ruby
Published by davetron5000 over 4 years ago
https://github.com/davetron5000/gli -
- Reworked tests to remove Cucumber and Aruba
- Unit tests are now minitest
- Scaffold now uses minitest and sets versions, plus does not include Cucumber/Aruba any longer
- CI in CircleCI for matrixed builds, including Ruby 3.0
- Fixes a Ruby 3 issue. See #301
- Other minor updates for local dev. See #303
- Ruby
Published by davetron5000 about 5 years ago
https://github.com/davetron5000/gli -
- Fixes inconsistent error messages related to subcommands. See #299 and thanks @JacobEvelyn
- Ruby
Published by davetron5000 over 5 years ago
https://github.com/davetron5000/gli -
- Slower tests can wait longer to timeout. See #297 and thanks @calestar !
- Ruby
Published by davetron5000 almost 6 years ago
https://github.com/davetron5000/gli -
- Change how multiple arguments are documented in help. Previously, we used commas which implies you must put commas on the command line, which you shouldn't, so…this was not a good way to document them :) Fixed now to mirror what git does, e.g.
git add pathspec...See #290 and thanks @Bluewind !
- Ruby
Published by davetron5000 over 6 years ago
https://github.com/davetron5000/gli -
- Fix bug where gemspec assumes
git inithas been run, but that is not always the case. See #289 and thanks @carlesjove !
- Ruby
Published by davetron5000 over 6 years ago
https://github.com/davetron5000/gli -
- Fixed bug where autocomplete command configuration was not properly passed down to commands when trying to locate them recursively. See #288 and #287 (thanks @atareshawty for the fix!)
- Ruby
Published by davetron5000 over 6 years ago
https://github.com/davetron5000/gli -
- Generated CLIs are now namespaced to avoid issues with dump methods into global scope. See #278 (thanks @dblock!)
- Ruby
Published by davetron5000 over 7 years ago
https://github.com/davetron5000/gli -
- Remove
has_rdocsince that no longer is supported in gemspecs. see #276 (thanks @dblock) - Also, updates dev dependencies, see #277 (also @dblock)
- Ruby
Published by davetron5000 over 7 years ago
https://github.com/davetron5000/gli -
- Fixes issue where using
use_openstruct trueand nested commands causes an error callingto_sym. See #267 and #268
- Ruby
Published by davetron5000 over 8 years ago
https://github.com/davetron5000/gli -
- Better handling of
--version, See #206 and thanks @specious!
- Ruby
Published by davetron5000 over 8 years ago
https://github.com/davetron5000/gli -
- Fix issue with encoding (See #266 and #265) Thanks @mickael-palma-argus !
- Ruby
Published by davetron5000 over 8 years ago
https://github.com/davetron5000/gli -
- Pass example metadata to the document listener (see #263)
This is part of work on a markdown version of the generated documentation, but it's fairly hacky right now, so I'm developing it internally at my company to polish it up.
- Ruby
Published by davetron5000 almost 9 years ago
https://github.com/davetron5000/gli -
- Support for explicit examples that show up in help system, see #261
- Ruby
Published by davetron5000 about 9 years ago
https://github.com/davetron5000/gli -
- Add support for parsing multiple uses of a flag as an array of values (see #243 courtesy @JacobEvelyn)
- Ruby
Published by davetron5000 almost 10 years ago
https://github.com/davetron5000/gli -
- Replace deprecated call to
File.exists?withFile.exist?(see #229 thanks @edusantana!)
- Ruby
Published by davetron5000 over 10 years ago
https://github.com/davetron5000/gli -
- When generating a config file, only use the primary/first name of flags and switches. Previously, your config would have duplicates for every alias of a flag or switch. See #218 (thanks @ZeroPointEnergy!)
- Fixes issue where boolean settings were not read from the config properly. Namely, false values didn't seem to work properly. See #217 (thanks @ZeroPointEnergy!)
- Ruby
Published by davetron5000 over 10 years ago
https://github.com/davetron5000/gli -
- Fix bug where
sttyexists, but returns 0,0 (notably in emacs). See #223. Thanks @wconrad!
- Ruby
Published by davetron5000 over 10 years ago
https://github.com/davetron5000/gli -
- Removed 1.9
Hashsyntax in hopes this can work with 1.8 (see #214, thanks @annafw!)
Note that the CI build fails on 1.8 due to the tests using Faker, which requires i18n, which will not install on 1.8 any longer
- Ruby
Published by davetron5000 almost 11 years ago
https://github.com/davetron5000/gli -
- Add ability to disable "auto-guessing" the command names. e.g. if you have a command named
listbut executemy_app li, GLI will guess that you meantlist. This can be problematic in some contexts and now can be disabled by usingautocomplete false. See #200 (thanks @ChrisArcand)
- Ruby
Published by davetron5000 about 11 years ago
https://github.com/davetron5000/gli -
- Don't use
[-f foo]for flags that are required (See #210 thanks @dividedmind)
- Ruby
Published by davetron5000 about 11 years ago
https://github.com/davetron5000/gli -
- Fix crashing bug in the
_doccommand. - Dropped official support for 1.8.7. This version of Ruby is long-deprecated and while GLI should continue to work, the tools needed to develop GLI exhibit strange behavior that cause tests to fail. Rather than lock to older versions of the tools or waste time figuring out the problem, I've removed 1.8.7 from
.travis.yml. I don't plan to introduce 1.9 or 2.0-only code to GLI, but am not going to spend time making sure it works on 1.8.7
- Ruby
Published by davetron5000 over 11 years ago
https://github.com/davetron5000/gli -
- Since use of
arguments :strictrequires thatsubcommand_option_handling :normalalso be set, GLI will blow up if that's not the case (as opposed to just not working). - Scaffolding now puts
subcommand_option_handling :normalin the new app, as was originally intended, but not ever actually done for some reason o_O. - Improved documentation around
arguments
- Ruby
Published by davetron5000 over 11 years ago
https://github.com/davetron5000/gli -
-
Support for "strict" argument parsing. That is, when you specify:
arg :urlGLI will check if that arg was given on the command line, and generate an error if not. Note that by default, existing apps will not get this feature without adding
arguments :strictto their binfile. Newly-scaffolded apps will have this by default. Thanks @calestar (see #187)
- Ruby
Published by davetron5000 over 11 years ago
https://github.com/davetron5000/gli -
These features and fixes brought to you by the conscientious @calestar! Many thanks!
-
New Feature - document multiple arguments by repeated calls to
arg# previously arg_name "src dest [second_dest]" # currently arg :src arg :dest arg :second_dest, :optionalThis doesn't enforce required v optional, but paves the way for it, and makes it easier to build up the arguments help string (see #184 and #180, and http://davetron5000.github.io/gli/rdoc/classes/GLI/DSL.html#method-i-arg)
-
Better help output when multiple required flags are omitted (see #177 and #182)
-
Getting help with
GLI_DEBUGset no longer exits nonzero (getting help withoutGLI_DEBUGset previously exited zero, so this makes the behavior of getting help more consistent. See #183 and #181. Thanks @calestar!)
- Ruby
Published by davetron5000 over 11 years ago
https://github.com/davetron5000/gli -
- New option,
hide_commands_without_descwhich, if set totrue, will hide commands in the help output that have nodesc(basically exposes what the hidden_doccommand was already doing). Thanks @blackjid! See #170 - Updated
must_matchdocumentation, see #163
- Ruby
Published by davetron5000 almost 12 years ago
https://github.com/davetron5000/gli -
- Synopsis can be shown in a more compact format for complex apps (See #160)
- Full synopsis now shows flags and switches in the correct location on the command line (See #162)
- Flags can now be made required and GLI will error if they are omitted (See #161)
- Generated gemspec now uses
gitby default to get the file list (See #159, thanks to @JesseHerrick!)
Also, some documentation updates:
- Ruby
Published by davetron5000 about 12 years ago
https://github.com/davetron5000/gli -
- Message printed when
initconfiggenerates the config file (See #158, thanks to @calestar!)
- Ruby
Published by davetron5000 about 12 years ago
https://github.com/davetron5000/gli -
- Fixes #154 courtesy @tokengeek and [@jonhl] allowing
--helpto work as one would expect with subcommands.
- Ruby
Published by davetron5000 over 12 years ago
https://github.com/davetron5000/gli -
- Can now re-open commands later on, which can allow
commands_fromextensions. See #152 (which fixes #144 more or less). Thanks @jonhnl for the fix! - When a custom
on_errorblock evaluates to false, andGLI_DEBUGis set, GLI will output a message explaining that custom error handling has been skipped. See #151 - When a user requests help via
--helpon the command line, the exception used to make that work will not cause theon_errorblock to be called. See #150
- Ruby
Published by davetron5000 over 12 years ago
https://github.com/davetron5000/gli -
- When the
preblock returns a falsey value, it now does so via a special-purpose exception and also provides a message that the preconditions failed (see #146) - Previously, doing
app --help commandwould executecommand. Now, it acts the same asapp help command, i.e. gets help for that command (see #149)
- Ruby
Published by davetron5000 over 12 years ago
https://github.com/davetron5000/gli -
Redesign of how subcommands are handled to enable each subcommand to have its own space of arguments and options.
To enable this, you must subcommand_option_handling :normal
subcommand_option_handling :normal
This is inserted into new applications, but isn't the default for backwards compatibility.
Before
Subcommands can't use flags or switches the parent uses:
command :tasks do |c|
c.flag :long
c.command :list do |list|
c.flag :long # <---- runtime error
c.action do |*|
end
end
end
Subcommands can't use a flag/switch with the same name as another subcommand with the same parent:
command :tasks do |c|
c.command :list do |list|
c.flag :long
c.action do |*|
end
end
c.command :new do |new|
c.flag :long # <----- runtime error
c.action do |*|
end
end
end
After
Each subcommand has its own "flagspace":
command :tasks do |c|
c.flag :long
c.command :list do |list|
c.flag :long
c.action do |*|
end
end
c.command :new do |new|
c.flag :long # <----- runtime error
c.action do |*|
end
end
end
You might do this:
> my_app tasks --long given-to-command list --long given-to-list-subcommand
> my_app tasks --long given-to-command new --long given-to-list-subcommand
The reason for an RC is that it required a fair amount of re-working of the code, so I want to be sure nothings subtle was broken.
Old behavior is the default: https://github.com/davetron5000/gli/blob/fully-nested-subcommands/lib/gli/app.rb#L262
- Ruby
Published by davetron5000 over 12 years ago
https://github.com/davetron5000/gli -
--versionnow just shows the version, courtesy [@brianknight10](see [138],[143])- Synopsis is now more honest - doesn't show
[command options]if there aren't any, courtesy [@calestar](see [147]) - A falsey exit from
prewill now cause the app to exit nonzero (or with an exception ifGLI_DEBUGis set), (see 146) - Support for terminal detection on solaris (see 129)
Biggest change is:
Redesign of how subcommands are handled to enable each subcommand to have its own space of arguments and options.
To enable this, you must subcommand_option_handling :normal
subcommand_option_handling :normal
This is inserted into new applications, but isn't the default for backwards compatibility.
Before
Subcommands can't use flags or switches the parent uses:
command :tasks do |c|
c.flag :long
c.command :list do |list|
c.flag :long # <---- runtime error
c.action do |*|
end
end
end
Subcommands can't use a flag/switch with the same name as another subcommand with the same parent:
command :tasks do |c|
c.command :list do |list|
c.flag :long
c.action do |*|
end
end
c.command :new do |new|
c.flag :long # <----- runtime error
c.action do |*|
end
end
end
After
Each subcommand has its own "flagspace":
command :tasks do |c|
c.flag :long
c.command :list do |list|
c.flag :long
c.action do |*|
end
end
c.command :new do |new|
c.flag :long # <----- runtime error
c.action do |*|
end
end
end
You might do this:
> my_app tasks --long given-to-command list --long given-to-list-subcommand
> my_app tasks --long given-to-command new --long given-to-list-subcommand
The reason for an RC is that it required a fair amount of re-working of the code, so I want to be sure nothings subtle was broken.
Old behavior is the default: https://github.com/davetron5000/gli/blob/fully-nested-subcommands/lib/gli/app.rb#L262
- Ruby
Published by davetron5000 over 12 years ago
https://github.com/davetron5000/gli -
- Default values now being copied to aliases in options hashes (see #148)
- Ruby
Published by davetron5000 over 12 years ago