Compare commits

...

15 Commits

Author SHA1 Message Date
donalshijan f4451f2e89
Merge 9cd054ddc0 into 6e9cda3d30 2025-01-22 15:03:18 +02:00
dependabot[bot] 6e9cda3d30
chore(deps): bump semver in /.github/workflows/dependencies (#12924)
Bumps [semver](https://github.com/python-semver/python-semver) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/python-semver/python-semver/releases)
- [Changelog](https://github.com/python-semver/python-semver/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/python-semver/python-semver/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-19 23:30:40 +01:00
ohmyzsh[bot] d689aa289e
feat(gitfast): update to version v2.2 (#12923)
Co-authored-by: ohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com>
2025-01-19 11:20:14 +01:00
Felipe Contreras 8c5b71b2f4
ci(deps): update `gitfast` to its new structure (#12922)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
2025-01-19 11:18:37 +01:00
Abhijeet Vashistha 028d653632
fix(sonicradish): reset color typo (#12912) 2025-01-15 17:03:32 +01:00
Nico Just 04cba220f7
feat(eza): add color-scale options (#12841) 2025-01-15 12:40:52 +01:00
Michele Bologna 7a3695aadf
fix(grc): add linuxbrew path (#12903) 2025-01-12 14:25:00 +01:00
Thomas cae2e45193
fix(rust): call `rustc` through `rustup run` (#12901) 2025-01-10 14:17:49 +01:00
Carlo Sala 276e540eed
fix(cli): ensure `ksharrays` is unset
Closes #12900
2025-01-10 14:11:33 +01:00
Bhanu 5c17bcd21f
feat(web-search): add perplexity.ai (#12815) 2025-01-08 09:34:00 +01:00
Kalle Ahlström d82669199b
fix(af-magic): add logic for virtualenv separator (#12875) 2024-12-30 10:15:05 +01:00
dependabot[bot] 9c8afcc3ee
chore(deps): bump charset-normalizer in /.github/workflows/dependencies (#12874)
Bumps [charset-normalizer](https://github.com/jawah/charset_normalizer) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/jawah/charset_normalizer/releases)
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jawah/charset_normalizer/compare/3.4.0...3.4.1)

---
updated-dependencies:
- dependency-name: charset-normalizer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-29 13:22:49 +01:00
Donal Shijan 9cd054ddc0 refactor():Changed variable name according to guidelines 2023-10-15 21:59:32 +05:30
Donal Shijan 235b8cf4de refactor(): Removed an unnecessary comment 2023-10-15 21:51:10 +05:30
Donal Shijan b49a1735d4 cdk cli tool completion suggestions plugin 2023-10-15 02:41:40 +05:30
16 changed files with 254 additions and 22 deletions

View File

@ -2,11 +2,13 @@ dependencies:
plugins/gitfast:
repo: felipec/git-completion
branch: master
version: tag:v2.1
version: tag:v2.2
postcopy: |
set -e
rm -rf git-completion.plugin.zsh Makefile README.adoc t tools
test -e git-completion.zsh && mv -f git-completion.zsh _git
rm -rf git-completion.plugin.zsh Makefile t tools
mv README.adoc MANUAL.adoc
mv -f src/* .
rmdir src
plugins/gradle:
repo: gradle/gradle-completion
branch: master

View File

@ -1,7 +1,7 @@
certifi==2024.12.14
charset-normalizer==3.4.0
charset-normalizer==3.4.1
idna==3.10
PyYAML==6.0.2
requests==2.32.3
semver==3.0.2
semver==3.0.3
urllib3==2.3.0

View File

@ -1,6 +1,7 @@
#!/usr/bin/env zsh
function omz {
setopt localoptions noksharrays
[[ $# -gt 0 ]] || {
_omz::help
return 1

138
plugins/cdk/README.md Normal file
View File

@ -0,0 +1,138 @@
## Introduction
The `cdk plugin` uses the original aws cdk cli tool's implementation for getting completion suggestions using --get-yargs-completions option
## Usage
To use it, add `cdk` to the plugins list of your zshrc file:
```
plugins=(... cdk)
```
1. For completion suggestions, start typing the command upto the point from where onwards you would like to get suggestions, after you reach that point hit [SPACEBAR] and then [TAB].
Then completion suggestions will get listed below where you were typing the command at the same time the cursor will be left at where you last typed so that you can refer below and continue typing the command using the suggestions.
e.g
if you were to type :
cdk<space>[TAB]
You will see the following command suggestions with their respective descriptions:
acknowledge -- Acknowledge a notice so that it does not show up anymore
bootstrap -- Deploys the CDK toolkit stack into an AWS environment
context -- Manage cached context values
deploy -- Deploys the stack(s) named STACKS into your AWS account
destroy -- Destroy the stack(s) named STACKS
diff -- Compares the specified stack with the deployed stack or a local template file, and returns with status 1 if any difference is found
docs -- Opens the reference documentation in a browser
doctor -- Check your set-up for potential problems
import -- Import existing resource(s) into the given STACK
init -- Create a new, empty CDK project from a template.
list -- Lists all stacks in the app
metadata -- Returns all metadata associated with this stack
notices -- Returns a list of relevant notices
synthesize -- Synthesizes and prints the CloudFormation template for this stack
watch -- Shortcut for 'deploy --watch'
2. let's say you picked one command from the suggestion and further wanted some suggestions regarding options, then after typing the command from the suggestion you can further hit [SPACEBAR] and press [TAB] and it will first append '--' to the command you typed so far and then list out the possible options and it's descriptions below where you were typing all the while leaving the cursor right after where '--' got appended so that you can refer below and pick an option and type.
e.g
after typing:
cdk init<space>[TAB]
At this point your current command string which you were typing will get appended with a '--';
cdk init --
Further if you press [TAB] again with your command string looking like;
cdk init --[TAB]
You will see the following options suggestions with their respective descriptions:
--app -- REQUIRED WHEN RUNNING APP: command-line for executing your app or a cloud assembly directory (e.g. "node bin/my-app.js"). Can also be specified in cdk.json or ~/.cdk.json
--asset-metadata -- Include "aws:asset:*" CloudFormation metadata for resources that uses assets (enabled by default)
--build -- Command-line for a pre-synth build
--ca-bundle-path -- Path to CA certificate to use when validating HTTPS requests. Will read from AWS_CA_BUNDLE environment variable if not specified
--ci -- Force CI detection. If CI=true then logs will be sent to stdout instead of stderr
--context -- Add contextual string parameter (KEY=VALUE)
--debug -- Enable emission of additional debugging information, such as creation stack traces of tokens
--ec2creds -- Force trying to fetch EC2 instance credentials. Default: guess EC2 instance status
--generate-only -- If true, only generates project files, without executing additional operations such as setting up a git repo, installing dependencies or compiling the project
--help -- Show help
--ignore-errors -- Ignores synthesis errors, which will likely produce an invalid output
--json -- Use JSON output instead of YAML when templates are printed to STDOUT
--language -- The language to be used for the new project (default can be configured in ~/.cdk.json)
--list -- List the available templates
--lookups -- Perform context lookups (synthesis fails if this is disabled and context lookups need to be performed)
--no-color -- Removes colors and other style from console output
--notices -- Show relevant notices
--output -- Emits the synthesized cloud assembly into a directory (default: cdk.out)
--path-metadata -- Include "aws:cdk:path" CloudFormation metadata for each resource (enabled by default)
--plugin -- Name or path of a node package that extend the CDK features. Can be specified multiple times
--profile -- Use the indicated AWS profile as the default environment
--proxy -- Use the indicated proxy. Will read from HTTPS_PROXY environment variable if not specified
--role-arn -- ARN of Role to use when invoking CloudFormation
--staging -- Copy assets to the output directory (use --no-staging to disable the copy of assets which allows local debugging via the SAM CLI to reference the original source files)
--strict -- Do not construct stacks with warnings
--trace -- Print trace for stack warnings
--verbose -- Show debug logs (specify multiple times to increase verbosity)
--version -- Show version number
--version-reporting -- Include the "AWS::CDK::Metadata" resource in synthesized templates (enabled by default)
Note: You can avoid the appendment of '--' step by typing it yourself in your command string and then pressing [TAB] to save time.
3. The second usage of getting suggestions for options can be repeated in succession indefinitely.
e.g
after getting the options suggestions for cdk init command from the previous example, let's say you picked --app option:
cdk init --app
You can get further suggestions for more options by following the exact same steps for options suggestion as you did in previous example.
cdk init --app[TAB]
At this point your current command string which you were typing will get appended with a '--';
cdk init --app --
Further if you press [TAB] again with your command string looking like;
cdk init --app --[TAB]
You will see the further options suggestions with their respective descriptions:
--asset-metadata -- Include "aws:asset:*" CloudFormation metadata for resources that uses assets (enabled by default)
--build -- Command-line for a pre-synth build
--ca-bundle-path -- Path to CA certificate to use when validating HTTPS requests. Will read from AWS_CA_BUNDLE environment variable if not specified
--ci -- Force CI detection. If CI=true then logs will be sent to stdout instead of stderr
--context -- Add contextual string parameter (KEY=VALUE)
--debug -- Enable emission of additional debugging information, such as creation stack traces of tokens
--ec2creds -- Force trying to fetch EC2 instance credentials. Default: guess EC2 instance status
--generate-only -- If true, only generates project files, without executing additional operations such as setting up a git repo, installing dependencies or compiling the project
--help -- Show help
--ignore-errors -- Ignores synthesis errors, which will likely produce an invalid output
--json -- Use JSON output instead of YAML when templates are printed to STDOUT
--language -- The language to be used for the new project (default can be configured in ~/.cdk.json)
--list -- List the available templates
--lookups -- Perform context lookups (synthesis fails if this is disabled and context lookups need to be performed)
--no-color -- Removes colors and other style from console output
--notices -- Show relevant notices
--output -- Emits the synthesized cloud assembly into a directory (default: cdk.out)
--path-metadata -- Include "aws:cdk:path" CloudFormation metadata for each resource (enabled by default)
--plugin -- Name or path of a node package that extend the CDK features. Can be specified multiple times
--profile -- Use the indicated AWS profile as the default environment
--proxy -- Use the indicated proxy. Will read from HTTPS_PROXY environment variable if not specified
--role-arn -- ARN of Role to use when invoking CloudFormation
--staging -- Copy assets to the output directory (use --no-staging to disable the copy of assets which allows local debugging via the SAM CLI to reference the original source files)
--strict -- Do not construct stacks with warnings
--trace -- Print trace for stack warnings
--verbose -- Show debug logs (specify multiple times to increase verbosity)
--version -- Show version number
--version-reporting -- Include the "AWS::CDK::Metadata" resource in synthesized templates (enabled by default)
## Requirements
1. Disable any plugin or zsh configuration that interferes with tab completions,
2. Clear zcompdump Files: Sometimes, issues with completion are related to cached completion files.
You can try clearing your zcompdump files by running the command
rm -f ~/.zcompdump*
After deleting these files, you should restart your Zsh shell.
## Caveats
If aws-cdk npm package is installed on the system globally it will work really well, but if it is not installed the completion suggestions will still work but has a bit of a overhead since in such cases it will use npx under the hood to run the command and it can affect the performance depending on whether npx is able to find a local installation of the package in your current working directory or in the parent directories of your current working directory. If npx is able to find it installed locally, it will use it, but if it doesnt find any local installations it will first install the package temporarily in a local temporary directory on your system whose location can vary depending on the operating system and configuration but is typically somewhere under the user's home directory.
The package is installed for the duration of the command execution, and once the command is finished, the temporary installation is removed automatically. This means that you don't have to worry about manually cleaning up the temporary installation. npx is designed to handle this for you.
## References
1. Solution discussion - https://github.com/aws/aws-cdk/issues/5199
2. zsh-completions docs, can come in handy for futher development - https://github.com/zsh-users/zsh-completions/blob/master/zsh-completions-howto.org#writing-simple-completion-functions-using-_describe
## Contributer
https://github.com/donalshijan

View File

@ -0,0 +1,24 @@
# Check if the 'cdk' command is available in the system's PATH
if ! command -v cdk >/dev/null 2>&1; then
cdk() { npx -- cdk "$@" }
fi
###-begin-cdk-completions-###
_cdk_yargs_completions()
{
local completion_suggestions
local si=$IFS
IFS=$'
' completion_suggestions=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" cdk --get-yargs-completions "${words[@]}"))
IFS=$si
_describe 'values' completion_suggestions
}
compdef _cdk_yargs_completions cdk
###-end-cdk-completions-###
export ZSH_AUTOSUGGEST=true
autoload -U compinit
compinit

View File

@ -65,6 +65,29 @@ If `yes`, sets the `--icons` option of `eza`, adding icons for files and folders
Default: `no`
### `color-scale`
```zsh
zstyle ':omz:plugins:eza' 'color-scale' all|age|size
```
Highlight levels of field(s) distinctly. Use comma(,) separated list of `all`, `age`, `size`
Default: `none`
### `color-scale-mode`
```zsh
zstyle ':omz:plugins:eza' 'color-scale-mode' gradient|fixed
```
Choose the mode for highlighting:
- `gradient` (default) -- gradient coloring
- `fixed` -- fixed coloring
Default: `gradient`
### `size-prefix`
```zsh

View File

@ -34,6 +34,14 @@ function _configure_eza() {
if zstyle -t ':omz:plugins:eza' 'icons'; then
_EZA_TAIL+=("--icons=auto")
fi
zstyle -s ':omz:plugins:eza' 'color-scale' _val
if [[ $_val ]]; then
_EZA_TAIL+=("--color-scale=$_val")
fi
zstyle -s ':omz:plugins:eza' 'color-scale-mode' _val
if [[ $_val == (gradient|fixed) ]]; then
_EZA_TAIL+=("--color-scale-mode=$_val")
fi
zstyle -s ':omz:plugins:eza' 'time-style' _val
if [[ $_val ]]; then
_EZA_TAIL+=("--time-style='$_val'")

View File

@ -0,0 +1,40 @@
This project is a friendly fork of the official Git completion
(`contrib/completion`) and prompt scripts for Bash, Zsh, and possibly other
shells.
Most Git developers use the Bash shell, for which the completion scripts work
rather well, however, Zsh is typically neglected. I've sent many patches to fix
the issues, many have been merged, but many have been ignored, thus the need for
a canonical location of a good, working Zsh completion.
There are advantages for Bash users too. Currently the scripts under `contrib` are tied to the
specific Git version, for example the completion scripts of version v2.40
(https://git.kernel.org/pub/scm/git/git.git/plain/contrib/completion/git-completion.bash?h=v2.40.0[git-completion.bash])
have issues with older versions of Git (e.g. v2.33); the ones in
this project don't.
With `git-completion` you can be sure you are using the latest completion that
works in both shells, and any Git version.
This is a sister project of the
https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast[Oh My Zsh
gitfast] plugin (that I also maintain), which has similar needs.
== Installation ==
* https://github.com/felipec/git-completion/wiki/Bash[Bash instructions]
* https://github.com/felipec/git-completion/wiki/Zsh[Zsh instructions]
== Improvements from upstream ==
This is a short list of the benefits you get:
* Easier installation
* Tons of bug fixes
* Works with older versions of git
* Zsh: much more options
* Zsh: quoting works properly
* Zsh: automatic suffix removal
For a full list of all the patches on top of upstream git check
https://github.com/felipec/git-completion/wiki/Patches[Patches].

View File

@ -2,23 +2,11 @@
# zsh completion wrapper for git
#
# Copyright (c) 2012-2020 Felipe Contreras <felipe.contreras@gmail.com>
# Copyright (c) 2012-2024 Felipe Contreras <felipe.contreras@gmail.com>
#
# The recommended way to install this script is to make a copy of it as a
# file named '_git' inside any directory in your fpath.
# The recommended way to use this script is to prepend its location to your $fpath:
#
# For example, create a directory '~/.zsh/', copy this file to '~/.zsh/_git',
# and then add the following to your ~/.zshrc file:
#
# fpath=(~/.zsh $fpath)
#
# You need git's bash completion script installed. By default bash-completion's
# location will be used (e.g. pkg-config --variable=completionsdir bash-completion).
#
# If your bash completion script is somewhere else, you can specify the
# location in your ~/.zshrc:
#
# zstyle ':completion:*:*:git:*' script ~/.git-completion.bash
# fpath=($git_completion_srcdir $fpath)
#
zstyle -T ':completion:*:*:git:*' tag-order && \

View File

@ -1,6 +1,8 @@
# bash/zsh completion support for core Git.
#
# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org>
# Copyright (c) 2012-2024 Felipe Contreras <felipe.contreras@gmail.com>
#
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
# Distributed under the GNU General Public License, version 2.0.
#

View File

@ -5,6 +5,7 @@ files=(
/etc/grc.zsh # default
/usr/local/etc/grc.zsh # homebrew darwin-x64
/opt/homebrew/etc/grc.zsh # homebrew darwin-arm64
/home/linuxbrew/.linuxbrew/etc/grc.zsh # linuxbrew
/usr/share/grc/grc.zsh # Gentoo Linux (app-misc/grc)
)

View File

@ -22,5 +22,5 @@ fi
rustup completions zsh >| "$ZSH_CACHE_DIR/completions/_rustup" &|
cat >| "$ZSH_CACHE_DIR/completions/_cargo" <<'EOF'
#compdef cargo
source "$(rustc +${${(z)$(rustup default)}[1]} --print sysroot)"/share/zsh/site-functions/_cargo
source "$(rustup run ${${(z)$(rustup default)}[1]} rustc --print sysroot)"/share/zsh/site-functions/_cargo
EOF

View File

@ -52,6 +52,7 @@ Available search contexts are:
| `gopkg` | `https://pkg.go.dev/search?m=package&q=` |
| `chatgpt` | `https://chatgpt.com/?q=` |
| `reddit` | `https://www.reddit.com/search/?q=` |
| `ppai` | `https://www.perplexity.ai/search/new?q=` |
Also there are aliases for bang-searching DuckDuckGo:

View File

@ -33,6 +33,7 @@ function web_search() {
gopkg "https://pkg.go.dev/search?m=package&q="
chatgpt "https://chatgpt.com/?q="
reddit "https://www.reddit.com/search/?q="
ppai "https://www.perplexity.ai/search/new?q="
)
# check whether the search engine is supported
@ -87,6 +88,7 @@ alias packagist='web_search packagist'
alias gopkg='web_search gopkg'
alias chatgpt='web_search chatgpt'
alias reddit='web_search reddit'
alias ppai='web_search ppai'
#add your own !bang searches here
alias wiki='web_search duckduckgo \!w'

View File

@ -13,6 +13,8 @@ function afmagic_dashes {
# the prompt, account for it when returning the number of dashes
if [[ -n "$python_env" && "$PS1" = *\(${python_env}\)* ]]; then
echo $(( COLUMNS - ${#python_env} - 3 ))
elif [[ -n "$VIRTUAL_ENV_PROMPT" && "$PS1" = *${VIRTUAL_ENV_PROMPT}* ]]; then
echo $(( COLUMNS - ${#VIRTUAL_ENV_PROMPT} ))
else
echo $COLUMNS
fi

View File

@ -29,7 +29,7 @@ ZSH_THEME_GIT_PROMPT_SUFFIX="%{$GIT_PROMPT_INFO%} :"
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$GIT_DIRTY_COLOR%}✘"
ZSH_THEME_GIT_PROMPT_CLEAN=" %{$GIT_CLEAN_COLOR%}✔"
ZSH_THEME_GIT_PROMPT_ADDED="%{$FG[103]%}✚%{$rset_color%}"
ZSH_THEME_GIT_PROMPT_ADDED="%{$FG[103]%}✚%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$FG[103]%}✹%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DELETED="%{$FG[103]%}✖%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_RENAMED="%{$FG[103]%}➜%{$reset_color%}"