Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Autocompletion #22

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

NoFr1ends
Copy link

Fix #9

Implement basic functionallity for generating bash/zsh autocompletion script.

Note: The implementation of Delegate:toAutoCompletion is maybe not the best way to do this. But I needed a way to access the optionNames.

@codecov-io
Copy link

codecov-io commented Aug 8, 2017

Codecov Report

Merging #22 into master will increase coverage by 1.02%.
The diff coverage is 93.93%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master      #22      +/-   ##
============================================
+ Coverage     81.79%   82.82%   +1.02%     
- Complexity      137      143       +6     
============================================
  Files            11       12       +1     
  Lines           357      390      +33     
  Branches         72       73       +1     
============================================
+ Hits            292      323      +31     
- Misses           30       32       +2     
  Partials         35       35
Impacted Files Coverage Δ Complexity Δ
...in/com/xenomachina/argparser/PositionalDelegate.kt 61.53% <0%> (-5.13%) 9 <0> (ø)
...tlin/com/xenomachina/argparser/WrappingDelegate.kt 84.61% <0%> (-7.06%) 10 <0> (ø)
...c/main/kotlin/com/xenomachina/argparser/Default.kt 82.35% <100%> (+1.1%) 0 <0> (ø) ⬇️
...main/kotlin/com/xenomachina/argparser/ArgParser.kt 84.7% <100%> (+0.46%) 53 <0> (+1) ⬆️
...kotlin/com/xenomachina/argparser/OptionDelegate.kt 85.71% <100%> (+0.52%) 18 <1> (+1) ⬆️
...ain/kotlin/com/xenomachina/argparser/Exceptions.kt 94.73% <100%> (+0.98%) 0 <0> (ø) ⬇️
...com/xenomachina/argparser/DefaultAutoCompletion.kt 100% <100%> (ø) 4 <4> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e0186a6...ee8c492. Read the comment docs.

Copy link
Owner

@xenomachina xenomachina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry it took so long for me to review this. I was swamped with other stuff.

Overall, this looks great! Thank you for this contribution. I only have a few minor suggestions.

class ShowAutoCompletionException internal constructor(
private val autoCompletion: AutoCompletion,
private val delegates: List<ArgParser.Delegate<*>>
) : SystemExitException("Help was requested", 0) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Help/Autocompletion/

@@ -0,0 +1,49 @@
// Copyright © 2016 Laurence Gonsalves
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be 2017 and your name.

class DefaultAutoCompletion : AutoCompletion {
override fun format(progName: String?, delegates: List<ArgParser.Delegate<*>>): String {
val sb = StringBuilder()
sb.append("_$progName()\n")
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps triple-quoted strings would make this a bit easier to read?

@xenomachina xenomachina self-assigned this Oct 31, 2017
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants