Skip to content

abgox/PSCompletions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨PSCompletions(psc) ✨

English | 简体中文 | Github | Gitee

license code size repo size created


Introduce

  • PowerShell: A Cross-platform PowerShell. Start it in command line by running pwsh.

  • Windows PowerShell: A PowerShell which is built-in on Windows systems. Start it in command line by running powershell.


  • A completion manager in PowerShell for better and simpler use completions.

    It can also be used in Windows PowerShell.(Not Recommend)

  • Manage completions together.
  • Switch between languages(zh-CN,en-US...) freely.
  • Sort completion tab dynamically by frequency of use.

If this project is helpful to you, please consider giving it a star ⭐.

How to install

  1. Start PowerShell
  2. Install-Module PSCompletions -Scope CurrentUser
  3. Import-Module PSCompletions
    • echo "Import-Module PSCompletions" >> $PROFILE
    • So you don't have to import the module every time you open PowerShell.

How to uninstall

  1. Start PowerShell
  2. Uninstall-Module PSCompletions

How to use(e.g. git)

  • If it doesn't include the completion you want, you can submit an issue and I will consider adding it.
  1. psc add git
  2. Then you can type git and press Space Tab to get command completion.
  3. For more commands on psc, you can learn by typing psc and then pressing Space Tab.

Demo

demo

Tips

About completion update

  • When the module is imported after opening PowerShell, PSCompletions will start a background job to check for the completion status of the remote repository.

  • After getting the update, PSCompletions will show the latest status of the completions in the next time.

About completion menu

  • The module's completion menu provided by the module is based on PS-GuiCompletion realization idea, thanks!

  • It can only be used in PowerShell(pwsh) under Windows.

  • Some keys in the completion menu provided by the module.

    1. Apply the selected completion item: Enter

    2. Exit the completion menu: ESC / Ctrl + c

    3. Select completion item:

      Select previous item Select next item
      Up Down
      Left Right
      Tab Shift + Tab
      Space Shift + Space
      Ctrl + u Ctrl + d
      Ctrl + p Ctrl + n
  • All configurations of it, you can trigger completion by running psc menu, then learn about them by completion tip.

About special symbols

  • 😄🤔😎 : If there are multiple, you can choose the effect of one of them.
    • 😄 : It means that after you choose it, you can press Space and Tab key to continue to get command completions.(Normal or optional completions)
      • It can be customized by running psc menu symbol SpaceTab <symbol>
    • 🤔 : It means that after you choose it (option completion), you can press Space and Tab key to continue to get option completions. (e.g. --verbose)
      • It can be customized by running psc menu symbol OptionTab <symbol>
    • 😎 : It means that after you choose it (option completion), you can enter a string, then press Space and Tab key to continue to get the rest of option completions.
      • If the string has Spaces, Please use "" or '' to wrap it. e.g. 'test content'
      • If there is also 😄, it means that there are some strings to complete, you can press Space and Tab key to continue to get command completions without entering a string.
      • It can be customized by running psc menu symbol WriteSpaceTab <symbol>
    • Completion of generic options can also be triggered if there is one or more generic option completion.
    • All complements can be triggered by pressing the Tab key after entering a part.
    • If you don't need or want to see these symbols, you can hide them by replacing them with the empty string.
      • e.g. psc menu symbol SpaceTab ""

About language

  • Global language: Default to the language of current system.
    • You can show it by running psc config language
    • You can change it by running psc config language zh-CN
  • Completion language: The language set for the specified completion.
    • e.g. psc completion git language en-US
  • Available language: In the completion config.json file, there is a language attribute whose value is a list of available languages.

Determine language

  1. Get the specified language:
    • If there is Completion language,use it.
    • If not, use Global language.
  2. Determine the final language:
    • Determine whether the value of the first step exists in Available language.
    • If it exists, use it.
    • If not, use the first of the Available language. (It's usually en-US)

About path completion

  • Please type ./ or .\ and press Tab to get path completion for the subdirectory or file.
  • Please type / or \ and press Tab to get path completion for the sibling directory.

Available Completions List

Completions Source
psc psc - PSCompletions Module
bun Bun - JavaScript all-in-one toolkit
cargo cargo - Rust package manager
chfs chfs(CuteHttpFileServer)
choco choco(chocolatey) - Software Manager
conda conda - binary package and environment manager
deno deno - A secure runtime for JS and TS
docker docker - Container Application Development
git Git - Version control system
kubectl Kubernetes(k8s) command-line tool
npm npm - package manager
nrm nrm - npm registry manager
nvm nvm - Node Version Manager
pip pip - Python Package Manager
pnpm pnpm - Package Manager
python python - command-line
scoop Scoop - Software Manager
volta volta - Accessible JavaScript Tool Manager
winget WinGet - Windows package manager
wsl WSL - Windows Subsystem for Linux
wt windows terminal command line
yarn yarn - package manager
... ...

About

A completion manager for better and simpler use PowerShell completions. (一个补全管理模块,更简单、更方便的使用命令补全)

Topics

Resources

License

Stars

Watchers

Forks