cli icon indicating copy to clipboard operation
cli copied to clipboard

fix: add zsh autocomplete setup and file permissions instructions to completion:install

Open benhancock opened this issue 1 year ago β€’ 1 comments

πŸŽ‰ Thanks for submitting a pull request! πŸŽ‰

Summary

Fixes Completions don't work

There are at least two issues that might cause completions to fail after running completion:install:

  1. On Linux/MacOS, the completion script may not have the necessary executable permissions.
  • Fix: Run chmod +x with the file path to the completion script
  1. Netlify uses Tabtab for completions, and with zsh, Tabtab (and other) completions do not work until compinit has been run.
  • Fix: Add the line autoload -U compinit; compinit to the user’s ~/.zshrc file above the Tabtab config line to load and then run compinit

This PR addresses both of these issues by:

  1. automatically outputting the chmod +x command with the appropriate file path for the user to copy and run if needed after the installation is complete;
  2. prompting the user to have the autoload -U compinit; compinit line added to the top of their .zshrc file automatically if not already present.

Here's what the netlify completion:install output looks like before:

Screenshot 2024-10-17 at 11 44 44β€―AM

Here's what the netlify completion:install output looks like after our changes:

Screenshot 2024-10-17 at 11 45 41β€―AM

This PR also creates a new test file for completion:install with tests for the compinit -> ~/.zshrc functionality.


For us to review and ship your PR efficiently, please perform the following steps:

  • [ ] Open a bug/issue before writing your code πŸ§‘β€πŸ’». This ensures we can discuss the changes and get feedback from everyone that should be involved. If you`re fixing a typo or something that`s on fire πŸ”₯ (e.g. incident related), you can skip this step.
  • [ ] Read the contribution guidelines πŸ“–. This ensures your code follows our style guide and passes our tests.
  • [ ] Update or add tests (if any source code was changed or added) πŸ§ͺ
  • [ ] Update or add documentation (if features were changed or added) πŸ“
  • [ ] Make sure the status checks below are successful βœ…

A picture of a cute animal (not mandatory, but encouraged)

benhancock avatar Oct 17 '24 15:10 benhancock

We decided not to modify file permissions on the user's behalf and instead output the chmod command for the user to run manually. This ensures that the user maintains ownership of their security and configuration settings.

dylanspyer avatar Oct 17 '24 16:10 dylanspyer