Skip to content

Conversation

@alexandre-daubois
Copy link
Member

No description provided.

@henderkes
Copy link
Contributor

Huh neat, I had no idea this was a thing.

Copy link
Contributor

@henderkes henderkes left a comment

Choose a reason for hiding this comment

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

should we add this to the rpm/deb packages?

@henderkes
Copy link
Contributor

henderkes commented Nov 23, 2025

Hmm, bash autocompletion isn't working for me. Neither on RHEL 10 nor on Trixie. I checked with caddy completion bash and that works.

Copy link
Contributor

@henderkes henderkes left a comment

Choose a reason for hiding this comment

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

Completion is broken because it installs it for caddy, not for frankenphp.

We could fix it with source <(frankenphp completion bash | sed 's/caddy/frankenphp/g') if there's no better way to replace it in code.

@henderkes
Copy link
Contributor

alexandre-daubois#4

@alexandre-daubois
Copy link
Member Author

alexandre-daubois commented Nov 23, 2025

That's strange, I'm not sure how I made it work then 🤔 This is curious, I need to investigate this.

sed would indeed do the job, but I don't know how much I find it too hacky to put it in the docs then

And thanks for the PR on my fork, I'll have a deeper look tomorrow!

@henderkes
Copy link
Contributor

Perhaps there's something like the CustomVersion parameter that we need to set to update the binary name? @mholt would likely know, I've googled without much luck.

@mholt
Copy link
Contributor

mholt commented Nov 24, 2025

@henderkes Letsee... I didn't implement that, I think we're using Cobra for completion generation. I dunno if that gives you enough of a hint, I'll keep looking for a few minutes before I have to move onto something else. But I think @mohammed90 might have an idea.

@mholt
Copy link
Contributor

mholt commented Nov 24, 2025

Oh, did you run the completion command with caddy? If so, try running as frankenphp... I have no idea if that would make a difference, but...

@henderkes
Copy link
Contributor

Oh, did you run the completion command with caddy? If so, try running as frankenphp... I have no idea if that would make a difference, but...

It's running with frankenphp completion bash, but spits out caddy regardless.

@mholt
Copy link
Contributor

mholt commented Nov 24, 2025

@henderkes I might have found it:

https://github.com/caddyserver/caddy/blob/67a9e0657e60df8c78510065e8977d86ee17d01c/cmd/cobra.go#L13

If you change that line, does it have the expected results for you?

@henderkes
Copy link
Contributor

I'll figure out how to make xcaddy build with a local caddy source tree and report back... hopefully tomorrow. If not, it will have to wait until next week after SymfonyCon. Thank you for your input!

@mholt
Copy link
Contributor

mholt commented Nov 24, 2025

xcaddy build --with github.com/caddyserver/caddy/v2=../caddy or something like that, should do the trick.

I am a bit busy atm or I'd just check for you.

If changing that variable does work (again, I don't know the internals of Cobra, so it's a guess, but probably a good one), we can find a way to export that or somehow accommodate your build process.

@mohammed90
Copy link

Matt is right, Cobra takes the name of the root command, which in our case is Caddy.

https://github.com/spf13/cobra/blob/fc81d2003469e2a5c440306d04a6d82a54065979/completions.go#L824

I'm not sure how we could modularize it, from the top of my head.

@mholt
Copy link
Contributor

mholt commented Nov 25, 2025

We could probably export it to a package-level variable, that can be changed at init-time... or some sort of const that gets changed during a build step, I dunno.

@henderkes
Copy link
Contributor

Perhaps similar to how we can overwrite the version output?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants