Merge branch 'master' into fork-master

# Conflicts:
#	.gitignore
This commit is contained in:
Stephan Schielke 2026-03-29 09:10:44 +01:00
commit 48cf5e4389
No known key found for this signature in database
7 changed files with 54 additions and 51 deletions

View file

@ -2,6 +2,6 @@ certifi==2026.2.25
charset-normalizer==3.4.6
idna==3.11
PyYAML==6.0.3
requests==2.32.5
requests==2.33.0
semver==3.0.4
urllib3==2.6.3

6
.gitignore vendored
View file

@ -4,7 +4,12 @@ custom/
# temp files directories
cache/
log/
# Vim swap/backup files
*.swp
*.swo
# macOS system files
.DS_Store
# editor configs
@ -13,6 +18,7 @@ log/
# zcompile cached files
*.zwc
*.zwc.old
# Stakpak session files
.stakpak/session*

View file

@ -10,27 +10,27 @@ plugins=(... poetry)
## Aliases
| Alias | Command | Description
| Alias | Command | Description |
|:----- |--------------------------------------------------- |:--------------------------------------------------------------------------------------- |
| pad | `poetry add` | Add packages to `pyproject.toml` and install them |
| pbld | `poetry build` | Build the source and wheels archives |
| pch | `poetry check` | Validate the content of the `pyproject.toml` and its consistency with the `poetry.lock` |
| pcmd | `poetry list` | Display all the available Poetry commands |
| pconf | `poetry config --list` | Allow you to edit poetry config settings and repositories |
| pexp | `poetry export --without-hashes > requirements.txt | Export the lock file to `requirements.txt` |
| pexp | `poetry export --without-hashes > requirements.txt` | Export the lock file to `requirements.txt` |
| pin | `poetry init` | Create a `pyproject.toml` interactively |
| pinst | `poetry install` | Read the `pyproject.toml`, resolve the dependencies, and install them |
| plck | `poetry lock` | Lock the dependencies in `pyproject.toml` without installing |
| pnew | `poetry new` | Create a directory structure suitable for most Python projects |
| ppath | `poetry env info --path` | Get the path of the currently activated virtualenv` |
| ppath | `poetry env info --path` | Get the path of the currently activated virtualenv |
| pplug | `poetry self show plugins` | List all the installed Poetry plugins |
| ppub | `poetry publish` | Publish the builded (`poetry build` command) package to the remote repository |
| ppub | `poetry publish` | Publish the built (`poetry build` command) package to the remote repository |
| prm | `poetry remove` | Remove packages from `pyproject.toml` and uninstall them |
| prun | `poetry run` | Executes the given command inside the projects virtualenv |
| psad | `poetry self add` | Add the Poetry plugin and install dependencies to make it work |
| psh | `poetry shell` | Spawns a shell within the virtual environment. If one doesnt exist, it will be created |
| pshw | `poetry show` | List all the available dependencies |
| pslt | `poetry show --latest` | List lastest version of the dependencies |
| pslt | `poetry show --latest` | List latest version of the dependencies |
| psup | `poetry self update` | Update Poetry to the latest version (default) or to the specified version |
| psync | `poetry install --sync` | Synchronize your environment with the `poetry.lock` |
| ptree | `poetry show --tree` | List the dependencies as tree |

View file

@ -1,6 +1,6 @@
# VS Code
This plugin provides useful aliases to simplify the interaction between the command line and VS Code, VSCodium, or Cursor editor.
This plugin provides useful aliases to simplify interaction between the command line and VS Code, VSCodium, or Cursor.
To start using it, add the `vscode` plugin to your `plugins` array in `~/.zshrc`:
@ -10,46 +10,45 @@ plugins=(... vscode)
## Requirements
This plugin requires to have a flavour of VS Code installed and its executable available in PATH.
This plugin requires one of the supported editors to be installed and its executable to be available in `PATH`.
You can install either:
You can install one of the following:
- VS Code (code)
- VS Code Insiders (code-insiders)
- VSCodium (codium)
- Cursor (cursor)
- VS Code (`code`)
- VS Code Insiders (`code-insiders`)
- VSCodium (`codium`)
- Cursor (`cursor`)
### MacOS
### macOS
While Linux installations will add the executable to PATH, MacOS users might still have to do this manually:
While Linux installations usually add the executable to `PATH`, macOS users might still have to do this manually:
[For VS Code and VS Code Insiders](https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line),
open the Command Palette via (F1 or ⇧⌘P) and type shell command to find the Shell Command:
open the Command Palette with `F1` or `Shift+Cmd+P`, then search for the following command:
> Shell Command: Install 'code' command in PATH
[For VSCodium](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#how-do-i-open-vscodium-from-the-terminal),
open the Command Palette via (F1 or ⇧⌘P) and type shell command to find the Shell Command:
open the Command Palette with `F1` or `Shift+Cmd+P`, then search for the following command:
> Shell Command: Install 'codium' command in PATH
For Cursor, open the Command Palette via (F1 or ⌘⇧P) and type shell command to find the Shell Command:
For Cursor, open the Command Palette with `F1` or `Cmd+Shift+P`, then search for the following command:
> Shell Command: Install 'cursor' command in PATH
## Using multiple flavours
## Choosing an editor
If for any reason, you ever require to use multiple flavours of VS Code i.e. VS Code (stable) and VS Code
Insiders, you can manually specify the flavour's executable. Add the following line to the .zshrc file
(between the `ZSH_THEME` and the `plugins=()` lines). This will make the plugin use your manually defined
executable.
If you have multiple supported editors installed, e.g., VS Code (stable) and VS Code Insiders, you can manually
specify which executable the plugin should use. Add the following line to `~/.zshrc` between the `ZSH_THEME`
and `plugins=()` lines. This makes the plugin use your manually defined executable.
```zsh
ZSH_THEME=...
# Choose between one [code, code-insiders, codium, or cursor]
# The following line will make the plugin to open VS Code Insiders
# Invalid entries will be ignored, no aliases will be added
# Choose one of `code`, `code-insiders`, `codium`, or `cursor`.
# The following line makes the plugin open VS Code Insiders.
# Invalid entries are ignored and no aliases are added.
VSCODE=code-insiders
plugins=(... vscode)
@ -61,29 +60,29 @@ source $ZSH/oh-my-zsh.sh
| Alias | Command | Description |
| ----------------------- | ------------------------------ | ----------------------------------------------------------------------------------------------------------- |
| vsc | code . | Open the current folder in VS code |
| vsc `dir` | code `dir` | Open passed folder in VS code |
| vsca `dir` | code --add `dir` | Add folder(s) to the last active window |
| vsc | code . | Open the current folder in VS Code |
| vsc `[args ...]` | code `[args ...]` | Pass arguments through to VS Code, e.g., a file, folder, or CLI flags. |
| vsca `dir` | code --add `dir` | Add one or more folders to the last active window. |
| vscd `file` `file` | code --diff `file` `file` | Compare two files with each other. |
| vscg `file:line[:char]` | code --goto `file:line[:char]` | Open a file at the path on the specified line and character position. |
| vscn | code --new-window | Force to open a new window. |
| vscr | code --reuse-window | Force to open a file or folder in the last active window. |
| vscn | code --new-window | Force opening in a new window. |
| vscr | code --reuse-window | Force opening a file or folder in the last active window. |
| vscw | code --wait | Wait for the files to be closed before returning. |
| vscu `dir` | code --user-data-dir `dir` | Specifies the directory that user data is kept in. Can be used to open multiple distinct instances of Code. |
| vscu `dir` | code --user-data-dir `dir` | Specifies the directory where user data is stored. Can be used to open multiple distinct instances of Code. |
| vscp `profile` | code --profile `profile` | Specifies the profile to open Code with. |
## Extensions aliases
## Extension aliases
| Alias | Command | Description |
| ----------------------- | ---------------------------------------------------------------- | --------------------------------- |
| vsced `dir` | code --extensions-dir `dir` | Set the root path for extensions. |
| vscie `id or vsix-path` | code --install-extension `extension-id> or <extension-vsix-path` | Installs an extension. |
| vscue `id or vsix-path` | code --uninstall-extension `id or vsix-path` | Uninstalls an extension. |
| Alias | Command | Description |
| --------------------------- | ---------------------------------------------- | -------------------------------------- |
| vsced `dir` | code --extensions-dir `dir` | Set the root directory for extensions. |
| vscie `ext-id or vsix-path` | code --install-extension `ext-id or vsix-path` | Installs or updates an extension. |
| vscue `ext-id` | code --uninstall-extension `ext-id` | Uninstalls an extension. |
## Other options:
## Other options
| Alias | Command | Description |
| ------------ | ------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| vscv | code --verbose | Print verbose output (implies --wait). |
| vscl `level` | code --log `level` | Log level to use. Default is 'info'. Allowed values are 'critical', 'error', 'warn', 'info', 'debug', 'trace', 'off'. |
| vscde | code --disable-extensions | Disable all installed extensions. |
| Alias | Command | Description |
| ------------ | ------------------------- | ---------------------------------------- |
| vscv | code --verbose | Print verbose output (implies `--wait`). |
| vscl `level` | code --log `level` | Log level to use. Default is `info`. |
| vscde | code --disable-extensions | Disable all installed extensions. |

View file

@ -111,7 +111,7 @@ _yarn_commands_scripts() {
packageJson=$(_yarn_find_package_json $opt_args[--cwd])
binaries=($(builtin cd $opt_args[--cwd] && echo node_modules/.bin/*(x:t)))
else
packageJson=$(_yarn_find_package_json $pwd)
packageJson=$(_yarn_find_package_json $PWD)
binaries=($(echo node_modules/.bin/*(x:t)))
fi
@ -135,7 +135,7 @@ _yarn_scripts() {
binaries=($(builtin cd $_yarn_run_cwd && yarn bin | perl -wln -e 'm{^[^:]+: (\S+)$} and print $1'))
fi
else
packageJson=$(_yarn_find_package_json $pwd)
packageJson=$(_yarn_find_package_json $PWD)
if [[ -d node_modules ]]; then
binaries=($(echo node_modules/.bin/*(x:t)))
else

View file

@ -1,10 +1,7 @@
if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
PROMPT='%{$fg[$NCOLOR]%}%n%{$reset_color%}@%{$fg[cyan]%}%m\
%{$reset_color%}:%{$fg[magenta]%}%~\
$(git_prompt_info) \
%{$fg[red]%}%(!.#.»)%{$reset_color%} '
PROMPT='%{$fg[$NCOLOR]%}%n%{$reset_color%}@%{$fg[cyan]%}%m%{$reset_color%}:%{$fg[magenta]%}%~$(git_prompt_info) %{$fg[red]%}%(!.#.»)%{$reset_color%} '
PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
RPS1='${return_code}'

View file

@ -473,7 +473,8 @@ EOF
# be prompted for the password either way, so this shouldn't cause any issues.
#
if user_can_sudo; then
sudo -k chsh -s "$zsh" "$USER" # -k forces the password prompt
sudo -k >/dev/null 2>&1 # -k forces the password prompt
sudo chsh -s "$zsh" "$USER"
else
chsh -s "$zsh" "$USER" # run chsh normally
fi