Skip to content

bd, jhipster completions#4472

Closed
Mazorius wants to merge 17 commits into
fish-shell:Integration_2.7.0from
Mazorius:feature/add-completions-to-2.7.0
Closed

bd, jhipster completions#4472
Mazorius wants to merge 17 commits into
fish-shell:Integration_2.7.0from
Mazorius:feature/add-completions-to-2.7.0

Conversation

@Mazorius
Copy link
Copy Markdown
Contributor

@Mazorius Mazorius commented Oct 12, 2017

Description

Added completions are:

  • docker
  • docker-compose
  • bd
  • jhipster

Fixes issue: no issue

TODOs:

  • Changes to fish usage are reflected in user documentation/manpages.
Do not know if needed and where to put it.
  • Tests have been added for regressions fixed
No tests needed because of changes only happens inside completion.
If I am wrong please give me an advise
  • User-visible changes noted in CHANGELOG.md

Add bd, docker, docker-compose, jhipster completion
Add completion for docker
Add completion for docker-compose
Add completion for jhipster
@floam floam changed the title Add completions to 2.7.0 docker, docker-compose, bd, jhipster completions Oct 12, 2017
@floam floam added this to the fish 2.7.0 milestone Oct 12, 2017
Comment thread CHANGELOG.md Outdated
- Option completion for `apt list` now works properly (#4350).
- Added completions for:
- `as` (#4130)
- `bd`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You can cite the number of this PR. (I understand you'd be hard-pressed to figure it out before submitting!)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ah thanks I will add the information.

Add PR id to changes.
Comment thread share/completions/bd.fish Outdated
# https://github.com/0rax/fish-bd
#

complete -c bd -s c -d "Classic mode : goes back to the first directory named as the string"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

No space necessary before a colon.

Comment thread share/completions/docker-compose.fish Outdated

switch $file_version
case '1'
cat $path | command grep '^[a-zA-Z]' | command sed 's/://'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Try to use string match and string replace here.

Comment thread share/completions/docker-compose.fish Outdated
# 2 spaces. Make it work with any indentation.
cat $path | command sed -n '/^services:/,/^\w/p' \
| command grep "^ [$chars]*:" \
| command sed "s/[^$chars]//g"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Try to use string match and string replace here.

Remove space in-front of colon.
Comment thread share/completions/bd.fish Outdated
complete -c bd -A -f

function __fish_bd_complete_dirs
printf (pwd | sed 's|/|\\\n|g')
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Try to use string replace here, and $PWD instead of the pwd command.

Comment thread share/completions/docker-compose.fish Outdated
'Get the version of a docker-compose.yml file.'
cat (__fish_docker_compose_file_path) \
| command grep '^version:\(\s*\)["\']\?[0-9]["\']\?' \
| command grep -o '[0-9]'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Try to use string match here.

@floam
Copy link
Copy Markdown
Member

floam commented Oct 12, 2017

Thanks! I found a few things that might be addressed. @faho may be able to give further advice or a thumbs up.

@floam
Copy link
Copy Markdown
Member

floam commented Oct 12, 2017

Why are there two PRs for this?

@Mazorius
Copy link
Copy Markdown
Contributor Author

@floam I added changes for 2.7.0 and 3.0.0
What is the better way?

I will fix your mentioned issues.

@floam
Copy link
Copy Markdown
Member

floam commented Oct 12, 2017

We only need one PR. We'll merge it where necessary.

@floam floam mentioned this pull request Oct 12, 2017
3 tasks
Fix mentioned issues
- replace --description with -d
- replace grep with string match
- replace sed with string replace (expect sed -n)
Comment thread share/completions/docker-compose.fish Outdated

function __fish_docker_compose_file_path -d \
'Get the next docker-compose.yml file in the folder parent path.'
set -l path (pwd)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

$PWD can be used here too.

@Mazorius
Copy link
Copy Markdown
Contributor Author

@floam all requested changes are done.

Replace pwd command via echo $PWD
Comment thread share/completions/bd.fish Outdated
complete -c bd -A -f

function __fish_bd_complete_dirs
printf (echo "$PWD" | string replace -a "/" "\n")
Copy link
Copy Markdown
Member

@floam floam Oct 12, 2017

Choose a reason for hiding this comment

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

Can just be: printf $PWD | string replace -a "/" "\n"

Remove parenthesis
Comment thread share/completions/bd.fish Outdated

function __fish_bd_complete_dirs
printf (echo "$PWD" | string replace -a "/" "\n")
printf echo "$PWD" | string replace -a "/" "\n"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is going to print the word echo.

remove parenthesis and echo command
fix issue inside printf
@Mazorius
Copy link
Copy Markdown
Contributor Author

I think it should work now.
What do you think @floam

Copy link
Copy Markdown
Member

@faho faho left a comment

Choose a reason for hiding this comment

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

  • Some wording suggestions for jhipster

  • A nit for bd

  • Please remove docker and docker-compose as they are shipped upstream by docker.

Comment thread share/completions/bd.fish Outdated
complete -c bd -A -f

function __fish_bd_complete_dirs
printf $PWD | string replace -ar "/" "\n"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This reads better as string split "/" -- $PWD

Comment thread share/completions/jhipster.fish Outdated
function __fish_prog_needs_command
set cmd (commandline -opc)
echo $cmd
if [ (count $cmd) -eq 1 -a $cmd[1] = 'jhipster' ]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please remove the $cmd[1] = 'jhipster' part - that breaks if you use an alias or any other way of "wrapping" this. It's also completely unnecessary, since fish has already determined that jhipster should be completed.

Comment thread share/completions/jhipster.fish Outdated
complete -f -c jhipster -n '__fish_prog_needs_command' -s V -d 'Output version number'

# Commands
complete -f -c jhipster -n '__fish_prog_needs_command' -a app -d 'Create a new JHipster application based on the selected options.'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Just Create a new app? (Note: I know exactly nothing about jhipster)

That it's a JHipster thing is implicit since you're executing jhipster, and that it's based on the selected options oes without saying.

Also, please no trailing ".".

Comment thread share/completions/jhipster.fish Outdated

# Commands
complete -f -c jhipster -n '__fish_prog_needs_command' -a app -d 'Create a new JHipster application based on the selected options.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a aws -d 'Deploy the current application to Amazon Web Services.'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'd imagine "AWS" is well-known enough that we can use the acronym.

Comment thread share/completions/jhipster.fish Outdated
# Commands
complete -f -c jhipster -n '__fish_prog_needs_command' -a app -d 'Create a new JHipster application based on the selected options.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a aws -d 'Deploy the current application to Amazon Web Services.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a ci-cd -d 'Create pipeline scripts for popular Continuous Integration/Continuous Deployment tools.'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

No need to say "continuous" twice - Create pipeline scripts for Continuous Integration/Deployment tools?

Copy link
Copy Markdown
Member

@floam floam Oct 13, 2017

Choose a reason for hiding this comment

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

Maybe try to shorten further - "continuous integration/deployment tools" - or just "CI tools"?

Comment thread share/completions/jhipster.fish Outdated
complete -f -c jhipster -n '__fish_prog_needs_command' -a app -d 'Create a new JHipster application based on the selected options.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a aws -d 'Deploy the current application to Amazon Web Services.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a ci-cd -d 'Create pipeline scripts for popular Continuous Integration/Continuous Deployment tools.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a client -d 'Create a new JHipster client-side application based on the selected options..'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

See the "app" comment above.

Comment thread share/completions/jhipster.fish Outdated
complete -f -c jhipster -n '__fish_prog_needs_command' -a aws -d 'Deploy the current application to Amazon Web Services.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a ci-cd -d 'Create pipeline scripts for popular Continuous Integration/Continuous Deployment tools.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a client -d 'Create a new JHipster client-side application based on the selected options..'
complete -f -c jhipster -n '__fish_prog_needs_command' -a cloudfoundry -d 'Generate a `deploy/cloudfoundry` folder with a specific manifest.yml to deploy to Cloud Foundry.'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is it necessary to mention manifest.yml here?

I.e. would it be obvious to anyone who knows this tool that this reads manifest.yml?

Comment thread share/completions/jhipster.fish Outdated
complete -f -c jhipster -n '__fish_prog_needs_command' -a rancher-compose -d 'Deploy the current application to Rancher.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a server -d 'Create a new JHipster server-side application.'
complete -f -c jhipster -n '__fish_prog_needs_command' -r -a service -d 'Create a new Spring service bean.'
complete -f -c jhipster -n '__fish_prog_needs_command' -a upgrade -d 'Upgrade the JHipster version, and upgrade the generated application.'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Upgrade jhipster and the generated app?

@faho
Copy link
Copy Markdown
Member

faho commented Oct 13, 2017

Completions for both docker and docker-compose are upstream, so we should not ship them.

If you have made any improvements to these, please add them there instead of here.

@floam floam changed the title docker, docker-compose, bd, jhipster completions bd, jhipster completions Oct 13, 2017
@Mazorius
Copy link
Copy Markdown
Contributor Author

@faho both completions are upstream but not automatically installed on mac and not managed on docker doc.

But I can delete them.

Ron Gebauer added 3 commits October 13, 2017 21:13
docker.fish and docker-compose.fish were removed.
- Add long version for options in jhipster.fish
- Improve bd.fish as mentioned
- format jhipster.fish
- Improve jihpster.fish as mentioned
@Mazorius
Copy link
Copy Markdown
Contributor Author

@faho @floam all mentioned stuff is fixed :-)

Comment thread share/completions/jhipster.fish Outdated
function __fish_prog_needs_command
set cmd (commandline -opc)
echo $cmd
if [ (count $cmd) -eq 1 -a ]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

-a is for combining with another expression. Since you removed the other part it is doing nothing. It should go.

@Mazorius
Copy link
Copy Markdown
Contributor Author

@floam fixed mentioned issue

@Mazorius
Copy link
Copy Markdown
Contributor Author

@faho @floam is everything alright now?

@faho
Copy link
Copy Markdown
Member

faho commented Nov 13, 2017

I'm okay with merging this now, but if we want to have it nice and clean, it's going to need a more complicated merge, and it's gonna be a while before I have enough time to do that.

If anyone beats me to it, have at it!

@ridiculousfish
Copy link
Copy Markdown
Member

Any reason to not just do a squash merge?

@faho
Copy link
Copy Markdown
Member

faho commented Nov 19, 2017

Any reason to not just do a squash merge?

@ridiculousfish: It's two different completions. I mean it's pretty unlikely that we'd want to revert one of them, but it's a bit unclean.

@faho faho modified the milestones: fish 2.7.0, fish-3.0 Nov 23, 2017
@ridiculousfish
Copy link
Copy Markdown
Member

I squashed this manually as ce4fdba and a4fced2 . Thanks!

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Apr 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants