Comments (4)
This is problematic to fix in a backwards-compatible way.
One idea I had was to parse the input as Markdown (kramdown to be precise) and convert the internal kramdown to something that is fit for terminal output.
from cri.
While markdown support would be great, maybe it's an option to add a metacharacter that gets translated into a newline?
from cri.
I just discovered tty-markdown, which might be a very good for this use case.
from cri.
I think just a simple {n}
would be nice that StringFormatter
would look for.
To make it backwards compatible, just add an option in Command that is set to false
by default.
This command has 3 features:{n}
- awesome feature 1{n}
- awesome feature 2{n}
- awesome feature 3{n}
We also have a lot of options.
super_cmd = @app_cmd = Cri::Command.define(newline_metachar: true) do
# ...
end
super_cmd.define_command(newline_metachar: true) do
# ...
end
This is easier (just parse for {n}
; don't have to include the tty-markdown
gem) and backwards-compatible (newline_metachar
or w/e name is set to false
by default).
from cri.
Related Issues (20)
- Feature: Arbitrary arguments HOT 3
- Is the argument: option required when using multiple: true HOT 3
- uninitialized constant Cri::Error HOT 2
- Options propagation on subcommand tree HOT 4
- iterating over arguments fails since 2.12 HOT 2
- colored breaks awesome_print HOT 3
- Release 2.15.4 breaks semver HOT 10
- Commands without `summary` does not even show command name HOT 2
- Forbidden optional parameters set to ` nil` when not present in command line HOT 15
- Version 2.15.7 causes runtime error HOT 1
- Options from one command appear in other commands
- Consider making it clearer that --verbose is an option for the help subcommand itself HOT 4
- 2.15.8 breaks nanoc HOT 6
- Handler for command line parameters and option errors
- Platform colour detection uses outdated technique on Windows HOT 3
- Warning with ruby 2.7 HOT 3
- [Feature Request]: Change symbols with dashes/hyphens to underscores
- Add negatable long-form options HOT 1
- Enhance #param to allow :optional and a description
- make a new release? HOT 2
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 cri.