Comments (7)
ideally would be sorted, a-z, by the long-form option name;
from thor.
At first we had an ordered hash implementation to keep the order of the options as they are added, but it was adding a lot of implementation issues. So we just use a Hash, because they will be ordered in 1.9 (and possibly in 1.8.8).
from thor.
this is a biggie when you are writting a cli script - I really need to know what my user help text looks like. No idea what the oerdered hash issues were - ignorance is bliss :)
I'm not sure an ordered hash would scratch the itch... with many options users will appreciate/want a sorted list, so maybe allow the script author to pass a help option: sorted => true ?
from thor.
It should be a class configuration option, something along this line:
class App < Thor
sort_options_alphabetically!
end
If you provide a patch, I will merge it. But, sorry, I won't merge your whole stack because having test code in lib/thor.rb looks like a smell to me.
from thor.
I had in mind :ordered_help => true/false in the options hash of:
desc()
method_option()
Not sure what other methods it could be passed to....
Default is true and Capitalized option names are given priority.
Behavior would be the ordered_help would appear above the unordered help, and would respect groupings.
But as you've noticed I'm new to Thor so this might not be feasible given the time.
from thor.
The default should be the order you declare. You can always declare alphabetically. Github does not allow to reopen issues, so please do when you have a patch.
from thor.
Good point, the name is ambiguous. sorted_help is the accurate option name.
from thor.
Related Issues (20)
- How about supporting `Thor::CoreExt::HashWithIndifferentAccess#slice` method? HOT 3
- Better support for overriding options programmatically
- method_option does not correctly parsed HOT 3
- Calling `invoke` directly in RSpec breaks with required class_options, even when they are provided.
- Are there any plans to drop support for older versions of Ruby? HOT 2
- 'parse raises an error for unknown switches' test failure HOT 2
- Please Sign This Gem To Allow Verified Installations HOT 4
- Consider new release for Ruby 3.2 fixes? HOT 2
- Incorrect help for file_collision method without block HOT 2
- Default value not printed in help if option type boolean and default value is false HOT 2
- String Enums concatenate values when repeatable HOT 7
- Documentation Not Helpful HOT 5
- Wiki page for Actions has broken links to docs HOT 1
- HTTPS Issues HOT 1
- New release to fix "File unchanged!" warning? HOT 1
- directory action does not copy dotfiles HOT 1
- Commands that contain hyphens cannot be executed HOT 3
- Thor 1.3.0 No Longer calling a system exit HOT 1
- Ability to have `gsub_file` error if it didn't gsub anything
- String option is incorrectly passed HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from thor.