mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-27 21:45:41 +00:00
Compare commits
182 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
892216a8fc | ||
|
|
a2a99445ff | ||
|
|
678466b898 | ||
| bd5eff8bce | |||
| 2979cc6cfc | |||
|
|
5630200d95 | ||
| 961efec364 | |||
| 4b0e38ffd2 | |||
|
|
c6ba0e4036 | ||
|
|
7b1ed2f596 | ||
|
|
82d48c8989 | ||
|
|
48f61fa917 | ||
|
|
abc3408609 | ||
|
|
8bef11095e | ||
| 7d427d29bb | |||
|
|
fd71a1ad32 | ||
|
|
277d47098f | ||
|
|
d35014ed2e | ||
|
|
8e7af8ddc7 | ||
| 099e6672c8 | |||
| e578e52aff | |||
|
|
0b5f80cb03 | ||
|
|
72f42835ff | ||
|
|
a949f0d4cf | ||
|
|
8b1e4462b3 | ||
|
|
055cf7ef2e | ||
|
|
8c2b3fb475 | ||
| 3fa1efe88d | |||
| 9cc81c4cbf | |||
| bba76843db | |||
| 9018d1a038 | |||
|
|
a8595e2e07 | ||
|
|
beb89e9490 | ||
|
|
cb381fe57d | ||
|
|
7be770a2af | ||
|
|
d16ce9ad0f | ||
| ab67f6be5a | |||
| efadbb4248 | |||
| ded4bf3bb3 | |||
|
|
62eb417935 | ||
| d22f9ece7d | |||
| 79be2d41bc | |||
|
|
743ebb0e9f | ||
|
|
8fcab21a67 | ||
|
|
43a714513f | ||
|
|
044298af74 | ||
|
|
6604f7a2ca | ||
|
|
065eb2f9c0 | ||
|
|
49b7fa43ad | ||
|
|
8f652a2a9b | ||
|
|
b81adc62b1 | ||
|
|
fd044776b9 | ||
| 5472634f08 | |||
| 33db70e725 | |||
| 56b2fdabf1 | |||
| 3f2d1b85ed | |||
|
|
0bd72c6d51 | ||
|
|
69684c23b9 | ||
|
|
28a36b5d6b | ||
|
|
00fd6fc5dc | ||
|
|
abfe7cc011 | ||
|
|
95e21a124b | ||
|
|
5178bec1a0 | ||
|
|
1b94674e6b | ||
|
|
7e9d2df990 | ||
| 91be3b9edc | |||
| 6bfcd38773 | |||
| 74a3d58417 | |||
| 7b6e95c4ab | |||
| 88a2b3dadf | |||
|
|
416523660a | ||
|
|
1e15c0cad2 | ||
|
|
93129c0fd0 | ||
|
|
7c835df7dc | ||
|
|
729efdd406 | ||
| ebb22064ce | |||
|
|
c4a55efd7c | ||
|
|
508b44fd48 | ||
|
|
2fdcd839a4 | ||
|
|
cdf791bb63 | ||
|
|
cd72b003a0 | ||
| bb93200f52 | |||
|
|
7715e1c8b0 | ||
|
|
e91f31a049 | ||
|
|
56791753f7 | ||
| e9bd3708fa | |||
| 0a2b0b8a45 | |||
|
|
1be21eb247 | ||
|
|
dd89164b8b | ||
|
|
aae39dd913 | ||
|
|
4ab8182d90 | ||
|
|
b281efc576 | ||
|
|
35ede87808 | ||
|
|
2e184aa6c1 | ||
|
|
ffd4121eef | ||
|
|
a424347974 | ||
|
|
574cafed0e | ||
|
|
099a80c78b | ||
|
|
081ac55dd7 | ||
|
|
4136b66d9f | ||
|
|
4183bc0a24 | ||
|
|
cc8578ed4c | ||
| 65d5040af2 | |||
| 5606cff9fd | |||
| 530ce0df4f | |||
|
|
f6252c871e | ||
| caf5722b95 | |||
|
|
185562737c | ||
| 579685e4ee | |||
| 9ece4c64c6 | |||
| b413eefd37 | |||
| 06c1275fa5 | |||
| c2a5d45998 | |||
| 94038a71bf | |||
| 4bfa54972e | |||
| 25831458aa | |||
|
|
41315f7c53 | ||
|
|
fecbb3568c | ||
| f18d08ec5f | |||
| b9fac1a444 | |||
| a5fe70d3c2 | |||
| fdaa1883a7 | |||
|
|
e67abce6ed | ||
|
|
ab07793804 | ||
|
|
ba87c82d51 | ||
|
|
cf5ce57a57 | ||
|
|
17a0dfd6e1 | ||
|
|
e3e0f99eaf | ||
|
|
3399288a81 | ||
|
|
fe0d7408cf | ||
|
|
0223e08da8 | ||
|
|
bfe46f0a90 | ||
|
|
a60ce374b5 | ||
| 5f59851c7a | |||
|
|
9c68e8b05c | ||
| 84e3351125 | |||
| 363ae046c8 | |||
|
|
9ac792b924 | ||
|
|
e377d9212a | ||
|
|
125fd027f7 | ||
|
|
ecd099edbd | ||
| 3baa7547e1 | |||
|
|
782eeb78ec | ||
|
|
7b211489fd | ||
| d3ec2e7332 | |||
|
|
0b11f6456a | ||
|
|
58064a7b9b | ||
|
|
4723d5c61c | ||
|
|
4e0e4b8883 | ||
|
|
5b6f43e22f | ||
| ca594f9b2d | |||
| 685a843d78 | |||
| 470acd8956 | |||
| a6907d890e | |||
|
|
c37fdb7cd3 | ||
| bad1ce2a34 | |||
| e67d4285b6 | |||
| f577ad28a9 | |||
|
|
e9ac5e48ac | ||
|
|
cc01f4fdde | ||
| 52a5f226e9 | |||
|
|
9b94302270 | ||
|
|
fe7e9173d0 | ||
|
|
fb5aae3deb | ||
| 036392d38a | |||
| 2cb11292d4 | |||
| a163d6338a | |||
| 191488c081 | |||
| cc47614280 | |||
| 91cde60dba | |||
| 5dea757707 | |||
| f8833fca73 | |||
| 9cd99dbc88 | |||
| 14f67cb5ca | |||
|
|
4ce76fbd70 | ||
|
|
ca68803fb9 | ||
| fb97f10f64 | |||
| 6dbbc439b3 | |||
| 368fbfc7c8 | |||
| d6d5a8ca36 | |||
|
|
d65c25819f | ||
|
|
62c620efad |
@@ -9,10 +9,11 @@ insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.fish]
|
||||
max_line_length = 80
|
||||
max_line_length = 120
|
||||
|
||||
[*.md]
|
||||
max_line_length = 100
|
||||
max_line_length = 120
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.lua]
|
||||
max_line_length = 90
|
||||
@@ -24,10 +25,6 @@ indent_size = 4
|
||||
indent_style = tab
|
||||
indent_size = 1
|
||||
|
||||
[*.plist]
|
||||
indent_size = 1
|
||||
indent_style = tab
|
||||
|
||||
[{local/bin/*,**/*.sh,**/zshrc,config/*,scripts/*}]
|
||||
indent_size = 2
|
||||
tab_width = 2
|
||||
@@ -38,9 +35,20 @@ space_redirects = true
|
||||
keep_padding = false
|
||||
function_next_line = true # --func-next-line
|
||||
|
||||
[{*.plist,config/git/**,**/config/git/**}]
|
||||
indent_size = 1
|
||||
indent_style = tab
|
||||
|
||||
# Ignore the entire "third_party" directory when calling shfmt on directories,
|
||||
# such as "shfmt -l -w .". When formatting files directly,
|
||||
# like "shfmt -w third_party/foo.sh" or "shfmt --filename=third_party/foo.sh",
|
||||
# the ignore logic is applied only when the --apply-ignore flag is given.
|
||||
[{tools/**,local/bin/asdf/**,config/cheat/cheatsheets/**,config/tmux/plugins/**}]
|
||||
ignore = true
|
||||
|
||||
[plan]
|
||||
trim_trailing_whitespace = false
|
||||
max_line_length = off
|
||||
|
||||
[base/hammerspoon/hammerspoon.types.lua]
|
||||
max_line_length = off
|
||||
|
||||
@@ -1,11 +1,21 @@
|
||||
{
|
||||
"Version": "2.7.0",
|
||||
"Verbose": false,
|
||||
"Debug": false,
|
||||
"IgnoreDefaults": false,
|
||||
"SpacesAftertabs": false,
|
||||
"SpacesAfterTabs": false,
|
||||
"NoColor": false,
|
||||
"Exclude": [],
|
||||
"Exclude": [
|
||||
"base/plan",
|
||||
"config/fish/completions/.*",
|
||||
"config/fish/conf.d/.*",
|
||||
"config/fish/functions/.*",
|
||||
"config/fzf/key-bindings.fish",
|
||||
"config/irssi/scripts/autorun/.*",
|
||||
"config/vim/autoload/.*",
|
||||
"docs/.*",
|
||||
"local/man/.*",
|
||||
"local/share/.*"
|
||||
],
|
||||
"AllowedContentTypes": [],
|
||||
"PassedFiles": [],
|
||||
"Disable": {
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"extends": ["@ivuorinen"]
|
||||
}
|
||||
30
.github/AGENTS.md
vendored
30
.github/AGENTS.md
vendored
@@ -1,30 +0,0 @@
|
||||
# Guidelines for AI contributors
|
||||
|
||||
These instructions help language models work with this repository.
|
||||
|
||||
## Setup
|
||||
|
||||
1. Run `yarn install` to get linting tools and the Bats test framework.
|
||||
|
||||
## Formatting
|
||||
|
||||
- Format code and docs with Prettier and markdownlint:
|
||||
|
||||
```bash
|
||||
yarn fix:prettier
|
||||
yarn fix:markdown
|
||||
```
|
||||
|
||||
- Shell scripts should pass `shellcheck`.
|
||||
|
||||
## Testing
|
||||
|
||||
- When code changes, run `yarn test` to execute Bats tests.
|
||||
- If only comments or documentation change, tests may be skipped.
|
||||
|
||||
## Commits and PRs
|
||||
|
||||
- Use Semantic Commit messages: `type(scope): summary`.
|
||||
- Keep PR titles in the same format.
|
||||
|
||||
<!-- vim: set ft=markdown spell spelllang=en_us cc=80 : -->
|
||||
7
.github/dependabot.yml
vendored
7
.github/dependabot.yml
vendored
@@ -1,7 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
# Maintain dependencies for GitHub Actions
|
||||
- package-ecosystem: 'github-actions'
|
||||
directory: '/'
|
||||
schedule:
|
||||
interval: 'weekly'
|
||||
8
.github/tag-changelog-config.js
vendored
8
.github/tag-changelog-config.js
vendored
@@ -16,10 +16,10 @@ module.exports = {
|
||||
|
||||
excludeTypes: [],
|
||||
|
||||
renderTypeSection: function (label, commits) {
|
||||
renderTypeSection: (label, commits) => {
|
||||
let text = `\n## ${label}\n\n`
|
||||
|
||||
commits.forEach(commit => {
|
||||
commits.forEach((commit) => {
|
||||
const scope = commit.scope ? `**${commit.scope}:** ` : ''
|
||||
text += `- ${scope}${commit.subject}\n`
|
||||
})
|
||||
@@ -27,10 +27,10 @@ module.exports = {
|
||||
return text
|
||||
},
|
||||
|
||||
renderChangelog: function (release, changes) {
|
||||
renderChangelog: (release, changes) => {
|
||||
const now = new Date()
|
||||
const d = now.toISOString().substring(0, 10)
|
||||
const header = `# ${release} - ${d}\n`
|
||||
return header + changes + '\n\n'
|
||||
return `${header}${changes}\n\n`
|
||||
},
|
||||
}
|
||||
|
||||
4
.github/workflows/changelog.yml
vendored
4
.github/workflows/changelog.yml
vendored
@@ -13,12 +13,12 @@ permissions: read-all
|
||||
|
||||
jobs:
|
||||
debug-changelog:
|
||||
runs-on: self-hosted
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions: write-all
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Create changelog text
|
||||
id: changelog
|
||||
|
||||
12
.github/workflows/linters.yml
vendored
12
.github/workflows/linters.yml
vendored
@@ -2,6 +2,7 @@
|
||||
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
|
||||
name: Lint Code Base
|
||||
|
||||
# yamllint disable-line
|
||||
on:
|
||||
pull_request:
|
||||
branches: [master, main]
|
||||
@@ -18,19 +19,20 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
permissions:
|
||||
statuses: write
|
||||
contents: read
|
||||
issues: write
|
||||
packages: read
|
||||
pull-requests: write
|
||||
statuses: write
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Yarn Lock Changes
|
||||
uses: Simek/yarn-lock-changes@34017425198654c20162a4dfd4f238fbece9636f # v0.12.1
|
||||
uses: Simek/yarn-lock-changes@61d1a0595070b79c1abdc8e1e5a5f5d98b18918c # v0.12.2
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Run PR Lint
|
||||
# https://github.com/ivuorinen/actions
|
||||
uses: ivuorinen/actions/pr-lint@9480614ba2231013d99dd5b9c730d2b105b9e160 # 25.6.25
|
||||
uses: ivuorinen/actions/pr-lint@fb25736f7e7a438979c11764e9fe6a100278b4c5 # v2026.01.01
|
||||
|
||||
6
.github/workflows/new-release.yml
vendored
6
.github/workflows/new-release.yml
vendored
@@ -15,7 +15,7 @@ permissions: read-all
|
||||
|
||||
jobs:
|
||||
new-daily-release:
|
||||
runs-on: self-hosted
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions: write-all
|
||||
|
||||
@@ -24,7 +24,7 @@ jobs:
|
||||
version: ${{ steps.daily-version.outputs.version }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- name: Create tag if necessary
|
||||
uses: fregante/daily-version-action@fb1a60b7c4daf1410cd755e360ebec3901e58588 # v2.1.3
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
|
||||
- name: Create release
|
||||
if: steps.daily-version.outputs.created
|
||||
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
|
||||
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
tag_name: ${{ steps.daily-version.outputs.version }}
|
||||
|
||||
8
.github/workflows/pre-commit-autoupdate.yml
vendored
8
.github/workflows/pre-commit-autoupdate.yml
vendored
@@ -16,20 +16,20 @@ permissions: read-all
|
||||
|
||||
jobs:
|
||||
auto-update:
|
||||
runs-on: self-hosted
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
|
||||
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
|
||||
|
||||
- run: pip install pre-commit && pre-commit autoupdate
|
||||
|
||||
- uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
|
||||
- uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: update/pre-commit-hooks
|
||||
|
||||
7
.github/workflows/semantic-pr.yml
vendored
7
.github/workflows/semantic-pr.yml
vendored
@@ -2,8 +2,9 @@
|
||||
# $schema: "https://json.schemastore.org/github-workflow.json"
|
||||
name: Semantic PR
|
||||
|
||||
# yamllint disable-line
|
||||
on:
|
||||
pull_request_target:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- edited
|
||||
@@ -17,10 +18,10 @@ permissions: read-all
|
||||
|
||||
jobs:
|
||||
semantic-pr:
|
||||
runs-on: self-hosted
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3
|
||||
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
|
||||
4
.github/workflows/sync-labels.yml
vendored
4
.github/workflows/sync-labels.yml
vendored
@@ -23,10 +23,10 @@ permissions: read-all
|
||||
|
||||
jobs:
|
||||
SyncLabels:
|
||||
runs-on: self-hosted
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
|
||||
steps:
|
||||
- uses: ivuorinen/actions/sync-labels@9480614ba2231013d99dd5b9c730d2b105b9e160 # 25.6.25
|
||||
- uses: ivuorinen/actions/sync-labels@fb25736f7e7a438979c11764e9fe6a100278b4c5 # v2026.01.01
|
||||
|
||||
18
.github/workflows/update-submodules.yml
vendored
18
.github/workflows/update-submodules.yml
vendored
@@ -16,33 +16,35 @@ permissions: read-all
|
||||
|
||||
jobs:
|
||||
update-submodules:
|
||||
runs-on: self-hosted
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions: write-all
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 2
|
||||
token: ${{secrets.GITHUB_TOKEN}}
|
||||
|
||||
- name: Config Git User
|
||||
shell: bash
|
||||
run: |
|
||||
git config --global user.name "${{ github.actor }}"
|
||||
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
|
||||
|
||||
- name: Update submodules
|
||||
shell: bash
|
||||
run: |
|
||||
git submodule sync
|
||||
git submodule foreach --quiet '
|
||||
tag="$(git describe --tags --abbrev=0 origin/HEAD)"
|
||||
if [ "$(git describe --tags)" != "$tag" ]; then
|
||||
git checkout --quiet "$tag"
|
||||
echo "$name updated to $tag"
|
||||
git submodule foreach --quiet "
|
||||
tag=\"$(git describe --tags --abbrev=0 origin/HEAD)\"
|
||||
if [ \"$(git describe --tags)\" != \"$tag\" ]; then
|
||||
git checkout --quiet \"$tag\"
|
||||
echo \"$name updated to $tag\"
|
||||
fi
|
||||
'
|
||||
"
|
||||
|
||||
if git diff --quiet; then
|
||||
echo "No updates for submodules."
|
||||
|
||||
40
.gitignore
vendored
40
.gitignore
vendored
@@ -9,43 +9,51 @@
|
||||
.env
|
||||
.idea
|
||||
.nfs*
|
||||
.scannerwork
|
||||
.vscode
|
||||
.yarn/
|
||||
!config/git/local.d/.gitkeep
|
||||
!config/nvim/spell/.gitkeep
|
||||
!config/zed/settings.json
|
||||
!ssh/local.d/.gitkeep
|
||||
**/exports-secret.fish
|
||||
**/exports.secret.fish
|
||||
*.tmp.*
|
||||
Brewfile.lock.json
|
||||
antidote_plugins.zsh
|
||||
config/alacritty/theme-active.toml
|
||||
config/cheat/cheatsheets/pure-bash-bible/*
|
||||
config/cheat/cheatsheets/tldr/*
|
||||
config/fish/completions/asdf.fish
|
||||
config/fish/fish_variables
|
||||
config/fish/fish_variables.*
|
||||
config/gh/hosts.yml
|
||||
config/git/credentials
|
||||
config/git/local.d/*
|
||||
config/gnupg/S.*
|
||||
config/gnupg/private-keys-v1.d
|
||||
config/gnupg/s
|
||||
config/iterm2/AppSupport
|
||||
config/karabiner/automatic_backups
|
||||
config/npm/npmrc
|
||||
config/nvim/lazy-lock.json
|
||||
config/nvim/spell/*
|
||||
!config/nvim/spell/.gitkeep
|
||||
config/git/local.d/*
|
||||
!config/git/local.d/.gitkeep
|
||||
config/op/plugins/gh.json
|
||||
config/op/plugins/used_items/gh.json
|
||||
config/vim/.netrwhist
|
||||
config/vim/extra/*
|
||||
config/vim/fzf
|
||||
config/vim/plugged/*
|
||||
config/zed/*
|
||||
!config/zed/settings.json
|
||||
config/zed/settings.json
|
||||
config/zsh/.zcompdump
|
||||
dependency-check-report.html
|
||||
iTermServer-*
|
||||
lazy-lock.json
|
||||
local/share/fonts/*
|
||||
local/bin/asdf/plugins/*
|
||||
local/bin/yabai
|
||||
local/man/yabai.1
|
||||
local/share/fonts/*
|
||||
lock
|
||||
node_modules
|
||||
ssh/local.d/*
|
||||
!ssh/local.d/.gitkeep
|
||||
config/fish/fish_variables
|
||||
**/exports.secret.fish
|
||||
**/exports-secret.fish
|
||||
config/fish/completions/asdf.fish
|
||||
config/vim/.netrwhist
|
||||
config/vim/extra/*
|
||||
config/gh/hosts.yml
|
||||
dependency-check-report.html
|
||||
local/bin/yabai
|
||||
local/man/yabai.1
|
||||
|
||||
5
.gitmodules
vendored
5
.gitmodules
vendored
@@ -71,7 +71,7 @@
|
||||
|
||||
[submodule "tmux/tmux-dark-notify"]
|
||||
path = config/tmux/plugins/tmux-dark-notify
|
||||
url = https://github.com/erikw/tmux-dark-notify.git
|
||||
url = https://github.com/ivuorinen/tmux-dark-notify.git
|
||||
ignore = dirty
|
||||
|
||||
[submodule "antidote"]
|
||||
@@ -83,3 +83,6 @@
|
||||
[submodule "tmux/tmux-resurrect"]
|
||||
path = config/tmux/plugins/tmux-resurrect
|
||||
url = https://github.com/tmux-plugins/tmux-resurrect.git
|
||||
[submodule "tmux/catppuccin"]
|
||||
path = config/tmux/plugins/catppuccin
|
||||
url = https://github.com/catppuccin/tmux.git
|
||||
|
||||
1
.go-version
Normal file
1
.go-version
Normal file
@@ -0,0 +1 @@
|
||||
1.25.5
|
||||
3
.ignore
3
.ignore
@@ -1,10 +1,11 @@
|
||||
**/__pycache__/**
|
||||
*.pyc
|
||||
.git/**
|
||||
config/cheat/cheatsheets/community/**
|
||||
config/tmux/plugins/**
|
||||
config/vim/plugged/**
|
||||
node_modules
|
||||
tools/antidote/**
|
||||
tools/dotbot-brew/**
|
||||
tools/dotbot-include/**
|
||||
tools/dotbot/**
|
||||
*.pyc
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"extends": "@ivuorinen/markdownlint-config",
|
||||
"code-block-style": {
|
||||
"style": "fenced"
|
||||
},
|
||||
"code-fence-style": {
|
||||
"style": "backtick"
|
||||
},
|
||||
"heading-style": {
|
||||
"style": "atx"
|
||||
},
|
||||
"no-duplicate-heading": {
|
||||
"siblings_only": true
|
||||
},
|
||||
"required-headings": false,
|
||||
"ul-style": {
|
||||
"style": "dash"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
# only care about files that are directly under our control
|
||||
.git/*
|
||||
config/cheat/cheatsheets/community/*
|
||||
config/cheat/cheatsheets/tldr/*
|
||||
config/op/plugins/used_plugins/*
|
||||
config/tmux/plugins/*
|
||||
config/vim/*
|
||||
local/bin/asdf/*
|
||||
tools/*
|
||||
node_modules/*
|
||||
|
||||
tools/*
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
# Configuration file for MegaLinter
|
||||
# See all available variables at
|
||||
# https://megalinter.io/configuration/ and in linters documentation
|
||||
|
||||
APPLY_FIXES: all
|
||||
SHOW_ELAPSED_TIME: false # Show elapsed time at the end of MegaLinter run
|
||||
PARALLEL: true
|
||||
@@ -15,15 +14,11 @@ PRINT_ALPACA: false # Print Alpaca logo in console
|
||||
SARIF_REPORTER: true # Generate SARIF report
|
||||
SHOW_SKIPPED_LINTERS: false # Show skipped linters in MegaLinter log
|
||||
TYPESCRIPT_DEFAULT_STYLE: prettier # Default style for TypeScript
|
||||
|
||||
DISABLE_LINTERS:
|
||||
- REPOSITORY_DEVSKIM
|
||||
|
||||
- JAVASCRIPT_ES # using biome
|
||||
- JAVASCRIPT_PRETTIER # using biome
|
||||
YAML_YAMLLINT_CONFIG_FILE: .yamllint.yml
|
||||
MARKDOWN_MARKDOWNLINT_CONFIG_FILE: .markdownlint.json
|
||||
JAVASCRIPT_ES_CONFIG_FILE: .eslintrc.json
|
||||
TYPESCRIPT_ES_CONFIG_FILE: .eslintrc.json
|
||||
|
||||
REPOSITORY_GIT_DIFF_DISABLE_ERRORS: true
|
||||
FILTER_REGEX_EXCLUDE: >
|
||||
(node_modules|tools|config/cheat/cheatsheets/community|config/cheat/cheatsheets/tldr|config/fzf|config/zsh|config/tmux/plugins)
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v5.0.0
|
||||
rev: v6.0.0
|
||||
hooks:
|
||||
- id: requirements-txt-fixer
|
||||
- id: detect-aws-credentials
|
||||
@@ -19,44 +20,40 @@ repos:
|
||||
- id: end-of-file-fixer
|
||||
- id: mixed-line-ending
|
||||
args: [--fix=auto]
|
||||
- id: pretty-format-json
|
||||
args: [--autofix, --no-sort-keys]
|
||||
|
||||
- repo: https://github.com/igorshubovych/markdownlint-cli
|
||||
rev: v0.45.0
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: markdownlint
|
||||
args: [-c, .markdownlint.json, --fix]
|
||||
- id: biome-check
|
||||
name: Biome Check
|
||||
entry: yarn biome check --write --files-ignore-unknown=true --no-errors-on-unmatched
|
||||
language: system
|
||||
files: \.(js|ts|jsx|tsx|json|md)$
|
||||
|
||||
- repo: https://github.com/adrienverge/yamllint
|
||||
rev: v1.37.1
|
||||
hooks:
|
||||
- id: yamllint
|
||||
|
||||
- repo: https://github.com/koalaman/shellcheck-precommit
|
||||
rev: v0.10.0
|
||||
- repo: https://github.com/shellcheck-py/shellcheck-py
|
||||
rev: v0.11.0.1
|
||||
hooks:
|
||||
- id: shellcheck
|
||||
|
||||
- repo: https://github.com/scop/pre-commit-shfmt
|
||||
rev: v3.11.0-1
|
||||
rev: v3.12.0-2
|
||||
hooks:
|
||||
- id: shfmt
|
||||
|
||||
- repo: https://github.com/rhysd/actionlint
|
||||
rev: v1.7.7
|
||||
rev: v1.7.10
|
||||
hooks:
|
||||
- id: actionlint
|
||||
|
||||
- repo: https://github.com/renovatebot/pre-commit-hooks
|
||||
rev: 41.17.2
|
||||
hooks:
|
||||
- id: renovate-config-validator
|
||||
|
||||
- repo: https://github.com/JohnnyMorganz/StyLua
|
||||
rev: v2.1.0
|
||||
rev: v2.3.1
|
||||
hooks:
|
||||
- id: stylua # or stylua-system / stylua-github
|
||||
exclude: hammerspoon\.types\.lua$
|
||||
|
||||
- repo: https://github.com/hugoh/pre-commit-fish.git
|
||||
rev: v1.2
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
# vim: ft=gitignore
|
||||
.mypy_cache/*
|
||||
Brewfile.lock.json
|
||||
config/cheat/cheatsheets/community
|
||||
config/cheat/cheatsheets/tldr
|
||||
config/fzf/*
|
||||
config/nvim/*
|
||||
config/op/plugins/used_plugins/*
|
||||
config/tmux/plugins/*
|
||||
config/zsh/*
|
||||
lazy-lock.json
|
||||
local/bin/antigen.zsh
|
||||
local/bin/asdf
|
||||
tools/antidote/*
|
||||
tools/dotbot*
|
||||
@@ -1,14 +0,0 @@
|
||||
module.exports = {
|
||||
...require('@ivuorinen/prettier-config'),
|
||||
trailingComma: 'all',
|
||||
// Add custom options below:
|
||||
overrides: [
|
||||
{
|
||||
files: '*.md',
|
||||
options: {
|
||||
printWidth: 120,
|
||||
proseWrap: 'preserve',
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
3.13.5
|
||||
3.14.2
|
||||
|
||||
1
.serena/.gitignore
vendored
Normal file
1
.serena/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/cache
|
||||
67
.serena/memories/areas_for_improvement.md
Normal file
67
.serena/memories/areas_for_improvement.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Areas for Improvement
|
||||
|
||||
## Code Quality Enhancements
|
||||
|
||||
### 1. Configuration Management
|
||||
|
||||
- **Inconsistent indentation**: Mixed tabs/spaces across config files
|
||||
- **Line length management**: Need consistent enforcement of limits
|
||||
- **Template standardization**: Memory files need consistent formatting template
|
||||
|
||||
### 2. Linting Configuration Improvements
|
||||
|
||||
- **Shellcheck exclusions**: Add proper ignore patterns for submodules
|
||||
- **EditorConfig refinement**: Some rules too strict for generated/third-party content
|
||||
- **Prettier ignore patterns**: Better exclusion of binary/generated files
|
||||
|
||||
### 3. Testing Infrastructure
|
||||
|
||||
- **Bats test errors**: Tests failing due to missing `rm` command in PATH
|
||||
- **Test coverage**: Limited test coverage for shell functions
|
||||
- **CI/CD integration**: Need automated linting in GitHub Actions
|
||||
|
||||
### 4. Documentation Gaps
|
||||
|
||||
- **Onboarding docs**: Missing clear setup instructions for new contributors
|
||||
- **Troubleshooting guide**: Need common error resolution steps
|
||||
- **Architecture overview**: Missing high-level system architecture
|
||||
|
||||
## Performance & Maintenance
|
||||
|
||||
### 5. Submodule Management
|
||||
|
||||
- **Large submodules**: Some submodules contain unnecessary files
|
||||
- **Update frequency**: Need systematic submodule update process
|
||||
- **Dependency tracking**: Better documentation of submodule purposes
|
||||
|
||||
### 6. Cross-Platform Considerations
|
||||
|
||||
- **Darwin-specific paths**: Some hardcoded macOS paths could be parameterized
|
||||
- **Shell compatibility**: More testing across bash/zsh/fish environments
|
||||
- **Tool availability**: Better fallbacks when optional tools missing
|
||||
|
||||
### 7. Security & Privacy
|
||||
|
||||
- **Secret management**: Better examples for secret configuration
|
||||
- **Permission handling**: Some scripts could use more restrictive permissions
|
||||
- **Audit trail**: Track configuration changes and their impact
|
||||
|
||||
## Development Workflow
|
||||
|
||||
### 8. Automation Opportunities
|
||||
|
||||
- **Auto-formatting**: Pre-commit hooks for consistent formatting
|
||||
- **Dependency updates**: Automated updates for package.json dependencies
|
||||
- **Health checks**: Scripts to validate configuration integrity
|
||||
|
||||
### 9. Error Handling
|
||||
|
||||
- **Graceful degradation**: Better fallbacks when tools unavailable
|
||||
- **Error messages**: More informative error output
|
||||
- **Recovery procedures**: Automated recovery from common failures
|
||||
|
||||
### 10. Modularity
|
||||
|
||||
- **Configuration splitting**: Some large config files could be modularized
|
||||
- **Feature flags**: Optional components for minimal installations
|
||||
- **Host-specific configs**: Better organization of machine-specific settings
|
||||
50
.serena/memories/code_style_conventions.md
Normal file
50
.serena/memories/code_style_conventions.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Code Style and Conventions
|
||||
|
||||
## EditorConfig Rules (.editorconfig)
|
||||
|
||||
- **Charset**: UTF-8
|
||||
- **Line endings**: LF
|
||||
- **Indent style**: Spaces (except for specific files)
|
||||
- **Indent size**: 2 spaces (default)
|
||||
- **Final newline**: Required
|
||||
- **Trailing whitespace**: Trimmed
|
||||
|
||||
### Language-specific Rules
|
||||
|
||||
- **Fish scripts**: 4-space indent, 80 char line limit
|
||||
- **PHP files**: 4-space indent
|
||||
- **Markdown**: 120 char line limit
|
||||
- **Lua**: 90 char line limit
|
||||
- **Git files**: Tab indentation
|
||||
- **Shell scripts**: 2-space indent with specific shfmt settings
|
||||
|
||||
## Prettier Configuration
|
||||
|
||||
- Extends `@ivuorinen/prettier-config`
|
||||
- **Trailing commas**: Always
|
||||
- **Markdown**: 120 char width, preserve prose wrapping
|
||||
|
||||
## ESLint Configuration
|
||||
|
||||
- Extends `@ivuorinen` base configuration
|
||||
- Applied to JavaScript/TypeScript files
|
||||
|
||||
## Shell Script Standards (.shellcheckrc)
|
||||
|
||||
- External sources following enabled
|
||||
- Disabled checks: SC2039, SC2166, SC2154, SC1091, SC2174, SC2016
|
||||
- Must include shebang or `# shellcheck shell=bash`
|
||||
|
||||
## Formatting Tools
|
||||
|
||||
- **Shell scripts**: shfmt with specific rules
|
||||
- **Markdown**: markdownlint + prettier
|
||||
- **JavaScript/TypeScript**: prettier + eslint
|
||||
- **YAML**: yamllint
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
- **Shell functions**: Use `x-` prefix for cross-shell compatibility
|
||||
- **Environment variables**: UPPERCASE with underscores
|
||||
- **File names**: lowercase with hyphens for scripts
|
||||
- **Directory structure**: lowercase, organized by tool/purpose
|
||||
80
.serena/memories/critical_linting_errors.md
Normal file
80
.serena/memories/critical_linting_errors.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# Critical Linting Errors That Must Be Fixed
|
||||
|
||||
## Current Status: BLOCKING Issues Identified
|
||||
|
||||
The linting system has revealed 150+ violations across multiple categories that must be addressed immediately.
|
||||
|
||||
## EditorConfig Violations (High Priority)
|
||||
|
||||
### Missing Final Newlines
|
||||
|
||||
- All `.serena/memories/*.md` files missing final newlines
|
||||
- Multiple project configuration files affected
|
||||
- This is a BLOCKING issue per user instructions
|
||||
|
||||
### Line Length Violations
|
||||
|
||||
- Fish shell configs exceed 80-character limit (`.editorconfig` enforced)
|
||||
- Memory files have lines exceeding 120-character limit
|
||||
- WezTerm configuration files have long lines
|
||||
|
||||
### Indentation Errors
|
||||
|
||||
- Git configuration using tabs instead of spaces
|
||||
- WezTerm color scheme files using tabs vs spaces
|
||||
- Perl scripts with inconsistent indentation
|
||||
|
||||
## Markdownlint Issues (Memory Files)
|
||||
|
||||
### Systematic Problems Across All Memory Files
|
||||
|
||||
- Missing blank lines around headings (MD022)
|
||||
- Lists not surrounded by blank lines (MD032)
|
||||
- Fenced code blocks not surrounded by blank lines (MD031)
|
||||
- Trailing punctuation in headings (MD026)
|
||||
- Missing language specification for fenced code blocks (MD040)
|
||||
- Missing final newlines (MD047)
|
||||
|
||||
### Specific Files Affected
|
||||
|
||||
- `areas_for_improvement.md`: 20+ violations
|
||||
- `code_style_conventions.md`: 15+ violations
|
||||
- `critical_linting_errors.md`: 25+ violations
|
||||
- `darwin_system_utilities.md`: 15+ violations
|
||||
- `immediate_action_items.md`: 25+ violations
|
||||
- `project_overview.md`: 15+ violations
|
||||
- `project_structure.md`: 20+ violations
|
||||
- `shellcheck_issues.md`: 15+ violations
|
||||
- `suggested_commands.md`: 25+ violations
|
||||
- `task_completion_checklist.md`: 10+ violations
|
||||
|
||||
## Prettier Formatting Issues
|
||||
|
||||
### JSON Configuration Files
|
||||
|
||||
- `.commitlintrc.json`, `.eslintrc.json`, `.luarc.json`
|
||||
- `.releaserc.json`, `.github/renovate.json`
|
||||
- Host-specific configurations in `config/` directory
|
||||
|
||||
### YAML Files
|
||||
|
||||
- `.mega-linter.yml` formatting inconsistencies
|
||||
- Various configuration files needing formatting
|
||||
|
||||
## Immediate Action Required
|
||||
|
||||
1. **Fix memory files**: Apply markdown formatting rules
|
||||
2. **Run auto-fixers**: `yarn fix` to address automatic fixes
|
||||
3. **Manual corrections**: Address remaining EditorConfig violations
|
||||
4. **Validation**: Ensure `yarn lint` passes completely
|
||||
|
||||
## Impact Assessment
|
||||
|
||||
These violations prevent:
|
||||
|
||||
- Successful CI/CD pipeline execution
|
||||
- Code quality standards compliance
|
||||
- Pre-commit hook success
|
||||
- Project maintainability standards
|
||||
|
||||
Per user instructions: "Linting issues ARE NOT ACCEPTABLE" and "EditorConfig problems are blocking errors"
|
||||
66
.serena/memories/darwin_system_utilities.md
Normal file
66
.serena/memories/darwin_system_utilities.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# Darwin (macOS) System Utilities
|
||||
|
||||
## Available Command Paths
|
||||
|
||||
Based on the current system setup:
|
||||
|
||||
### Core System Commands
|
||||
|
||||
- `git`: `/opt/homebrew/bin/git` (Homebrew version)
|
||||
- `find`: `/usr/bin/find` (system version)
|
||||
- `cd`: shell built-in command
|
||||
- `ls`: aliased to `eza -h -s=type --git --icons --group-directories-first`
|
||||
- `grep`: aliased to `grep --color`
|
||||
|
||||
### Modern Alternatives (Rust-based)
|
||||
|
||||
- `fd`: `/Users/ivuorinen/.local/share/cargo/bin/fd` (modern find)
|
||||
- `rg`: `/Users/ivuorinen/.local/share/cargo/bin/rg` (ripgrep for text search)
|
||||
|
||||
## Recommended Usage Patterns
|
||||
|
||||
### File Search
|
||||
|
||||
```bash
|
||||
# Use fd instead of find when possible
|
||||
fd "*.sh" # Find shell scripts
|
||||
fd -t f -e lua # Find Lua files
|
||||
find . -name "*.sh" # Fallback to system find
|
||||
```
|
||||
|
||||
### Text Search
|
||||
|
||||
```bash
|
||||
# Use rg (ripgrep) instead of grep when possible
|
||||
rg "function.*bash" # Search for bash functions
|
||||
rg -t shell "export" # Search in shell files only
|
||||
grep "pattern" file.txt # Fallback to system grep
|
||||
```
|
||||
|
||||
### Directory Navigation
|
||||
|
||||
```bash
|
||||
# Use eza features via ls alias
|
||||
ls # Shows icons, git status, grouped directories
|
||||
ls -la # Long format with hidden files
|
||||
cd /full/path # Always use full paths in scripts
|
||||
```
|
||||
|
||||
## Path Configuration
|
||||
|
||||
The system is configured with these PATH priorities:
|
||||
|
||||
1. `~/.local/bin` (user scripts)
|
||||
2. `~/.dotfiles/local/bin` (dotfiles scripts)
|
||||
3. `~/.local/share/bob/nvim-bin` (Neovim)
|
||||
4. `~/.local/share/cargo/bin` (Rust tools like fd, rg)
|
||||
5. `/opt/homebrew/bin` (Homebrew packages)
|
||||
6. `/usr/local/bin` (system packages)
|
||||
|
||||
## Shell Compatibility
|
||||
|
||||
The dotfiles support multiple shells through `config/shared.sh`:
|
||||
|
||||
- Functions prefixed with `x-` work across bash, zsh, and fish
|
||||
- Path management handled automatically per shell
|
||||
- Environment variables set appropriately per shell
|
||||
114
.serena/memories/immediate_action_items.md
Normal file
114
.serena/memories/immediate_action_items.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# Immediate Action Items - Priority Order
|
||||
|
||||
## HIGH PRIORITY (Must Fix Before Any Development)
|
||||
|
||||
### 1. Fix Memory File Formatting (BLOCKING)
|
||||
|
||||
```bash
|
||||
# These files prevent any linting from passing:
|
||||
- .serena/memories/code_style_conventions.md
|
||||
- .serena/memories/darwin_system_utilities.md
|
||||
- .serena/memories/project_overview.md
|
||||
- .serena/memories/project_structure.md
|
||||
- .serena/memories/suggested_commands.md
|
||||
- .serena/memories/task_completion_checklist.md
|
||||
|
||||
# Issues: Missing final newlines, markdown formatting, line length
|
||||
# Impact: Blocks all linting commands
|
||||
```
|
||||
|
||||
### 2. Fix Fish Shell Line Length Violations (BLOCKING)
|
||||
|
||||
```bash
|
||||
# Files exceeding 80-char limit:
|
||||
config/fish/alias.fish (4 violations)
|
||||
config/fish/exports.fish (15 violations)
|
||||
|
||||
# These are CRITICAL - Fish config has strict limits
|
||||
# Must be fixed before any fish-related changes
|
||||
```
|
||||
|
||||
### 3. Fix Git Configuration Indentation (BLOCKING)
|
||||
|
||||
```bash
|
||||
# Files with tab/space mixing:
|
||||
config/git/shared (40+ violations)
|
||||
hosts/s/config/git/overrides/config
|
||||
hosts/s/config/git/local.d/work-git
|
||||
|
||||
# Impact: Git configuration may not work correctly
|
||||
```
|
||||
|
||||
## MEDIUM PRIORITY (Fix During Next Development Cycle)
|
||||
|
||||
### 4. Prettier Formatting Issues
|
||||
|
||||
```bash
|
||||
# 17 files need prettier formatting:
|
||||
yarn fix:prettier
|
||||
# Most are JSON/YAML configuration files
|
||||
```
|
||||
|
||||
### 5. WezTerm Color Scheme Indentation
|
||||
|
||||
```bash
|
||||
# All files in config/wezterm/colors/ using tabs instead of spaces
|
||||
# Affects terminal appearance configuration
|
||||
```
|
||||
|
||||
### 6. Update Linting Configuration
|
||||
|
||||
```bash
|
||||
# Add shellcheck exclusions for submodules:
|
||||
# - tools/antidote/
|
||||
# - config/tmux/plugins/
|
||||
# - config/vim/extra/fzf/
|
||||
# - config/cheat/cheatsheets/tldr/
|
||||
```
|
||||
|
||||
## LOW PRIORITY (Future Improvements)
|
||||
|
||||
### 7. Test Infrastructure
|
||||
|
||||
```bash
|
||||
# Fix bats test PATH issues
|
||||
# Tests pass but show rm command not found errors
|
||||
```
|
||||
|
||||
### 8. Documentation Updates
|
||||
|
||||
```bash
|
||||
# Add troubleshooting section to AGENTS.md
|
||||
# Create shellcheck exclusion documentation
|
||||
```
|
||||
|
||||
## Immediate Commands to Run
|
||||
|
||||
### Step 1: Auto-fix What's Possible
|
||||
|
||||
```bash
|
||||
yarn fix:prettier # Fix 17 files
|
||||
yarn fix:markdown # Attempt markdown fixes
|
||||
```
|
||||
|
||||
### Step 2: Manual Fixes Required
|
||||
|
||||
- Add final newlines to all memory files
|
||||
- Wrap long lines in Fish configuration files
|
||||
- Convert tabs to spaces in Git configuration files
|
||||
|
||||
### Step 3: Verify Progress
|
||||
|
||||
```bash
|
||||
yarn lint:ec # Check EditorConfig compliance
|
||||
yarn lint:markdown # Check markdown issues
|
||||
yarn lint:prettier # Check remaining prettier issues
|
||||
```
|
||||
|
||||
## Success Criteria
|
||||
|
||||
✅ `yarn lint` passes without errors
|
||||
✅ All EditorConfig violations resolved
|
||||
✅ Memory files properly formatted
|
||||
✅ Fish configuration under line limits
|
||||
✅ Git configuration uses consistent indentation
|
||||
61
.serena/memories/project_overview.md
Normal file
61
.serena/memories/project_overview.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# .dotfiles Project Overview
|
||||
|
||||
## Purpose
|
||||
|
||||
This is a comprehensive personal dotfiles repository for managing development
|
||||
environment configurations across macOS systems. The project uses **Dotbot** as
|
||||
the primary installation framework to manage symlinks and setup configurations.
|
||||
|
||||
## Key Features
|
||||
|
||||
- Automated configuration management using Dotbot
|
||||
- Support for multiple development tools and applications
|
||||
- Host-specific configurations in `/hosts/` directory
|
||||
- Comprehensive testing and linting setup with pre-commit hooks
|
||||
- Cross-shell compatibility (bash, zsh, fish)
|
||||
- Large collection of custom utility scripts in `local/bin/`
|
||||
- Git submodules for external tools (dotbot, antidote, tmux plugins)
|
||||
- Environment-specific configurations (secrets management)
|
||||
|
||||
## Recent Notable Changes (from git status)
|
||||
|
||||
- New everforest color theme configurations added
|
||||
- Multiple temporary fish configuration files present
|
||||
- Updates to various configuration files (.commitlintrc.json, .eslintrc.json, etc.)
|
||||
- New x-pr-comments script and documentation added
|
||||
- Various tmux plugin updates
|
||||
- Husky configuration relocated from base/ to config/husky/
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Shell**: Bash (primary), with Fish and Zsh support
|
||||
- **Configuration Manager**: Dotbot with plugins (asdf, brew, include, pip)
|
||||
- **Package Manager**: Yarn 1.22.22 (Node.js), Homebrew (macOS), pipx (Python)
|
||||
- **Testing**: Bats test framework, custom test-all.sh script
|
||||
- **Linting**: MegaLinter, Prettier, ESLint, Markdownlint, ShellCheck, EditorConfig
|
||||
- **Automation**: Pre-commit hooks, GitHub Actions, Renovate
|
||||
|
||||
## Project Structure Highlights
|
||||
|
||||
- `/config/` - Main configuration directory (74+ subdirectories)
|
||||
- `/local/bin/` - Custom utility scripts (100+ scripts with documentation)
|
||||
- `/hosts/` - Host-specific configurations
|
||||
- `/tools/` - Git submodules for external tools
|
||||
- `/base/` - Base configuration files
|
||||
- `/secrets/` - Secret management configurations
|
||||
- `/scripts/` - Installation and setup scripts
|
||||
- `/.github/` - GitHub Actions workflows and configurations
|
||||
|
||||
## Target System
|
||||
|
||||
- **Platform**: Darwin (macOS) - Version 24.6.0
|
||||
- **Architecture**: Universal (Intel/Apple Silicon via Homebrew)
|
||||
- **Dependencies**: Git, Homebrew, Yarn, various CLI tools managed via asdf/aqua
|
||||
|
||||
## Development Environment
|
||||
|
||||
- Node.js managed via nvm/asdf
|
||||
- Go version specified (.go-version)
|
||||
- Python version specified (.python-version)
|
||||
- Package management via Yarn with lockfile
|
||||
- TypeScript support for configuration files
|
||||
116
.serena/memories/project_structure.md
Normal file
116
.serena/memories/project_structure.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# Project Structure
|
||||
|
||||
## Root Directory
|
||||
|
||||
```text
|
||||
.dotfiles/
|
||||
├── install # Main installation script (Dotbot runner)
|
||||
├── install.conf.yaml # Dotbot configuration
|
||||
├── package.json # Node.js dependencies for linting/testing (Yarn managed)
|
||||
├── AGENTS.md # Project documentation and guidelines
|
||||
├── test-all.sh # Bats test runner
|
||||
├── add-submodules.sh # Git submodule management
|
||||
└── .serena/ # Claude Code/Serena analysis cache (new)
|
||||
```
|
||||
|
||||
## Main Directories
|
||||
|
||||
### `config/` (74+ subdirectories)
|
||||
|
||||
Configuration files for development tools and applications:
|
||||
|
||||
- `git/` - Git configuration with delta integration and everforest theme
|
||||
- `nvim/` - Neovim configuration with Lua plugins
|
||||
- `tmux/` - Tmux configuration with multiple plugins (dark-notify, window-name, etc.)
|
||||
- `fish/` - Fish shell configuration with completions and functions
|
||||
- `zsh/` - Zsh configuration with antidote plugin manager
|
||||
- `fzf/` - Fuzzy finder configuration with everforest theme
|
||||
- `wezterm/` - WezTerm terminal configuration
|
||||
- `homebrew/` - Homebrew environment configuration
|
||||
- `starship.toml` - Starship prompt configuration
|
||||
- `shared.sh` - Cross-shell compatibility functions
|
||||
- `aerospace/`, `amethyst/`, `yabai/`, `skhd/` - Window managers
|
||||
- `direnv/`, `asdf/`, `aqua/` - Development environment tools
|
||||
- `gpg-tui/`, `op/`, `gh/` - Security and CLI tools
|
||||
- Theme configurations: everforest color schemes across multiple tools
|
||||
|
||||
### `base/`
|
||||
|
||||
Dotfiles that get symlinked to home directory with `.` prefix:
|
||||
|
||||
- Contains traditional dotfiles like `.bashrc`, `.zshrc`, etc.
|
||||
- `plan` - Planning/note-taking configuration
|
||||
- `shellcheckrc` - ShellCheck rules
|
||||
|
||||
### `local/`
|
||||
|
||||
- `bin/` - 100+ custom scripts with comprehensive documentation
|
||||
- Homegrown utilities (dfm, git tools, backup scripts, etc.)
|
||||
- Sourced utilities (from skx/sysadmin-util, mvdan/dotfiles)
|
||||
- Each script has corresponding .md documentation
|
||||
- Recent additions: x-pr-comments for GitHub PR analysis
|
||||
- `share/fonts/` - JetBrains Mono font files
|
||||
- `man/` - Manual pages
|
||||
|
||||
### `ssh/`
|
||||
|
||||
SSH configuration files (mode 0600/0700)
|
||||
|
||||
- `shared.d/` - Shared SSH configurations for specific hosts
|
||||
|
||||
### `tools/` (Git submodules)
|
||||
|
||||
External tools and Dotbot plugins:
|
||||
|
||||
- `dotbot/` - Dotbot installation framework
|
||||
- `dotbot-*` - Dotbot plugins (asdf, brew, include, pip)
|
||||
- `antidote/` - Zsh plugin manager
|
||||
- Various tmux plugins (continuum, resurrect, yank, etc.)
|
||||
|
||||
### `hosts/`
|
||||
|
||||
Host-specific configurations:
|
||||
|
||||
- `air/`, `s/`, `v/` - Individual host configurations
|
||||
- Applied after main configuration
|
||||
|
||||
### `secrets/`
|
||||
|
||||
Secret and credential management configuration
|
||||
|
||||
### `scripts/`
|
||||
|
||||
Installation and setup automation scripts
|
||||
|
||||
### `.github/`
|
||||
|
||||
- GitHub Actions workflows
|
||||
- Renovate configuration
|
||||
- Issue templates and documentation
|
||||
|
||||
### Development Configuration Files
|
||||
|
||||
- `.editorconfig` - Editor configuration rules
|
||||
- `.prettierrc.js` - Prettier formatting rules
|
||||
- `.eslintrc.json` - ESLint linting rules
|
||||
- `.commitlintrc.json` - Commit message linting
|
||||
- `.shellcheckrc` - ShellCheck configuration
|
||||
- `.mega-linter.yml` - MegaLinter configuration
|
||||
- `.luarc.json` - Lua language server configuration
|
||||
- `.nvmrc`, `.go-version`, `.python-version` - Version management
|
||||
- Various ignore files (.gitignore, .prettierignore, .yamlignore, etc.)
|
||||
|
||||
## Testing Infrastructure
|
||||
|
||||
- `tests/` - Bats test files
|
||||
- `test-all.sh` - Main test runner
|
||||
- Pre-commit hooks for automated testing
|
||||
- GitHub Actions for CI/CD
|
||||
|
||||
## Recent Structural Changes
|
||||
|
||||
- Husky configuration moved from `base/huskyrc` to `config/husky/init.sh`
|
||||
- Addition of everforest theme configurations across multiple tools
|
||||
- New .serena directory for AI analysis caching
|
||||
- Multiple temporary fish configuration files (everforest themes)
|
||||
- Enhanced git configuration with delta and everforest theming
|
||||
62
.serena/memories/shellcheck_issues.md
Normal file
62
.serena/memories/shellcheck_issues.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# ShellCheck Issues Analysis
|
||||
|
||||
## Critical Shell Script Problems
|
||||
|
||||
### Missing Shebangs (SC2148)
|
||||
|
||||
Multiple shell scripts missing proper shebang lines:
|
||||
|
||||
- `tools/antidote/tests/` - Test scripts
|
||||
- `config/vim/*/test/lib/common.sh` - FZF test libraries
|
||||
- `config/tmux/plugins/*/scripts/helpers.sh` - Plugin helper scripts
|
||||
- Various submodule scripts
|
||||
|
||||
### Syntax Errors (SC1036, SC1088, SC1073)
|
||||
|
||||
- `config/vim/fzf/test/lib/common.sh` - Invalid ERB template syntax
|
||||
- `config/cheat/cheatsheets/tldr/` - Markdown files incorrectly parsed as shell
|
||||
- `tmux-sessionist/scripts/list_sessions.sh` - Brace parsing errors
|
||||
|
||||
### Variable Assignment Issues (SC1007, SC2155)
|
||||
|
||||
- `config/vim/extra/fzf/test/lib/common.sh` - Incorrect empty variable assignments
|
||||
- Multiple tmux plugin scripts - Declare and assign should be separate
|
||||
|
||||
### Quoting Problems (SC2086, SC2006)
|
||||
|
||||
- Unquoted variable expansions in tmux plugin scripts
|
||||
- Legacy backtick usage instead of $(...) syntax
|
||||
- Missing quotes around variable expansions
|
||||
|
||||
## Third-Party Code Issues
|
||||
|
||||
### Submodule Problems
|
||||
|
||||
Most shellcheck errors are in **third-party submodules**:
|
||||
|
||||
- `tools/antidote/` - Zsh plugin manager
|
||||
- `config/tmux/plugins/` - Tmux plugins
|
||||
- `config/vim/extra/fzf/` - FZF integration
|
||||
- `config/cheat/cheatsheets/tldr/` - Cheat sheet collection
|
||||
|
||||
### Recommendation
|
||||
|
||||
- These should be **excluded from shellcheck** via configuration
|
||||
- Focus linting only on **project-owned scripts**
|
||||
- Add shellcheck ignore patterns for submodule directories
|
||||
|
||||
## Project-Owned Script Issues
|
||||
|
||||
### Main Scripts Status
|
||||
|
||||
- `install` - ✅ Clean (no shellcheck errors)
|
||||
- `test-all.sh` - ✅ Clean
|
||||
- `add-submodules.sh` - ✅ Clean
|
||||
- `config/shared.sh` - ✅ Clean
|
||||
- Scripts in `local/bin/` - ✅ Mostly clean
|
||||
|
||||
### Minor Issues Found
|
||||
|
||||
- Some scripts could benefit from stricter quoting
|
||||
- Consistent shebang usage across all scripts
|
||||
- Consider adding `set -euo pipefail` to more scripts
|
||||
121
.serena/memories/suggested_commands.md
Normal file
121
.serena/memories/suggested_commands.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# Essential Commands for .dotfiles Development
|
||||
|
||||
## Installation & Setup
|
||||
|
||||
```bash
|
||||
# Initial setup - install linting tools and dependencies
|
||||
yarn install
|
||||
|
||||
# Install/update all dotfiles configurations
|
||||
./install
|
||||
|
||||
# Update git submodules (multiple approaches)
|
||||
git submodule update --remote --merge
|
||||
git submodule update --init --recursive --force
|
||||
bash add-submodules.sh
|
||||
```
|
||||
|
||||
## Development Commands
|
||||
|
||||
```bash
|
||||
# Linting (run all linters - ALWAYS fix all issues)
|
||||
yarn lint
|
||||
|
||||
# Individual linting commands
|
||||
yarn lint:markdown # Markdownlint
|
||||
yarn lint:prettier # Prettier check
|
||||
yarn lint:ec # EditorConfig checker
|
||||
|
||||
# Auto-fixing (use these BEFORE manual linting)
|
||||
yarn fix # Fix all format issues
|
||||
yarn fix:markdown # Fix markdown formatting
|
||||
yarn fix:prettier # Fix prettier formatting
|
||||
|
||||
# Testing
|
||||
yarn test # Run all Bats tests
|
||||
bash test-all.sh # Alternative test runner
|
||||
```
|
||||
|
||||
## Pre-commit Hooks (Comprehensive)
|
||||
|
||||
Current pre-commit configuration includes:
|
||||
|
||||
- **Security**: detect-aws-credentials, detect-private-key
|
||||
- **File integrity**: check-case-conflict, check-merge-conflict, check-symlinks
|
||||
- **Shell scripts**: shellcheck, shfmt (formatting)
|
||||
- **YAML/JSON**: yamllint, check-yaml, check-toml, pretty-format-json
|
||||
- **Markdown**: markdownlint with auto-fix
|
||||
- **Lua**: stylua formatting for Neovim configs
|
||||
- **Fish**: fish_syntax, fish_indent for shell configs
|
||||
- **GitHub Actions**: actionlint validation
|
||||
- **Renovate**: renovate-config-validator
|
||||
- **General**: trailing-whitespace, end-of-file-fixer, mixed-line-ending
|
||||
|
||||
```bash
|
||||
# Run pre-commit manually
|
||||
pre-commit run --all-files
|
||||
```
|
||||
|
||||
## Version Management
|
||||
|
||||
```bash
|
||||
# Check current versions
|
||||
node --version # Managed by nvm (.nvmrc: v20.18.1)
|
||||
go version # Managed by asdf (.go-version)
|
||||
python --version # Managed by asdf (.python-version)
|
||||
```
|
||||
|
||||
## System Utilities (Darwin-specific)
|
||||
|
||||
```bash
|
||||
# Modern CLI tools available
|
||||
ls # aliased to eza with icons and git info
|
||||
grep # aliased to grep --color
|
||||
fd pattern # modern find alternative
|
||||
rg pattern # ripgrep for text search
|
||||
bat file # modern cat with syntax highlighting
|
||||
```
|
||||
|
||||
## Project-specific Scripts (100+ available)
|
||||
|
||||
```bash
|
||||
# Dotfiles management
|
||||
bash local/bin/dfm install all
|
||||
|
||||
# Git utilities
|
||||
git-dirty # Check for dirty git repositories
|
||||
git-fsck-dirs # Run fsck on git directories
|
||||
git-update-dirs # Update multiple git directories
|
||||
|
||||
# Development utilities
|
||||
x-pr-comments <pr> # Analyze GitHub PR comments (NEW)
|
||||
x-set-php-aliases # Generate PHP version aliases
|
||||
x-env-list # List environment variables
|
||||
x-open-ports # Check open network ports
|
||||
|
||||
# Backup utilities
|
||||
x-backup-folder # Backup directories
|
||||
x-backup-mysql-with-prefix # MySQL backup with prefix
|
||||
```
|
||||
|
||||
## Configuration Management
|
||||
|
||||
```bash
|
||||
# Load shell configurations
|
||||
source config/shared.sh # Cross-shell compatibility functions
|
||||
source x-set-php-aliases # PHP version management
|
||||
|
||||
# Host-specific configurations
|
||||
# Automatically applied: hosts/{hostname}/
|
||||
```
|
||||
|
||||
## Quality Assurance (CRITICAL)
|
||||
|
||||
**All linting errors are BLOCKING and must be fixed:**
|
||||
|
||||
- EditorConfig violations are considered blocking errors
|
||||
- ShellCheck warnings must be addressed
|
||||
- Prettier formatting must be consistent
|
||||
- Markdownlint rules must be followed
|
||||
- NEVER use --no-verify with git operations
|
||||
- ALWAYS run autofixers before manual intervention
|
||||
115
.serena/memories/task_completion_checklist.md
Normal file
115
.serena/memories/task_completion_checklist.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Task Completion Checklist
|
||||
|
||||
When completing any development task in this dotfiles repository, follow this
|
||||
checklist to ensure compliance with project standards.
|
||||
|
||||
## Required Steps (BLOCKING)
|
||||
|
||||
### 1. Code Quality Checks
|
||||
|
||||
```bash
|
||||
# Run all linting tools - MUST PASS with zero errors
|
||||
yarn lint
|
||||
|
||||
# Individual checks if needed:
|
||||
yarn lint:markdown # Markdownlint validation
|
||||
yarn lint:prettier # Prettier formatting check
|
||||
yarn lint:ec # EditorConfig compliance verification
|
||||
```
|
||||
|
||||
### 2. Shell Script Validation (if applicable)
|
||||
|
||||
```bash
|
||||
# All shell scripts must pass shellcheck without warnings
|
||||
find . -path ./node_modules -prune -o -name '*.sh' -print0 | xargs -0 shellcheck
|
||||
|
||||
# For individual scripts:
|
||||
shellcheck path/to/script.sh
|
||||
```
|
||||
|
||||
### 3. Testing Infrastructure
|
||||
|
||||
```bash
|
||||
# Run all tests - MUST PASS completely
|
||||
yarn test
|
||||
# OR alternative runner
|
||||
bash test-all.sh
|
||||
|
||||
# For specific test categories:
|
||||
# Bats tests in tests/ directory
|
||||
# Individual script functionality tests
|
||||
```
|
||||
|
||||
### 4. EditorConfig Compliance (CRITICAL)
|
||||
|
||||
- **BLOCKING REQUIREMENT**: EditorConfig violations prevent completion
|
||||
- All code must follow `.editorconfig` rules exactly:
|
||||
- UTF-8 charset
|
||||
- LF line endings
|
||||
- Final newline required
|
||||
- Trailing whitespace removal
|
||||
- Language-specific indentation (2-space default, 4-space for Fish)
|
||||
- Use autofixers before attempting manual fixes
|
||||
- Never modify linting configuration to bypass errors
|
||||
|
||||
## Auto-fixing Protocol
|
||||
|
||||
```bash
|
||||
# ALWAYS run auto-fixers first, in this order:
|
||||
yarn fix # Fix all auto-fixable issues
|
||||
yarn fix:markdown # Fix markdown formatting violations
|
||||
yarn fix:prettier # Fix code formatting issues
|
||||
|
||||
# Verify fixes applied correctly:
|
||||
yarn lint # Should show reduced error count
|
||||
```
|
||||
|
||||
## Pre-commit Hook Integration
|
||||
|
||||
Current pre-commit configuration enforces:
|
||||
|
||||
- Security checks (credentials, private keys)
|
||||
- Shell script validation (shellcheck, shfmt)
|
||||
- Markdown formatting (markdownlint with auto-fix)
|
||||
- YAML/JSON validation and formatting
|
||||
- Lua formatting (stylua for Neovim configs)
|
||||
- Fish shell syntax validation
|
||||
- GitHub Actions validation (actionlint)
|
||||
- Renovate configuration validation
|
||||
|
||||
## Memory File Maintenance
|
||||
|
||||
When updating memory files:
|
||||
|
||||
1. Follow markdown best practices (blank lines around headings/lists)
|
||||
2. Specify language for fenced code blocks
|
||||
3. Ensure final newline exists
|
||||
4. Respect line length limits (120 chars for markdown)
|
||||
5. Use proper heading hierarchy
|
||||
|
||||
## Critical Success Criteria
|
||||
|
||||
✅ **REQUIRED FOR TASK COMPLETION:**
|
||||
|
||||
- `yarn lint` exits with code 0 (no errors)
|
||||
- `yarn test` passes all test suites
|
||||
- EditorConfig compliance verified
|
||||
- No trailing whitespace or missing final newlines
|
||||
- Shell scripts have proper shebangs and pass shellcheck
|
||||
- All temporary/cache files cleaned up
|
||||
|
||||
❌ **BLOCKING ISSUES:**
|
||||
|
||||
- Any linting errors or warnings
|
||||
- EditorConfig violations of any kind
|
||||
- Test failures or incomplete test coverage
|
||||
- Use of `--no-verify` flag with git operations
|
||||
- Modified linting configurations to bypass errors
|
||||
|
||||
## Quality Assurance Notes
|
||||
|
||||
- **Use `which command`** to get full paths in scripts
|
||||
- **Prefer modern tools**: `rg` over `grep`, `fd` over `find`, `bat` over `cat`
|
||||
- **Test cross-shell compatibility**: bash, zsh, fish
|
||||
- **Validate host-specific configurations** don't break general setup
|
||||
- **Document any new utilities** in `local/bin/README.md`
|
||||
90
.serena/project.yml
Normal file
90
.serena/project.yml
Normal file
@@ -0,0 +1,90 @@
|
||||
# language of the project (csharp, python, rust, java, typescript, go, cpp, or ruby)
|
||||
# * For C, use cpp
|
||||
# * For JavaScript, use typescript
|
||||
# Special requirements:
|
||||
# * csharp: Requires the presence of a .sln file in the project folder.
|
||||
language: bash
|
||||
|
||||
# whether to use the project's gitignore file to ignore files
|
||||
# Added on 2025-04-07
|
||||
ignore_all_files_in_gitignore: true
|
||||
# list of additional paths to ignore
|
||||
# same syntax as gitignore, so you can use * and **
|
||||
# Was previously called `ignored_dirs`, please update your config if you are using that.
|
||||
# Added (renamed) on 2025-04-07
|
||||
ignored_paths:
|
||||
- '*.swp'
|
||||
- '*.tmp'
|
||||
- '*.tmp.*'
|
||||
- '.DS_Store'
|
||||
- '.git/**'
|
||||
- /config/cheat/cheatsheets/community/**
|
||||
- /config/cheat/cheatsheets/pure-bash-bible/**
|
||||
- /config/cheat/cheatsheets/tldr/**
|
||||
- /config/fish/cheatsheets/community/**
|
||||
- /config/fzf/**
|
||||
- /config/nvim/snippets/**
|
||||
- /config/nvim/spell/**
|
||||
- /config/op/plugins/**
|
||||
- /config/tmux/plugins/**
|
||||
- /config/vim/extra/**
|
||||
- /config/zsh/completions/**
|
||||
- /config/zsh/plugins/**
|
||||
- /local/man/fzf
|
||||
- /local/share/fonts
|
||||
- /tools/antidote
|
||||
- /tools/dotbot
|
||||
- /tools/dotbot-*/**
|
||||
- node_modules/**
|
||||
|
||||
# whether the project is in read-only mode
|
||||
# If set to true, all editing tools will be disabled and attempts to use them will result in an error
|
||||
# Added on 2025-04-18
|
||||
read_only: false
|
||||
|
||||
# list of tool names to exclude. We recommend not excluding any tools, see the readme for more details.
|
||||
# Below is the complete list of tools for convenience.
|
||||
# To make sure you have the latest list of tools, and to view their descriptions,
|
||||
# execute `uv run scripts/print_tool_overview.py`.
|
||||
#
|
||||
# * `activate_project`: Activates a project by name.
|
||||
# * `check_onboarding_performed`: Checks whether project onboarding was already performed.
|
||||
# * `create_text_file`: Creates/overwrites a file in the project directory.
|
||||
# * `delete_lines`: Deletes a range of lines within a file.
|
||||
# * `delete_memory`: Deletes a memory from Serena's project-specific memory store.
|
||||
# * `execute_shell_command`: Executes a shell command.
|
||||
# * `find_referencing_code_snippets`: Finds code snippets in which the symbol at the given location is referenced.
|
||||
# * `find_referencing_symbols`: Finds symbols that reference the symbol at the given location (optionally filtered by type).
|
||||
# * `find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (optionally filtered by type).
|
||||
# * `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes.
|
||||
# * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file.
|
||||
# * `initial_instructions`: Gets the initial instructions for the current project.
|
||||
# Should only be used in settings where the system prompt cannot be set,
|
||||
# e.g. in clients you have no control over, like Claude Desktop.
|
||||
# * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol.
|
||||
# * `insert_at_line`: Inserts content at a given line in a file.
|
||||
# * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol.
|
||||
# * `list_dir`: Lists files and directories in the given directory (optionally with recursion).
|
||||
# * `list_memories`: Lists memories in Serena's project-specific memory store.
|
||||
# * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building).
|
||||
# * `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with the necessary context).
|
||||
# * `read_file`: Reads a file within the project directory.
|
||||
# * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store.
|
||||
# * `remove_project`: Removes a project from the Serena configuration.
|
||||
# * `replace_lines`: Replaces a range of lines within a file with new content.
|
||||
# * `replace_symbol_body`: Replaces the full definition of a symbol.
|
||||
# * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen.
|
||||
# * `search_for_pattern`: Performs a search for a pattern in the project.
|
||||
# * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase.
|
||||
# * `switch_modes`: Activates modes by providing a list of their names
|
||||
# * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information.
|
||||
# * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on track with the current task.
|
||||
# * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed.
|
||||
# * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store.
|
||||
excluded_tools: []
|
||||
|
||||
# initial prompt for the project. It will always be given to the LLM upon activating the project
|
||||
# (contrary to the memories, which are loaded on demand).
|
||||
initial_prompt: ''
|
||||
|
||||
project_name: '.dotfiles'
|
||||
5
.sonarlint/connectedMode.json
Normal file
5
.sonarlint/connectedMode.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"sonarCloudOrganization": "ivuorinen",
|
||||
"projectKey": "ivuorinen_dotfiles",
|
||||
"region": "EU"
|
||||
}
|
||||
16
.yamlignore
16
.yamlignore
@@ -0,0 +1,16 @@
|
||||
# vim: ft=gitignore
|
||||
.mypy_cache/*
|
||||
Brewfile.lock.json
|
||||
config/cheat/cheatsheets/community
|
||||
config/cheat/cheatsheets/tldr
|
||||
config/fzf/*
|
||||
config/nvim/*
|
||||
config/op/plugins/used_plugins/*
|
||||
config/tmux/plugins/*
|
||||
config/vim/plugged/*
|
||||
config/zsh/*
|
||||
lazy-lock.json
|
||||
local/bin/antigen.zsh
|
||||
local/bin/asdf
|
||||
tools/antidote/*
|
||||
tools/dotbot*
|
||||
|
||||
21
.yamllint.yml
Normal file
21
.yamllint.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
extends: default
|
||||
|
||||
ignore: |
|
||||
node_modules
|
||||
tools
|
||||
config/tmux/plugins
|
||||
|
||||
rules:
|
||||
empty-lines:
|
||||
level: warning
|
||||
max: 1
|
||||
line-length:
|
||||
max: 200
|
||||
level: warning
|
||||
truthy:
|
||||
check-keys: false
|
||||
comments:
|
||||
min-spaces-from-content: 1
|
||||
trailing-spaces:
|
||||
level: warning
|
||||
1
.yarnrc.yml
Normal file
1
.yarnrc.yml
Normal file
@@ -0,0 +1 @@
|
||||
nodeLinker: node-modules
|
||||
55
AGENTS.md
Normal file
55
AGENTS.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Project guidelines
|
||||
|
||||
This repository contains configuration files and helper scripts for managing
|
||||
a development environment.
|
||||
Dotbot drives installation, and host-specific folders under `hosts/` contain extra configs.
|
||||
|
||||
## Setup
|
||||
|
||||
1. Run `yarn install` to fetch linting tools and the Bats test framework.
|
||||
2. Re-run `yarn install` whenever `package.json` changes.
|
||||
3. Yarn is the package manager of choice; avoid `npm` commands.
|
||||
|
||||
## Keeping the repository up to date
|
||||
|
||||
1. Update submodules with `git submodule update --remote --merge`.
|
||||
2. Pull the latest changes and run `./install`.
|
||||
|
||||
## Linting and tests
|
||||
|
||||
- Format files with:
|
||||
|
||||
```bash
|
||||
yarn fix:prettier
|
||||
yarn fix:markdown
|
||||
```
|
||||
|
||||
- Shell scripts must pass `shellcheck`.
|
||||
|
||||
```bash
|
||||
find . -path ./node_modules -prune -o -name '*.sh' -print0 | xargs -0 shellcheck
|
||||
```
|
||||
|
||||
- Ensure `.editorconfig` rules pass:
|
||||
|
||||
```bash
|
||||
tools/install-ec.sh
|
||||
ec
|
||||
```
|
||||
|
||||
- Execute tests with `yarn test` when code changes.
|
||||
|
||||
## Debugging lint issues
|
||||
|
||||
- `yarn lint:prettier` and `yarn lint:markdown` show formatting errors.
|
||||
- Ensure shell scripts have a shebang or `# shellcheck shell=bash` directive.
|
||||
- Consult `.shellcheckrc` for project specific checks.
|
||||
|
||||
Scripts rely on helpers in `config/shared.sh` so they run under Bash, Zsh and Fish by default.
|
||||
|
||||
## Commits and PRs
|
||||
|
||||
- Use Semantic Commit messages: `type(scope): summary`.
|
||||
- Keep PR titles in the same format.
|
||||
|
||||
<!-- vim: set ft=markdown spell spelllang=en_us cc=80 : -->
|
||||
@@ -41,7 +41,9 @@ git submodule add --name tmux/tmux-yank \
|
||||
git submodule add --name tmux/tmux-current-pane-hostname \
|
||||
-f https://github.com/soyuka/tmux-current-pane-hostname.git config/tmux/plugins/tmux-current-pane-hostname
|
||||
git submodule add --name tmux/tmux-dark-notify \
|
||||
-f https://github.com/erikw/tmux-dark-notify.git config/tmux/plugins/tmux-dark-notify
|
||||
-f https://github.com/ivuorinen/tmux-dark-notify.git config/tmux/plugins/tmux-dark-notify
|
||||
git submodule add --name tmux/catppuccin \
|
||||
-f https://github.com/catppuccin/tmux.git config/tmux/plugins/catppuccin
|
||||
|
||||
# Takes submodules and sets them to ignore all changes
|
||||
for MODULE in $(git config --file .gitmodules --get-regexp path | awk '{ print $2 }'); do
|
||||
|
||||
@@ -20,6 +20,16 @@
|
||||
"value": "Ismo Vuorinen"
|
||||
}
|
||||
],
|
||||
"masf": [
|
||||
{
|
||||
"key": "user.email",
|
||||
"value": "ismo@masf.fi"
|
||||
},
|
||||
{
|
||||
"key": "user.name",
|
||||
"value": "Ismo Vuorinen"
|
||||
}
|
||||
],
|
||||
"work": [
|
||||
{
|
||||
"key": "user.email",
|
||||
|
||||
15
base/hammerspoon/.luacheckrc
Normal file
15
base/hammerspoon/.luacheckrc
Normal file
@@ -0,0 +1,15 @@
|
||||
--
|
||||
-- These globals can be set and accessed:
|
||||
--
|
||||
globals = {
|
||||
"rawrequire",
|
||||
}
|
||||
|
||||
--
|
||||
-- These globals can only be accessed:
|
||||
--
|
||||
read_globals = {
|
||||
"hs",
|
||||
"ls",
|
||||
"spoon",
|
||||
}
|
||||
1010
base/hammerspoon/generate-hammerspoon-types.py
Executable file
1010
base/hammerspoon/generate-hammerspoon-types.py
Executable file
File diff suppressed because it is too large
Load Diff
17863
base/hammerspoon/hammerspoon.types.lua
Normal file
17863
base/hammerspoon/hammerspoon.types.lua
Normal file
File diff suppressed because it is too large
Load Diff
205
base/hammerspoon/init.lua
Normal file
205
base/hammerspoon/init.lua
Normal file
@@ -0,0 +1,205 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Hammerspoon config file │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
-- init.lua — Pure Hammerspoon window controls
|
||||
-- Converted from skhdrc logic; expanded with per‑display grids,
|
||||
-- app rules with groups, wrap‑around focus, cross‑display moves,
|
||||
-- and overlay/notification toggles.
|
||||
-- Author: Ismo Vuorinen (ivuorinen)
|
||||
|
||||
--------------------------------------------------
|
||||
-- Caps Lock as Meh key (Shift+Control+Alt)
|
||||
--------------------------------------------------
|
||||
-- Prerequisites:
|
||||
-- 1. Go to System Settings → Keyboard → Keyboard Shortcuts → Modifier Keys
|
||||
-- 2. Set Caps Lock to "No Action" (you mentioned you already did this)
|
||||
-- 3. Install Karabiner-Elements: brew install --cask karabiner-elements
|
||||
-- 4. Open Karabiner-Elements, go to "Simple Modifications"
|
||||
-- 5. Add: caps_lock → f18
|
||||
--
|
||||
-- Then you can use F18 as your Meh key in Hammerspoon:
|
||||
local f18 = hs.hotkey.modal.new()
|
||||
|
||||
-- Capture F18 key press/release
|
||||
hs.hotkey.bind({}, 'F18', function()
|
||||
f18:enter()
|
||||
end, function()
|
||||
f18:exit()
|
||||
end)
|
||||
|
||||
-- Meh (F18/Caps Lock) key bindings for window management
|
||||
-- These provide quick access to common window operations
|
||||
|
||||
-- Helper function to get focused window
|
||||
local function W()
|
||||
return hs.window.focusedWindow()
|
||||
end
|
||||
|
||||
-- Window positioning: thirds (U/I/O)
|
||||
f18:bind({}, 'u', function()
|
||||
local w = W()
|
||||
if w then
|
||||
w:moveToUnit({ x = 0, y = 0, w = 1 / 3, h = 1 }, 0)
|
||||
end
|
||||
end)
|
||||
f18:bind({}, 'i', function()
|
||||
local w = W()
|
||||
if w then
|
||||
w:moveToUnit({ x = 1 / 3, y = 0, w = 1 / 3, h = 1 }, 0)
|
||||
end
|
||||
end)
|
||||
f18:bind({}, 'o', function()
|
||||
local w = W()
|
||||
if w then
|
||||
w:moveToUnit({ x = 2 / 3, y = 0, w = 1 / 3, h = 1 }, 0)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Window positioning: half width, full height (Y)
|
||||
f18:bind({}, 'y', function()
|
||||
local w = W()
|
||||
if w then
|
||||
w:moveToUnit({ x = 0, y = 0, w = 0.5, h = 1 }, 0)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Cycle through all windows (H/L)
|
||||
-- We need to maintain state to properly cycle through all windows
|
||||
local windowCycleIndex = 1
|
||||
local windowCycleList = {}
|
||||
local lastCycleTime = 0
|
||||
|
||||
local function getWindowCycleList()
|
||||
local currentTime = hs.timer.secondsSinceEpoch()
|
||||
-- Reset if more than 2 seconds have passed since last cycle
|
||||
if currentTime - lastCycleTime > 2 then
|
||||
windowCycleIndex = 1
|
||||
windowCycleList = hs.window.orderedWindows()
|
||||
end
|
||||
lastCycleTime = currentTime
|
||||
return windowCycleList
|
||||
end
|
||||
|
||||
f18:bind({}, 'h', function()
|
||||
local windows = getWindowCycleList()
|
||||
if #windows <= 1 then
|
||||
return
|
||||
end
|
||||
|
||||
-- Cycle backward
|
||||
windowCycleIndex = windowCycleIndex - 1
|
||||
if windowCycleIndex < 1 then
|
||||
windowCycleIndex = #windows
|
||||
end
|
||||
|
||||
windows[windowCycleIndex]:focus()
|
||||
end)
|
||||
|
||||
f18:bind({}, 'l', function()
|
||||
local windows = getWindowCycleList()
|
||||
if #windows <= 1 then
|
||||
return
|
||||
end
|
||||
|
||||
-- Cycle forward
|
||||
windowCycleIndex = windowCycleIndex + 1
|
||||
if windowCycleIndex > #windows then
|
||||
windowCycleIndex = 1
|
||||
end
|
||||
|
||||
windows[windowCycleIndex]:focus()
|
||||
end)
|
||||
|
||||
-- Window sizing: maximize (Up/J) and center (Down)
|
||||
f18:bind({}, 'up', function()
|
||||
local w = W()
|
||||
if w then
|
||||
w:maximize(0)
|
||||
end
|
||||
end)
|
||||
f18:bind({}, 'j', function()
|
||||
local w = W()
|
||||
if w then
|
||||
w:maximize(0)
|
||||
end
|
||||
end)
|
||||
f18:bind({}, 'down', function()
|
||||
local w = W()
|
||||
if not w then
|
||||
return
|
||||
end
|
||||
local f = w:frame()
|
||||
local sf = w:screen():frame()
|
||||
if f.w < sf.w * 0.95 then
|
||||
w:maximize(0)
|
||||
else
|
||||
local ww, hh = math.floor(sf.w * 0.5), math.floor(sf.h * 0.9)
|
||||
local xx = sf.x + math.floor((sf.w - ww) / 2)
|
||||
local yy = sf.y + math.floor((sf.h - hh) / 2)
|
||||
w:setFrame({ x = xx, y = yy, w = ww, h = hh }, 0)
|
||||
end
|
||||
end)
|
||||
f18:bind({}, 'k', function()
|
||||
local w = W()
|
||||
if w then
|
||||
local sf = w:screen():frame()
|
||||
local ww, hh = math.floor(sf.w * 0.9), math.floor(sf.h * 0.9)
|
||||
local xx = sf.x + math.floor((sf.w - ww) / 2)
|
||||
local yy = sf.y + math.floor((sf.h - hh) / 2)
|
||||
w:setFrame({ x = xx, y = yy, w = ww, h = hh }, 0)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Move to next/previous screen (. and ,)
|
||||
f18:bind({}, '.', function()
|
||||
local w = W()
|
||||
if w then
|
||||
local s = w:screen()
|
||||
local ns = s:toEast() or s:toWest()
|
||||
if ns then
|
||||
w:moveToScreen(ns, true, true, 0)
|
||||
end
|
||||
end
|
||||
end)
|
||||
f18:bind({}, ',', function()
|
||||
local w = W()
|
||||
if w then
|
||||
local s = w:screen()
|
||||
local ps = s:toWest() or s:toEast()
|
||||
if ps then
|
||||
w:moveToScreen(ps, true, true, 0)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- Window positioning: halves (Left/Right arrows)
|
||||
f18:bind({}, 'left', function()
|
||||
local w = W()
|
||||
if w then
|
||||
w:moveToUnit(hs.layout.left50, 0)
|
||||
end
|
||||
end)
|
||||
f18:bind({}, 'right', function()
|
||||
local w = W()
|
||||
if w then
|
||||
w:moveToUnit(hs.layout.right50, 0)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Paste from clipboard with Meh + V
|
||||
f18:bind({}, 'v', function()
|
||||
hs.eventtap.keyStrokes(hs.pasteboard.getContents())
|
||||
end)
|
||||
|
||||
-- Paste 1Password secret with Meh + P
|
||||
f18:bind({}, 'p', function()
|
||||
local output, status =
|
||||
hs.execute('op read "op://Svea/3hzhctmvovbwlgulv7mgy25rf4/login-input"', true)
|
||||
if status then
|
||||
hs.eventtap.keyStrokes(output:gsub('%s+$', '')) -- trim trailing whitespace
|
||||
else
|
||||
hs.alert.show '1Password CLI error'
|
||||
end
|
||||
end)
|
||||
|
||||
-- require 'generate_emmylua'
|
||||
@@ -12,5 +12,3 @@
|
||||
~-.__| /_ - ~ ^| /- _ `..-' f: f:
|
||||
| / | / ~-. `-. _||_||_
|
||||
|_____| |_____| ~ - . _ _ _ _ _>
|
||||
|
||||
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
# paths in source statements (since 0.8.0).
|
||||
external-sources=true
|
||||
includeAllWorkspaceSymbols=true
|
||||
|
||||
|
||||
103
biome.json
Normal file
103
biome.json
Normal file
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"$schema": "https://biomejs.dev/schemas/2.3.1/schema.json",
|
||||
"vcs": {
|
||||
"enabled": true,
|
||||
"clientKind": "git",
|
||||
"useIgnoreFile": true,
|
||||
"defaultBranch": "main"
|
||||
},
|
||||
"files": {
|
||||
"ignoreUnknown": true,
|
||||
"includes": [
|
||||
"**",
|
||||
"!!**/.mypy_cache",
|
||||
"!!**/Brewfile.lock.json",
|
||||
"!!**/base/plan",
|
||||
"!!**/config/cheat/cheatsheets/community",
|
||||
"!!**/config/cheat/cheatsheets/tldr",
|
||||
"!!**/config/fzf",
|
||||
"!!**/config/nvim",
|
||||
"!!**/config/op/plugins/used_plugins",
|
||||
"!!**/config/tmux/plugins",
|
||||
"!!**/config/zsh",
|
||||
"!!**/config/vim",
|
||||
"!!**/lazy-lock.json",
|
||||
"!!**/local/bin/antigen.zsh",
|
||||
"!!**/local/bin/asdf",
|
||||
"!!**/tools/antidote",
|
||||
"!!**/tools/dotbot",
|
||||
"!!**/node_modules"
|
||||
]
|
||||
},
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"formatWithErrors": false,
|
||||
"indentStyle": "space",
|
||||
"indentWidth": 2,
|
||||
"lineEnding": "lf",
|
||||
"lineWidth": 80
|
||||
},
|
||||
"linter": {
|
||||
"enabled": true,
|
||||
"rules": {
|
||||
"recommended": true,
|
||||
"correctness": {
|
||||
"noUnusedVariables": "warn",
|
||||
"noUnusedImports": "warn"
|
||||
},
|
||||
"style": {
|
||||
"useConst": "warn",
|
||||
"useTemplate": "warn"
|
||||
},
|
||||
"suspicious": {
|
||||
"noExplicitAny": "warn",
|
||||
"noConsole": "off"
|
||||
}
|
||||
}
|
||||
},
|
||||
"javascript": {
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"quoteStyle": "single",
|
||||
"jsxQuoteStyle": "double",
|
||||
"trailingCommas": "all",
|
||||
"semicolons": "asNeeded",
|
||||
"arrowParentheses": "always",
|
||||
"bracketSpacing": true,
|
||||
"bracketSameLine": false,
|
||||
"quoteProperties": "asNeeded",
|
||||
"indentStyle": "space",
|
||||
"indentWidth": 2
|
||||
}
|
||||
},
|
||||
"json": {
|
||||
"parser": {
|
||||
"allowComments": true,
|
||||
"allowTrailingCommas": false
|
||||
},
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"indentStyle": "space",
|
||||
"indentWidth": 2,
|
||||
"lineWidth": 80
|
||||
}
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"includes": ["*.md", "*.mdx"],
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"lineWidth": 120
|
||||
}
|
||||
},
|
||||
{
|
||||
"includes": ["package.json"],
|
||||
"json": {
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"indentWidth": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -180,7 +180,7 @@ swap-main:
|
||||
# Move focus to the n-th screen in the list; e.g.,
|
||||
# focus-screen-3 will move mouse focus to the 3rd screen.
|
||||
# Note that the main window in the given screen will be focused.
|
||||
#focus-screen-n:
|
||||
# focus-screen-n:
|
||||
# focus-screen-<screen-number>:
|
||||
# mod: mod1
|
||||
# key: y
|
||||
@@ -197,12 +197,12 @@ swap-main:
|
||||
# key: i
|
||||
|
||||
# Select tall layout
|
||||
#select-tall-layout:
|
||||
# mod: mod1
|
||||
# key: a
|
||||
# select-tall-layout:
|
||||
# mod: mod1
|
||||
# key: a
|
||||
|
||||
# Select wide layout
|
||||
#select-wide-layout:
|
||||
# select-wide-layout:
|
||||
# mod: mod1
|
||||
# key: s
|
||||
|
||||
|
||||
@@ -6,21 +6,19 @@
|
||||
*
|
||||
* @param {Object} windows - All windows in the current space.
|
||||
* @param {Object} screenFrame - The frame of the current screen.
|
||||
* @param {Object} state - The state of the current space.
|
||||
* @param {Object} extendedFrames - The frames of the windows in the current space.
|
||||
* @return {Object} - The frames for the windows in the current space.
|
||||
*/
|
||||
function layout() {
|
||||
return {
|
||||
name: 'Almost Maximize',
|
||||
getFrameAssignments: (windows, screenFrame, state, extendedFrames) => {
|
||||
getFrameAssignments: (windows, screenFrame) => {
|
||||
const width = screenFrame.width * 0.95
|
||||
const height = screenFrame.height * 0.95
|
||||
const x = (screenFrame.width - width) / 2
|
||||
const y = (screenFrame.height - height) / 2
|
||||
const windowFrames = {}
|
||||
|
||||
windows.forEach(window => {
|
||||
windows.forEach((window) => {
|
||||
windowFrames[window.id] = {
|
||||
Y: screenFrame.y + y,
|
||||
x: screenFrame.x + x,
|
||||
@@ -33,3 +31,5 @@ function layout() {
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = layout()
|
||||
|
||||
@@ -23,3 +23,5 @@ bottom
|
||||
eza
|
||||
// Tmux Sessionizer: A tool for opening git repositories as tmux sessions
|
||||
tmux-sessionizer
|
||||
// zoxide, a smarter cd command
|
||||
zoxide
|
||||
|
||||
@@ -1,23 +1,29 @@
|
||||
// These are golang packages I use,
|
||||
// so they should be available with all versions
|
||||
|
||||
// Aqua is a package manager like asdf, or Brew
|
||||
github.com/aquaproj/aqua/v2/cmd/aqua@latest
|
||||
// Git Profile allows you to switch between user profiles in git repos
|
||||
github.com/dotzero/git-profile@v1.4.0
|
||||
github.com/dotzero/git-profile@latest
|
||||
// An extensible command line tool or library to format yaml files.
|
||||
github.com/google/yamlfmt/cmd/yamlfmt@v0.13.0
|
||||
github.com/google/yamlfmt/cmd/yamlfmt@latest
|
||||
// Parsing HTML at the command line
|
||||
github.com/ericchiang/pup@v0.4.0
|
||||
github.com/ericchiang/pup@latest
|
||||
// HTML to Markdown converter
|
||||
github.com/suntong/html2md@v1.5.0
|
||||
github.com/suntong/html2md@latest
|
||||
// cheat allows you to create and view interactive cheatsheets on the cli.
|
||||
github.com/cheat/cheat/cmd/cheat@4.4.2
|
||||
github.com/cheat/cheat/cmd/cheat@latest
|
||||
// Render markdown on the CLI, with pizzazz! 💅
|
||||
github.com/charmbracelet/glow@v1.5.1
|
||||
github.com/charmbracelet/glow@latest
|
||||
// Static checker for GitHub Actions workflow files
|
||||
github.com/rhysd/actionlint/cmd/actionlint@v1.7.1
|
||||
github.com/rhysd/actionlint/cmd/actionlint@latest
|
||||
// Cleans up your $HOME from those pesky dotfiles
|
||||
github.com/doron-cohen/antidot@v0.6.3
|
||||
github.com/doron-cohen/antidot@latest
|
||||
// FZF is a general-purpose command-line fuzzy finder.
|
||||
github.com/junegunn/fzf@latest
|
||||
// gopls, the Go language server
|
||||
golang.org/x/tools/gopls@latest
|
||||
// A language for writing HTML user interfaces in Go.
|
||||
github.com/a-h/templ/cmd/templ@latest
|
||||
// A tool for glamorous shell scripts 🎀
|
||||
github.com/charmbracelet/gum@latest
|
||||
// A terminal session manager
|
||||
github.com/joshmedeski/sesh/v2@latest
|
||||
|
||||
@@ -69,5 +69,3 @@ Available format modifiers are:
|
||||
'. For decimal conversions, applies the thousands grouping
|
||||
separator to the integer portion of the output according
|
||||
to the current LC_NUMERIC file.
|
||||
|
||||
|
||||
|
||||
@@ -56,11 +56,11 @@ TERM xterm*
|
||||
RESET 0 # reset to "normal" color
|
||||
DIR 01;34 # directory
|
||||
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
|
||||
# numerical value, the color is as for the file pointed to.)
|
||||
MULTIHARDLINK 00 # regular file with more than one link
|
||||
FIFO 40;33 # pipe
|
||||
SOCK 01;35 # socket
|
||||
DOOR 01;35 # door
|
||||
# numerical value, the color is as for the file pointed to.)
|
||||
MULTIHARDLINK 00 # regular file with more than one link
|
||||
FIFO 40;33 # pipe
|
||||
SOCK 01;35 # socket
|
||||
DOOR 01;35 # door
|
||||
BLK 40;33;01 # block device driver
|
||||
CHR 40;33;01 # character device driver
|
||||
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ...
|
||||
|
||||
@@ -10,4 +10,3 @@ prefix = [
|
||||
exact = [
|
||||
"~/.dotfiles/.envrc"
|
||||
]
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
### Do not edit. This was autogenerated by 'asdf direnv setup' ###
|
||||
use_asdf() {
|
||||
# shellcheck shell=bash
|
||||
use_asdf()
|
||||
{
|
||||
source_env "$(asdf direnv envrc "$@")"
|
||||
}
|
||||
|
||||
@@ -458,5 +458,7 @@ export SQLITE_HISTORY="${XDG_CACHE_HOME}/sqlite_history"
|
||||
|
||||
[ -f "$XDG_CONFIG_HOME/exports-secret" ] && source "$XDG_CONFIG_HOME/exports-secret"
|
||||
[ -f "$XDG_CONFIG_HOME/exports-local" ] && source "$XDG_CONFIG_HOME/exports-local"
|
||||
# shellcheck source=./exports-lakka
|
||||
[ -f "$XDG_CONFIG_HOME/exports-$(hostname)" ] && source "$XDG_CONFIG_HOME/exports-$(hostname)"
|
||||
# shellcheck source=./exports-lakka-secret
|
||||
[ -f "$XDG_CONFIG_HOME/exports-$(hostname)-secret" ] && source "$XDG_CONFIG_HOME/exports-$(hostname)-secret"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# This file is secret and wont be added to the git repo.
|
||||
|
||||
export GITLAB_API_TOKEN=""
|
||||
|
||||
@@ -6,9 +6,12 @@ alias vim='vim -u "$XDG_CONFIG_HOME/vim/vimrc"'
|
||||
if type -q eza >/dev/null
|
||||
function eza_git -d "Use eza and its git options if in a git repo"
|
||||
if git rev-parse --is-inside-work-tree &>/dev/null
|
||||
eza --group-directories-first --icons=always --smart-group --git $argv
|
||||
eza --group-directories-first --icons=always \
|
||||
--smart-group --git $argv
|
||||
else
|
||||
eza --group-directories-first --icons=always --smart-group $argv
|
||||
eza --group-directories-first \
|
||||
--icons=always \
|
||||
--smart-group $argv
|
||||
end
|
||||
end
|
||||
|
||||
@@ -30,7 +33,9 @@ if type -q eza >/dev/null
|
||||
end
|
||||
|
||||
# Edit fish alias file
|
||||
function .a --wraps='nvim ~/.dotfiles/config/fish/alias.fish' --description 'edit alias.fish'
|
||||
function .a \
|
||||
--wraps='nvim ~/.dotfiles/config/fish/alias.fish' \
|
||||
--description 'edit alias.fish'
|
||||
nvim ~/.dotfiles/config/fish/alias.fish $argv
|
||||
end
|
||||
|
||||
@@ -55,7 +60,9 @@ function .p --wraps='cd ~/Code/ivuorinen' --description 'cd ~/Code/ivuorinen'
|
||||
end
|
||||
|
||||
# shortcut to commit with a message
|
||||
function commit --wraps='git commit -a -m "chore: automated commit"' --description 'commit shortcut'
|
||||
function commit \
|
||||
--wraps='git commit -a -m "chore: automated commit"' \
|
||||
--description 'commit shortcut'
|
||||
set -l commitMessage $argv
|
||||
git add .
|
||||
|
||||
@@ -71,7 +78,8 @@ function commit --wraps='git commit -a -m "chore: automated commit"' --descripti
|
||||
git commit -a -m "$commitMessage"
|
||||
end
|
||||
|
||||
function configure_tide --description 'Configure tide with the lean style and my preferences'
|
||||
function configure_tide \
|
||||
--description 'Configure tide with the lean style and my preferences'
|
||||
tide configure \
|
||||
--auto \
|
||||
--style=Lean \
|
||||
@@ -84,25 +92,5 @@ function configure_tide --description 'Configure tide with the lean style and my
|
||||
--transient=Yes
|
||||
end
|
||||
|
||||
# Abbreviations for git
|
||||
abbr --add gau git add -u
|
||||
abbr --add gaa git add -A
|
||||
abbr --add gcv git commit -v
|
||||
|
||||
# Abbreviations for composer
|
||||
abbr --add c composer
|
||||
abbr --add cu composer update
|
||||
abbr --add ci composer install
|
||||
|
||||
# Abbreviations for php artisan
|
||||
abbr --add .pa php artisan
|
||||
abbr --add .paf php artisan fresh
|
||||
abbr --add .pam php artisan migrate
|
||||
abbr --add .pams php artisan migrate --seed
|
||||
abbr --add .pat php artisan test
|
||||
|
||||
# Abbreviations for npm
|
||||
abbr --add .n npm
|
||||
abbr --add .nt npm test --if-present
|
||||
abbr --add .nb npm run build --if-present
|
||||
abbr --add .ns npm run start --if-present
|
||||
# Random abbreviations
|
||||
abbr --add stats onefetch --nerd-fonts --true-color never
|
||||
|
||||
@@ -9,31 +9,31 @@ function __fish_aqua_no_subcommand --description 'Test if there has been any sub
|
||||
return 0
|
||||
end
|
||||
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l log-level -r -d 'log level'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l config -s c -r -d 'configuration file path'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l disable-cosign -d 'Disable Cosign verification'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l disable-slsa -d 'Disable SLSA verification'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l disable-github-artifact-attestation -d 'Disable GitHub Artifact Attestations verification'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l trace -r -d 'trace output file path'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l cpu-profile -r -d 'cpu profile output file path'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l version -s v -d 'print the version'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l version -s v -d 'print the version'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l log-level -r -d 'log level'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l config -s c -r -d 'configuration file path'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l disable-cosign -d 'Disable Cosign verification'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l disable-slsa -d 'Disable SLSA verification'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l disable-github-artifact-attestation -d 'Disable GitHub Artifact Attestations verification'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l trace -r -d 'trace output file path'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l cpu-profile -r -d 'cpu profile output file path'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l version -s v -d 'print the version'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n __fish_aqua_no_subcommand -f -l version -s v -d 'print the version'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'init' -d 'Create a configuration file if it doesn\'t exist'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a init -d 'Create a configuration file if it doesn\'t exist'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l use-import-dir -s u -d 'Use import_dir'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l import-dir -s i -r -d 'import_dir'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l import-dir -s i -r -d import_dir
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l create-dir -s d -d 'Create a directory named aqua and create aqua.yaml in it'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'install i' -d 'Install tools'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a 'install i' -d 'Install tools'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l only-link -s l -d 'create links but skip downloading packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l test -d 'This flag was deprecated and had no meaning from aqua v2.0.0. This flag will be removed in aqua v3.0.0. https://github.com/aquaproj/aqua/issues/1691'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l all -s a -d 'install all aqua configuration packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l tags -s t -r -d 'filter installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l exclude-tags -r -d 'exclude installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'generate g' -d 'Search packages in registries and output the configuration interactively'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a 'generate g' -d 'Search packages in registries and output the configuration interactively'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l f -r -d 'the file path of packages list. When the value is "-", the list is passed from the standard input'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l i -d 'Insert packages to configuration file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l pin -d 'Pin version'
|
||||
@@ -43,14 +43,14 @@ complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l o -r -d 'inse
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l select-version -s s -d 'Select the installed version interactively. Default to display 30 versions, use --limit/-l to change it.'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l limit -s l -r -d 'The maximum number of versions. Non-positive number refers to no limit.'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-aqua upa' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'update-aqua upa' -d 'Update aqua'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a 'update-aqua upa' -d 'Update aqua'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-checksum upc' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'update-checksum upc' -d 'Create or Update aqua-checksums.json'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a 'update-checksum upc' -d 'Create or Update aqua-checksums.json'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-checksum upc' -f -l all -s a -d 'Create or Update all aqua-checksums.json including global configuration'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-checksum upc' -f -l deep -d 'This flag was deprecated and had no meaning from aqua v2.0.0. This flag will be removed in aqua v3.0.0. https://github.com/aquaproj/aqua/issues/1769'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-checksum upc' -f -l prune -d 'Remove unused checksums'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'update up' -d 'Update registries and packages'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a 'update up' -d 'Update registries and packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l i -d 'Select packages with fuzzy finder'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l select-version -s s -d 'Select the version with fuzzy finder. Default to display 30 versions, use --limit/-l to change it.'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l only-registry -s r -d 'Update only registries'
|
||||
@@ -59,57 +59,57 @@ complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l limit -s l -r
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l tags -s t -r -d 'filter installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l exclude-tags -r -d 'exclude installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from completion' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'completion' -d 'Output shell completion script for bash, zsh, or fish'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a completion -d 'Output shell completion script for bash, zsh, or fish'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from completion' -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from bash' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a 'bash' -d 'Output shell completion script for bash'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a bash -d 'Output shell completion script for bash'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from zsh' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a 'zsh' -d 'Output shell completion script for zsh'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a zsh -d 'Output shell completion script for zsh'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from fish' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a 'fish' -d 'Output shell completion script for fish'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a fish -d 'Output shell completion script for fish'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from fish' -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from help h' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from fish' -a 'help h' -d 'Shows a list of commands or help for one command'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from help h' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a 'help h' -d 'Shows a list of commands or help for one command'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from which' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'which' -d 'Output the absolute file path of the given command'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a which -d 'Output the absolute file path of the given command'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from which' -f -l version -s v -d 'Output the given package version'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from info' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'info' -d 'Show information'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a info -d 'Show information'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from remove rm' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'remove rm' -d 'Uninstall packages'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a 'remove rm' -d 'Uninstall packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from remove rm' -f -l all -s a -d 'uninstall all packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from remove rm' -f -l mode -s m -r -d 'Removed target modes. l: link, p: package'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from remove rm' -f -l i -d 'Select packages with a Fuzzy Finder'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from vacuum' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'vacuum' -d 'Remove unused installed packages'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a vacuum -d 'Remove unused installed packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from vacuum' -f -l init -d 'Create timestamp files.'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from vacuum' -f -l days -s d -r -d 'Expiration days'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'cp' -d 'Copy executable files in a directory'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a cp -d 'Copy executable files in a directory'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l o -r -d 'destination directory'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l all -s a -d 'install all aqua configuration packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l tags -s t -r -d 'filter installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l exclude-tags -r -d 'exclude installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from policy' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'policy' -d 'Manage Policy'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a policy -d 'Manage Policy'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from allow' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from policy' -a 'allow' -d 'Allow a policy file'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from policy' -a allow -d 'Allow a policy file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from deny' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from policy' -a 'deny' -d 'Deny a policy file'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from policy' -a deny -d 'Deny a policy file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from policy' -a 'init' -d 'Create a policy file if it doesn\'t exist'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from policy' -a init -d 'Create a policy file if it doesn\'t exist'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init-policy' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'init-policy' -d '[Deprecated] Create a policy file if it doesn\'t exist'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a init-policy -d '[Deprecated] Create a policy file if it doesn\'t exist'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from exec' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'exec' -d 'Execute tool'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a exec -d 'Execute tool'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from list' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'list' -d 'List packages in Registries'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a list -d 'List packages in Registries'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from list' -f -l installed -s i -d 'List installed packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from list' -f -l all -s a -d 'List global configuration packages too'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'generate-registry gr' -d 'Generate a registry\'s package configuration'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a 'generate-registry gr' -d 'Generate a registry\'s package configuration'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l out-testdata -r -d 'A file path where the testdata is outputted'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l cmd -r -d 'A list of commands joined with commas \',\''
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l generate-config -s c -r -d 'A configuration file path'
|
||||
@@ -117,9 +117,8 @@ complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l lim
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l deep -d 'This flag was deprecated and had no meaning from aqua v2.15.0. This flag will be removed in aqua v3.0.0. https://github.com/aquaproj/aqua/issues/2351'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l init -d 'Generate a configuration file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from version' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'version' -d 'Show version'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a version -d 'Show version'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from root-dir' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'root-dir' -d 'Output the aqua root directory (AQUA_ROOT_DIR)'
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a root-dir -d 'Output the aqua root directory (AQUA_ROOT_DIR)'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from help h' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'help h' -d 'Shows a list of commands or help for one command'
|
||||
|
||||
complete -r -c aqua -n __fish_aqua_no_subcommand -a 'help h' -d 'Shows a list of commands or help for one command'
|
||||
|
||||
71
config/fish/completions/bob.fish
Normal file
71
config/fish/completions/bob.fish
Normal file
@@ -0,0 +1,71 @@
|
||||
# Print an optspec for argparse to handle cmd's options that are independent of any subcommand.
|
||||
function __fish_bob_global_optspecs
|
||||
string join \n h/help V/version
|
||||
end
|
||||
|
||||
function __fish_bob_needs_command
|
||||
# Figure out if the current invocation already has a command.
|
||||
set -l cmd (commandline -opc)
|
||||
set -e cmd[1]
|
||||
argparse -s (__fish_bob_global_optspecs) -- $cmd 2>/dev/null
|
||||
or return
|
||||
if set -q argv[1]
|
||||
# Also print the command, so this can be used to figure out what it is.
|
||||
echo $argv[1]
|
||||
return 1
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
function __fish_bob_using_subcommand
|
||||
set -l cmd (__fish_bob_needs_command)
|
||||
test -z "$cmd"
|
||||
and return 1
|
||||
contains -- $cmd[1] $argv
|
||||
end
|
||||
|
||||
complete -c bob -n __fish_bob_needs_command -s h -l help -d 'Print help'
|
||||
complete -c bob -n __fish_bob_needs_command -s V -l version -d 'Print version'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a use -d 'Switch to the specified version, by default will auto-invoke install command if the version is not installed already'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a install -d 'Install the specified version, can also be used to update out-of-date nightly version'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a sync -d 'If Config::version_sync_file_location is set, the version in that file will be parsed and installed'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a uninstall -d 'Uninstall the specified version'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a rm -d 'Uninstall the specified version'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a rollback -d 'Rollback to an existing nightly rollback'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a erase -d 'Erase any change bob ever made, including neovim installation, neovim version downloads and registry changes'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a list -d 'List all installed and used versions'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a ls -d 'List all installed and used versions'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a list-remote
|
||||
complete -c bob -n __fish_bob_needs_command -f -a ls-remote
|
||||
complete -c bob -n __fish_bob_needs_command -f -a complete -d 'Generate shell completion'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a update -d 'Update existing version |nightly|stable|--all|'
|
||||
complete -c bob -n __fish_bob_needs_command -f -a run
|
||||
complete -c bob -n __fish_bob_needs_command -f -a help -d 'Print this message or the help of the given subcommand(s)'
|
||||
complete -c bob -n "__fish_bob_using_subcommand use" -s n -l no-install -d 'Whether not to auto-invoke install command'
|
||||
complete -c bob -n "__fish_bob_using_subcommand use" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c bob -n "__fish_bob_using_subcommand install" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c bob -n "__fish_bob_using_subcommand sync" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand uninstall" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c bob -n "__fish_bob_using_subcommand rm" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c bob -n "__fish_bob_using_subcommand rollback" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand erase" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand list" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand ls" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand list-remote" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand ls-remote" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand complete" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand update" -s a -l all -d 'Apply the update to all versions'
|
||||
complete -c bob -n "__fish_bob_using_subcommand update" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand run" -s h -l help -d 'Print help'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a use -d 'Switch to the specified version, by default will auto-invoke install command if the version is not installed already'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a install -d 'Install the specified version, can also be used to update out-of-date nightly version'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a sync -d 'If Config::version_sync_file_location is set, the version in that file will be parsed and installed'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a uninstall -d 'Uninstall the specified version'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a rollback -d 'Rollback to an existing nightly rollback'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a erase -d 'Erase any change bob ever made, including neovim installation, neovim version downloads and registry changes'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a list -d 'List all installed and used versions'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a list-remote
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a complete -d 'Generate shell completion'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a update -d 'Update existing version |nightly|stable|--all|'
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a run
|
||||
complete -c bob -n "__fish_bob_using_subcommand help; and not __fish_seen_subcommand_from use install sync uninstall rollback erase list list-remote complete update run help" -f -a help -d 'Print this message or the help of the given subcommand(s)'
|
||||
234
config/fish/completions/docker.fish
Normal file
234
config/fish/completions/docker.fish
Normal file
@@ -0,0 +1,234 @@
|
||||
# fish completion for docker -*- shell-script -*-
|
||||
|
||||
function __docker_debug
|
||||
set -l file "$BASH_COMP_DEBUG_FILE"
|
||||
if test -n "$file"
|
||||
echo "$argv" >>$file
|
||||
end
|
||||
end
|
||||
|
||||
function __docker_perform_completion
|
||||
__docker_debug "Starting __docker_perform_completion"
|
||||
|
||||
# Extract all args except the last one
|
||||
set -l args (commandline -opc)
|
||||
# Extract the last arg and escape it in case it is a space
|
||||
set -l lastArg (string escape -- (commandline -ct))
|
||||
|
||||
__docker_debug "args: $args"
|
||||
__docker_debug "last arg: $lastArg"
|
||||
|
||||
# Disable ActiveHelp which is not supported for fish shell
|
||||
set -l requestComp "DOCKER_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
|
||||
|
||||
__docker_debug "Calling $requestComp"
|
||||
set -l results (eval $requestComp 2> /dev/null)
|
||||
|
||||
# Some programs may output extra empty lines after the directive.
|
||||
# Let's ignore them or else it will break completion.
|
||||
# Ref: https://github.com/spf13/cobra/issues/1279
|
||||
for line in $results[-1..1]
|
||||
if test (string trim -- $line) = ""
|
||||
# Found an empty line, remove it
|
||||
set results $results[1..-2]
|
||||
else
|
||||
# Found non-empty line, we have our proper output
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
set -l comps $results[1..-2]
|
||||
set -l directiveLine $results[-1]
|
||||
|
||||
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
|
||||
# completions must be prefixed with the flag
|
||||
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
|
||||
|
||||
__docker_debug "Comps: $comps"
|
||||
__docker_debug "DirectiveLine: $directiveLine"
|
||||
__docker_debug "flagPrefix: $flagPrefix"
|
||||
|
||||
for comp in $comps
|
||||
printf "%s%s\n" "$flagPrefix" "$comp"
|
||||
end
|
||||
|
||||
printf "%s\n" "$directiveLine"
|
||||
end
|
||||
|
||||
# this function limits calls to __docker_perform_completion, by caching the result behind $__docker_perform_completion_once_result
|
||||
function __docker_perform_completion_once
|
||||
__docker_debug "Starting __docker_perform_completion_once"
|
||||
|
||||
if test -n "$__docker_perform_completion_once_result"
|
||||
__docker_debug "Seems like a valid result already exists, skipping __docker_perform_completion"
|
||||
return 0
|
||||
end
|
||||
|
||||
set --global __docker_perform_completion_once_result (__docker_perform_completion)
|
||||
if test -z "$__docker_perform_completion_once_result"
|
||||
__docker_debug "No completions, probably due to a failure"
|
||||
return 1
|
||||
end
|
||||
|
||||
__docker_debug "Performed completions and set __docker_perform_completion_once_result"
|
||||
return 0
|
||||
end
|
||||
|
||||
# this function is used to clear the $__docker_perform_completion_once_result variable after completions are run
|
||||
function __docker_clear_perform_completion_once_result
|
||||
__docker_debug ""
|
||||
__docker_debug "========= clearing previously set __docker_perform_completion_once_result variable =========="
|
||||
set --erase __docker_perform_completion_once_result
|
||||
__docker_debug "Successfully erased the variable __docker_perform_completion_once_result"
|
||||
end
|
||||
|
||||
function __docker_requires_order_preservation
|
||||
__docker_debug ""
|
||||
__docker_debug "========= checking if order preservation is required =========="
|
||||
|
||||
__docker_perform_completion_once
|
||||
if test -z "$__docker_perform_completion_once_result"
|
||||
__docker_debug "Error determining if order preservation is required"
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__docker_perform_completion_once_result[-1])
|
||||
__docker_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveKeepOrder 32
|
||||
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
|
||||
__docker_debug "Keeporder is: $keeporder"
|
||||
|
||||
if test $keeporder -ne 0
|
||||
__docker_debug "This does require order preservation"
|
||||
return 0
|
||||
end
|
||||
|
||||
__docker_debug "This doesn't require order preservation"
|
||||
return 1
|
||||
end
|
||||
|
||||
# This function does two things:
|
||||
# - Obtain the completions and store them in the global __docker_comp_results
|
||||
# - Return false if file completion should be performed
|
||||
function __docker_prepare_completions
|
||||
__docker_debug ""
|
||||
__docker_debug "========= starting completion logic =========="
|
||||
|
||||
# Start fresh
|
||||
set --erase __docker_comp_results
|
||||
|
||||
__docker_perform_completion_once
|
||||
__docker_debug "Completion results: $__docker_perform_completion_once_result"
|
||||
|
||||
if test -z "$__docker_perform_completion_once_result"
|
||||
__docker_debug "No completion, probably due to a failure"
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__docker_perform_completion_once_result[-1])
|
||||
set --global __docker_comp_results $__docker_perform_completion_once_result[1..-2]
|
||||
|
||||
__docker_debug "Completions are: $__docker_comp_results"
|
||||
__docker_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveError 1
|
||||
set -l shellCompDirectiveNoSpace 2
|
||||
set -l shellCompDirectiveNoFileComp 4
|
||||
set -l shellCompDirectiveFilterFileExt 8
|
||||
set -l shellCompDirectiveFilterDirs 16
|
||||
|
||||
if test -z "$directive"
|
||||
set directive 0
|
||||
end
|
||||
|
||||
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
|
||||
if test $compErr -eq 1
|
||||
__docker_debug "Received error directive: aborting."
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
|
||||
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
|
||||
if test $filefilter -eq 1; or test $dirfilter -eq 1
|
||||
__docker_debug "File extension filtering or directory filtering not supported"
|
||||
# Do full file completion instead
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
|
||||
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
|
||||
|
||||
__docker_debug "nospace: $nospace, nofiles: $nofiles"
|
||||
|
||||
# If we want to prevent a space, or if file completion is NOT disabled,
|
||||
# we need to count the number of valid completions.
|
||||
# To do so, we will filter on prefix as the completions we have received
|
||||
# may not already be filtered so as to allow fish to match on different
|
||||
# criteria than the prefix.
|
||||
if test $nospace -ne 0; or test $nofiles -eq 0
|
||||
set -l prefix (commandline -t | string escape --style=regex)
|
||||
__docker_debug "prefix: $prefix"
|
||||
|
||||
set -l completions (string match -r -- "^$prefix.*" $__docker_comp_results)
|
||||
set --global __docker_comp_results $completions
|
||||
__docker_debug "Filtered completions are: $__docker_comp_results"
|
||||
|
||||
# Important not to quote the variable for count to work
|
||||
set -l numComps (count $__docker_comp_results)
|
||||
__docker_debug "numComps: $numComps"
|
||||
|
||||
if test $numComps -eq 1; and test $nospace -ne 0
|
||||
# We must first split on \t to get rid of the descriptions to be
|
||||
# able to check what the actual completion will be.
|
||||
# We don't need descriptions anyway since there is only a single
|
||||
# real completion which the shell will expand immediately.
|
||||
set -l split (string split --max 1 \t $__docker_comp_results[1])
|
||||
|
||||
# Fish won't add a space if the completion ends with any
|
||||
# of the following characters: @=/:.,
|
||||
set -l lastChar (string sub -s -1 -- $split)
|
||||
if not string match -r -q "[@=/:.,]" -- "$lastChar"
|
||||
# In other cases, to support the "nospace" directive we trick the shell
|
||||
# by outputting an extra, longer completion.
|
||||
__docker_debug "Adding second completion to perform nospace directive"
|
||||
set --global __docker_comp_results $split[1] $split[1].
|
||||
__docker_debug "Completions are now: $__docker_comp_results"
|
||||
end
|
||||
end
|
||||
|
||||
if test $numComps -eq 0; and test $nofiles -eq 0
|
||||
# To be consistent with bash and zsh, we only trigger file
|
||||
# completion when there are no other completions
|
||||
__docker_debug "Requesting file completion"
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
return 0
|
||||
end
|
||||
|
||||
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
|
||||
# so we can properly delete any completions provided by another script.
|
||||
# Only do this if the program can be found, or else fish may print some errors; besides,
|
||||
# the existing completions will only be loaded if the program can be found.
|
||||
if type -q docker
|
||||
# The space after the program name is essential to trigger completion for the program
|
||||
# and not completion of the program name itself.
|
||||
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
|
||||
complete --do-complete "docker " >/dev/null 2>&1
|
||||
end
|
||||
|
||||
# Remove any pre-existing completions for the program since we will be handling all of them.
|
||||
complete -c docker -e
|
||||
|
||||
# this will get called after the two calls below and clear the $__docker_perform_completion_once_result global
|
||||
complete -c docker -n __docker_clear_perform_completion_once_result
|
||||
# The call to __docker_prepare_completions will setup __docker_comp_results
|
||||
# which provides the program's completion choices.
|
||||
# If this doesn't require order preservation, we don't use the -k flag
|
||||
complete -c docker -n 'not __docker_requires_order_preservation && __docker_prepare_completions' -f -a '$__docker_comp_results'
|
||||
# otherwise we use the -k flag
|
||||
complete -k -c docker -n '__docker_requires_order_preservation && __docker_prepare_completions' -f -a '$__docker_comp_results'
|
||||
8
config/fish/completions/fzf_configure_bindings.fish
Normal file
8
config/fish/completions/fzf_configure_bindings.fish
Normal file
@@ -0,0 +1,8 @@
|
||||
complete fzf_configure_bindings --no-files
|
||||
complete fzf_configure_bindings --long help --short h --description "Print help" --condition "not __fish_seen_argument --help -h"
|
||||
complete fzf_configure_bindings --long directory --description "Change the key binding for Search Directory" --condition "not __fish_seen_argument --directory"
|
||||
complete fzf_configure_bindings --long git_log --description "Change the key binding for Search Git Log" --condition "not __fish_seen_argument --git_log"
|
||||
complete fzf_configure_bindings --long git_status --description "Change the key binding for Search Git Status" --condition "not __fish_seen_argument --git_status"
|
||||
complete fzf_configure_bindings --long history --description "Change the key binding for Search History" --condition "not __fish_seen_argument --history"
|
||||
complete fzf_configure_bindings --long processes --description "Change the key binding for Search Processes" --condition "not __fish_seen_argument --processes"
|
||||
complete fzf_configure_bindings --long variables --description "Change the key binding for Search Variables" --condition "not __fish_seen_argument --variables"
|
||||
@@ -3,7 +3,7 @@
|
||||
function __git_profile_debug
|
||||
set -l file "$BASH_COMP_DEBUG_FILE"
|
||||
if test -n "$file"
|
||||
echo "$argv" >> $file
|
||||
echo "$argv" >>$file
|
||||
end
|
||||
end
|
||||
|
||||
@@ -160,11 +160,11 @@ end
|
||||
# so we can properly delete any completions provided by another script.
|
||||
# Only do this if the program can be found, or else fish may print some errors; besides,
|
||||
# the existing completions will only be loaded if the program can be found.
|
||||
if type -q "git-profile"
|
||||
if type -q git-profile
|
||||
# The space after the program name is essential to trigger completion for the program
|
||||
# and not completion of the program name itself.
|
||||
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
|
||||
complete --do-complete "git-profile " > /dev/null 2>&1
|
||||
complete --do-complete "git-profile " >/dev/null 2>&1
|
||||
end
|
||||
|
||||
# Remove any pre-existing completions for the program since we will be handling all of them.
|
||||
@@ -172,5 +172,4 @@ complete -c git-profile -e
|
||||
|
||||
# The call to __git_profile_prepare_completions will setup __git_profile_comp_results
|
||||
# which provides the program's completion choices.
|
||||
complete -c git-profile -n '__git_profile_prepare_completions' -f -a '$__git_profile_comp_results'
|
||||
|
||||
complete -c git-profile -n __git_profile_prepare_completions -f -a '$__git_profile_comp_results'
|
||||
|
||||
234
config/fish/completions/golangci-lint.fish
Normal file
234
config/fish/completions/golangci-lint.fish
Normal file
@@ -0,0 +1,234 @@
|
||||
# fish completion for golangci-lint -*- shell-script -*-
|
||||
|
||||
function __golangci_lint_debug
|
||||
set -l file "$BASH_COMP_DEBUG_FILE"
|
||||
if test -n "$file"
|
||||
echo "$argv" >>$file
|
||||
end
|
||||
end
|
||||
|
||||
function __golangci_lint_perform_completion
|
||||
__golangci_lint_debug "Starting __golangci_lint_perform_completion"
|
||||
|
||||
# Extract all args except the last one
|
||||
set -l args (commandline -opc)
|
||||
# Extract the last arg and escape it in case it is a space
|
||||
set -l lastArg (string escape -- (commandline -ct))
|
||||
|
||||
__golangci_lint_debug "args: $args"
|
||||
__golangci_lint_debug "last arg: $lastArg"
|
||||
|
||||
# Disable ActiveHelp which is not supported for fish shell
|
||||
set -l requestComp "GOLANGCI_LINT_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
|
||||
|
||||
__golangci_lint_debug "Calling $requestComp"
|
||||
set -l results (eval $requestComp 2> /dev/null)
|
||||
|
||||
# Some programs may output extra empty lines after the directive.
|
||||
# Let's ignore them or else it will break completion.
|
||||
# Ref: https://github.com/spf13/cobra/issues/1279
|
||||
for line in $results[-1..1]
|
||||
if test (string trim -- $line) = ""
|
||||
# Found an empty line, remove it
|
||||
set results $results[1..-2]
|
||||
else
|
||||
# Found non-empty line, we have our proper output
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
set -l comps $results[1..-2]
|
||||
set -l directiveLine $results[-1]
|
||||
|
||||
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
|
||||
# completions must be prefixed with the flag
|
||||
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
|
||||
|
||||
__golangci_lint_debug "Comps: $comps"
|
||||
__golangci_lint_debug "DirectiveLine: $directiveLine"
|
||||
__golangci_lint_debug "flagPrefix: $flagPrefix"
|
||||
|
||||
for comp in $comps
|
||||
printf "%s%s\n" "$flagPrefix" "$comp"
|
||||
end
|
||||
|
||||
printf "%s\n" "$directiveLine"
|
||||
end
|
||||
|
||||
# this function limits calls to __golangci_lint_perform_completion, by caching the result behind $__golangci_lint_perform_completion_once_result
|
||||
function __golangci_lint_perform_completion_once
|
||||
__golangci_lint_debug "Starting __golangci_lint_perform_completion_once"
|
||||
|
||||
if test -n "$__golangci_lint_perform_completion_once_result"
|
||||
__golangci_lint_debug "Seems like a valid result already exists, skipping __golangci_lint_perform_completion"
|
||||
return 0
|
||||
end
|
||||
|
||||
set --global __golangci_lint_perform_completion_once_result (__golangci_lint_perform_completion)
|
||||
if test -z "$__golangci_lint_perform_completion_once_result"
|
||||
__golangci_lint_debug "No completions, probably due to a failure"
|
||||
return 1
|
||||
end
|
||||
|
||||
__golangci_lint_debug "Performed completions and set __golangci_lint_perform_completion_once_result"
|
||||
return 0
|
||||
end
|
||||
|
||||
# this function is used to clear the $__golangci_lint_perform_completion_once_result variable after completions are run
|
||||
function __golangci_lint_clear_perform_completion_once_result
|
||||
__golangci_lint_debug ""
|
||||
__golangci_lint_debug "========= clearing previously set __golangci_lint_perform_completion_once_result variable =========="
|
||||
set --erase __golangci_lint_perform_completion_once_result
|
||||
__golangci_lint_debug "Successfully erased the variable __golangci_lint_perform_completion_once_result"
|
||||
end
|
||||
|
||||
function __golangci_lint_requires_order_preservation
|
||||
__golangci_lint_debug ""
|
||||
__golangci_lint_debug "========= checking if order preservation is required =========="
|
||||
|
||||
__golangci_lint_perform_completion_once
|
||||
if test -z "$__golangci_lint_perform_completion_once_result"
|
||||
__golangci_lint_debug "Error determining if order preservation is required"
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__golangci_lint_perform_completion_once_result[-1])
|
||||
__golangci_lint_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveKeepOrder 32
|
||||
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
|
||||
__golangci_lint_debug "Keeporder is: $keeporder"
|
||||
|
||||
if test $keeporder -ne 0
|
||||
__golangci_lint_debug "This does require order preservation"
|
||||
return 0
|
||||
end
|
||||
|
||||
__golangci_lint_debug "This doesn't require order preservation"
|
||||
return 1
|
||||
end
|
||||
|
||||
# This function does two things:
|
||||
# - Obtain the completions and store them in the global __golangci_lint_comp_results
|
||||
# - Return false if file completion should be performed
|
||||
function __golangci_lint_prepare_completions
|
||||
__golangci_lint_debug ""
|
||||
__golangci_lint_debug "========= starting completion logic =========="
|
||||
|
||||
# Start fresh
|
||||
set --erase __golangci_lint_comp_results
|
||||
|
||||
__golangci_lint_perform_completion_once
|
||||
__golangci_lint_debug "Completion results: $__golangci_lint_perform_completion_once_result"
|
||||
|
||||
if test -z "$__golangci_lint_perform_completion_once_result"
|
||||
__golangci_lint_debug "No completion, probably due to a failure"
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__golangci_lint_perform_completion_once_result[-1])
|
||||
set --global __golangci_lint_comp_results $__golangci_lint_perform_completion_once_result[1..-2]
|
||||
|
||||
__golangci_lint_debug "Completions are: $__golangci_lint_comp_results"
|
||||
__golangci_lint_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveError 1
|
||||
set -l shellCompDirectiveNoSpace 2
|
||||
set -l shellCompDirectiveNoFileComp 4
|
||||
set -l shellCompDirectiveFilterFileExt 8
|
||||
set -l shellCompDirectiveFilterDirs 16
|
||||
|
||||
if test -z "$directive"
|
||||
set directive 0
|
||||
end
|
||||
|
||||
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
|
||||
if test $compErr -eq 1
|
||||
__golangci_lint_debug "Received error directive: aborting."
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
|
||||
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
|
||||
if test $filefilter -eq 1; or test $dirfilter -eq 1
|
||||
__golangci_lint_debug "File extension filtering or directory filtering not supported"
|
||||
# Do full file completion instead
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
|
||||
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
|
||||
|
||||
__golangci_lint_debug "nospace: $nospace, nofiles: $nofiles"
|
||||
|
||||
# If we want to prevent a space, or if file completion is NOT disabled,
|
||||
# we need to count the number of valid completions.
|
||||
# To do so, we will filter on prefix as the completions we have received
|
||||
# may not already be filtered so as to allow fish to match on different
|
||||
# criteria than the prefix.
|
||||
if test $nospace -ne 0; or test $nofiles -eq 0
|
||||
set -l prefix (commandline -t | string escape --style=regex)
|
||||
__golangci_lint_debug "prefix: $prefix"
|
||||
|
||||
set -l completions (string match -r -- "^$prefix.*" $__golangci_lint_comp_results)
|
||||
set --global __golangci_lint_comp_results $completions
|
||||
__golangci_lint_debug "Filtered completions are: $__golangci_lint_comp_results"
|
||||
|
||||
# Important not to quote the variable for count to work
|
||||
set -l numComps (count $__golangci_lint_comp_results)
|
||||
__golangci_lint_debug "numComps: $numComps"
|
||||
|
||||
if test $numComps -eq 1; and test $nospace -ne 0
|
||||
# We must first split on \t to get rid of the descriptions to be
|
||||
# able to check what the actual completion will be.
|
||||
# We don't need descriptions anyway since there is only a single
|
||||
# real completion which the shell will expand immediately.
|
||||
set -l split (string split --max 1 \t $__golangci_lint_comp_results[1])
|
||||
|
||||
# Fish won't add a space if the completion ends with any
|
||||
# of the following characters: @=/:.,
|
||||
set -l lastChar (string sub -s -1 -- $split)
|
||||
if not string match -r -q "[@=/:.,]" -- "$lastChar"
|
||||
# In other cases, to support the "nospace" directive we trick the shell
|
||||
# by outputting an extra, longer completion.
|
||||
__golangci_lint_debug "Adding second completion to perform nospace directive"
|
||||
set --global __golangci_lint_comp_results $split[1] $split[1].
|
||||
__golangci_lint_debug "Completions are now: $__golangci_lint_comp_results"
|
||||
end
|
||||
end
|
||||
|
||||
if test $numComps -eq 0; and test $nofiles -eq 0
|
||||
# To be consistent with bash and zsh, we only trigger file
|
||||
# completion when there are no other completions
|
||||
__golangci_lint_debug "Requesting file completion"
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
return 0
|
||||
end
|
||||
|
||||
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
|
||||
# so we can properly delete any completions provided by another script.
|
||||
# Only do this if the program can be found, or else fish may print some errors; besides,
|
||||
# the existing completions will only be loaded if the program can be found.
|
||||
if type -q golangci-lint
|
||||
# The space after the program name is essential to trigger completion for the program
|
||||
# and not completion of the program name itself.
|
||||
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
|
||||
complete --do-complete "golangci-lint " >/dev/null 2>&1
|
||||
end
|
||||
|
||||
# Remove any pre-existing completions for the program since we will be handling all of them.
|
||||
complete -c golangci-lint -e
|
||||
|
||||
# this will get called after the two calls below and clear the $__golangci_lint_perform_completion_once_result global
|
||||
complete -c golangci-lint -n __golangci_lint_clear_perform_completion_once_result
|
||||
# The call to __golangci_lint_prepare_completions will setup __golangci_lint_comp_results
|
||||
# which provides the program's completion choices.
|
||||
# If this doesn't require order preservation, we don't use the -k flag
|
||||
complete -c golangci-lint -n 'not __golangci_lint_requires_order_preservation && __golangci_lint_prepare_completions' -f -a '$__golangci_lint_comp_results'
|
||||
# otherwise we use the -k flag
|
||||
complete -k -c golangci-lint -n '__golangci_lint_requires_order_preservation && __golangci_lint_prepare_completions' -f -a '$__golangci_lint_comp_results'
|
||||
234
config/fish/completions/grype.fish
Normal file
234
config/fish/completions/grype.fish
Normal file
@@ -0,0 +1,234 @@
|
||||
# fish completion for grype -*- shell-script -*-
|
||||
|
||||
function __grype_debug
|
||||
set -l file "$BASH_COMP_DEBUG_FILE"
|
||||
if test -n "$file"
|
||||
echo "$argv" >>$file
|
||||
end
|
||||
end
|
||||
|
||||
function __grype_perform_completion
|
||||
__grype_debug "Starting __grype_perform_completion"
|
||||
|
||||
# Extract all args except the last one
|
||||
set -l args (commandline -opc)
|
||||
# Extract the last arg and escape it in case it is a space
|
||||
set -l lastArg (string escape -- (commandline -ct))
|
||||
|
||||
__grype_debug "args: $args"
|
||||
__grype_debug "last arg: $lastArg"
|
||||
|
||||
# Disable ActiveHelp which is not supported for fish shell
|
||||
set -l requestComp "GRYPE_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
|
||||
|
||||
__grype_debug "Calling $requestComp"
|
||||
set -l results (eval $requestComp 2> /dev/null)
|
||||
|
||||
# Some programs may output extra empty lines after the directive.
|
||||
# Let's ignore them or else it will break completion.
|
||||
# Ref: https://github.com/spf13/cobra/issues/1279
|
||||
for line in $results[-1..1]
|
||||
if test (string trim -- $line) = ""
|
||||
# Found an empty line, remove it
|
||||
set results $results[1..-2]
|
||||
else
|
||||
# Found non-empty line, we have our proper output
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
set -l comps $results[1..-2]
|
||||
set -l directiveLine $results[-1]
|
||||
|
||||
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
|
||||
# completions must be prefixed with the flag
|
||||
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
|
||||
|
||||
__grype_debug "Comps: $comps"
|
||||
__grype_debug "DirectiveLine: $directiveLine"
|
||||
__grype_debug "flagPrefix: $flagPrefix"
|
||||
|
||||
for comp in $comps
|
||||
printf "%s%s\n" "$flagPrefix" "$comp"
|
||||
end
|
||||
|
||||
printf "%s\n" "$directiveLine"
|
||||
end
|
||||
|
||||
# this function limits calls to __grype_perform_completion, by caching the result behind $__grype_perform_completion_once_result
|
||||
function __grype_perform_completion_once
|
||||
__grype_debug "Starting __grype_perform_completion_once"
|
||||
|
||||
if test -n "$__grype_perform_completion_once_result"
|
||||
__grype_debug "Seems like a valid result already exists, skipping __grype_perform_completion"
|
||||
return 0
|
||||
end
|
||||
|
||||
set --global __grype_perform_completion_once_result (__grype_perform_completion)
|
||||
if test -z "$__grype_perform_completion_once_result"
|
||||
__grype_debug "No completions, probably due to a failure"
|
||||
return 1
|
||||
end
|
||||
|
||||
__grype_debug "Performed completions and set __grype_perform_completion_once_result"
|
||||
return 0
|
||||
end
|
||||
|
||||
# this function is used to clear the $__grype_perform_completion_once_result variable after completions are run
|
||||
function __grype_clear_perform_completion_once_result
|
||||
__grype_debug ""
|
||||
__grype_debug "========= clearing previously set __grype_perform_completion_once_result variable =========="
|
||||
set --erase __grype_perform_completion_once_result
|
||||
__grype_debug "Successfully erased the variable __grype_perform_completion_once_result"
|
||||
end
|
||||
|
||||
function __grype_requires_order_preservation
|
||||
__grype_debug ""
|
||||
__grype_debug "========= checking if order preservation is required =========="
|
||||
|
||||
__grype_perform_completion_once
|
||||
if test -z "$__grype_perform_completion_once_result"
|
||||
__grype_debug "Error determining if order preservation is required"
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__grype_perform_completion_once_result[-1])
|
||||
__grype_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveKeepOrder 32
|
||||
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
|
||||
__grype_debug "Keeporder is: $keeporder"
|
||||
|
||||
if test $keeporder -ne 0
|
||||
__grype_debug "This does require order preservation"
|
||||
return 0
|
||||
end
|
||||
|
||||
__grype_debug "This doesn't require order preservation"
|
||||
return 1
|
||||
end
|
||||
|
||||
# This function does two things:
|
||||
# - Obtain the completions and store them in the global __grype_comp_results
|
||||
# - Return false if file completion should be performed
|
||||
function __grype_prepare_completions
|
||||
__grype_debug ""
|
||||
__grype_debug "========= starting completion logic =========="
|
||||
|
||||
# Start fresh
|
||||
set --erase __grype_comp_results
|
||||
|
||||
__grype_perform_completion_once
|
||||
__grype_debug "Completion results: $__grype_perform_completion_once_result"
|
||||
|
||||
if test -z "$__grype_perform_completion_once_result"
|
||||
__grype_debug "No completion, probably due to a failure"
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__grype_perform_completion_once_result[-1])
|
||||
set --global __grype_comp_results $__grype_perform_completion_once_result[1..-2]
|
||||
|
||||
__grype_debug "Completions are: $__grype_comp_results"
|
||||
__grype_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveError 1
|
||||
set -l shellCompDirectiveNoSpace 2
|
||||
set -l shellCompDirectiveNoFileComp 4
|
||||
set -l shellCompDirectiveFilterFileExt 8
|
||||
set -l shellCompDirectiveFilterDirs 16
|
||||
|
||||
if test -z "$directive"
|
||||
set directive 0
|
||||
end
|
||||
|
||||
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
|
||||
if test $compErr -eq 1
|
||||
__grype_debug "Received error directive: aborting."
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
|
||||
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
|
||||
if test $filefilter -eq 1; or test $dirfilter -eq 1
|
||||
__grype_debug "File extension filtering or directory filtering not supported"
|
||||
# Do full file completion instead
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
|
||||
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
|
||||
|
||||
__grype_debug "nospace: $nospace, nofiles: $nofiles"
|
||||
|
||||
# If we want to prevent a space, or if file completion is NOT disabled,
|
||||
# we need to count the number of valid completions.
|
||||
# To do so, we will filter on prefix as the completions we have received
|
||||
# may not already be filtered so as to allow fish to match on different
|
||||
# criteria than the prefix.
|
||||
if test $nospace -ne 0; or test $nofiles -eq 0
|
||||
set -l prefix (commandline -t | string escape --style=regex)
|
||||
__grype_debug "prefix: $prefix"
|
||||
|
||||
set -l completions (string match -r -- "^$prefix.*" $__grype_comp_results)
|
||||
set --global __grype_comp_results $completions
|
||||
__grype_debug "Filtered completions are: $__grype_comp_results"
|
||||
|
||||
# Important not to quote the variable for count to work
|
||||
set -l numComps (count $__grype_comp_results)
|
||||
__grype_debug "numComps: $numComps"
|
||||
|
||||
if test $numComps -eq 1; and test $nospace -ne 0
|
||||
# We must first split on \t to get rid of the descriptions to be
|
||||
# able to check what the actual completion will be.
|
||||
# We don't need descriptions anyway since there is only a single
|
||||
# real completion which the shell will expand immediately.
|
||||
set -l split (string split --max 1 \t $__grype_comp_results[1])
|
||||
|
||||
# Fish won't add a space if the completion ends with any
|
||||
# of the following characters: @=/:.,
|
||||
set -l lastChar (string sub -s -1 -- $split)
|
||||
if not string match -r -q "[@=/:.,]" -- "$lastChar"
|
||||
# In other cases, to support the "nospace" directive we trick the shell
|
||||
# by outputting an extra, longer completion.
|
||||
__grype_debug "Adding second completion to perform nospace directive"
|
||||
set --global __grype_comp_results $split[1] $split[1].
|
||||
__grype_debug "Completions are now: $__grype_comp_results"
|
||||
end
|
||||
end
|
||||
|
||||
if test $numComps -eq 0; and test $nofiles -eq 0
|
||||
# To be consistent with bash and zsh, we only trigger file
|
||||
# completion when there are no other completions
|
||||
__grype_debug "Requesting file completion"
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
return 0
|
||||
end
|
||||
|
||||
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
|
||||
# so we can properly delete any completions provided by another script.
|
||||
# Only do this if the program can be found, or else fish may print some errors; besides,
|
||||
# the existing completions will only be loaded if the program can be found.
|
||||
if type -q grype
|
||||
# The space after the program name is essential to trigger completion for the program
|
||||
# and not completion of the program name itself.
|
||||
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
|
||||
complete --do-complete "grype " >/dev/null 2>&1
|
||||
end
|
||||
|
||||
# Remove any pre-existing completions for the program since we will be handling all of them.
|
||||
complete -c grype -e
|
||||
|
||||
# this will get called after the two calls below and clear the $__grype_perform_completion_once_result global
|
||||
complete -c grype -n __grype_clear_perform_completion_once_result
|
||||
# The call to __grype_prepare_completions will setup __grype_comp_results
|
||||
# which provides the program's completion choices.
|
||||
# If this doesn't require order preservation, we don't use the -k flag
|
||||
complete -c grype -n 'not __grype_requires_order_preservation && __grype_prepare_completions' -f -a '$__grype_comp_results'
|
||||
# otherwise we use the -k flag
|
||||
complete -k -c grype -n '__grype_requires_order_preservation && __grype_prepare_completions' -f -a '$__grype_comp_results'
|
||||
1
config/fish/completions/kubectl.fish
Symbolic link
1
config/fish/completions/kubectl.fish
Symbolic link
@@ -0,0 +1 @@
|
||||
/Applications/OrbStack.app/Contents/MacOS/../Resources/completions/fish/kubectl.fish
|
||||
@@ -54,7 +54,6 @@ for subcommand in airdrop proxy-icon transparency
|
||||
--arguments status --description 'Shows the status of '$subcommand
|
||||
end
|
||||
|
||||
|
||||
complete --command mac --condition '__fish_seen_subcommand_from 'airport \
|
||||
--arguments scan --description 'Shows available networks'
|
||||
complete --command mac --condition '__fish_seen_subcommand_from 'airport \
|
||||
@@ -62,7 +61,6 @@ complete --command mac --condition '__fish_seen_subcommand_from 'airport \
|
||||
complete --command mac --condition '__fish_seen_subcommand_from 'airport \
|
||||
--arguments password --description 'Gets the current WiFi network password'
|
||||
|
||||
|
||||
complete --command mac --condition '__fish_seen_subcommand_from 'font-smoothing \
|
||||
--arguments on --description 'Enables font smoothing; app IDs can be provided to limit control'
|
||||
complete --command mac --condition '__fish_seen_subcommand_from 'font-smoothing \
|
||||
|
||||
1
config/fish/completions/orbctl.fish
Symbolic link
1
config/fish/completions/orbctl.fish
Symbolic link
@@ -0,0 +1 @@
|
||||
/Applications/OrbStack.app/Contents/MacOS/../Resources/completions/fish/orbctl.fish
|
||||
122
config/fish/completions/phpenv.fish
Normal file
122
config/fish/completions/phpenv.fish
Normal file
@@ -0,0 +1,122 @@
|
||||
# Completions for phpenv command
|
||||
# Place in ~/.config/fish/completions/phpenv.fish
|
||||
|
||||
# Complete main commands
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a install -d "Install a PHP version"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a uninstall -d "Uninstall a PHP version"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a use -d "Use PHP version for current shell"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a local -d "Set PHP version for current project"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a global -d "Set global PHP version"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a list -d "List installed PHP versions"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a ls -d "List installed PHP versions"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a current -d "Show current PHP version"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a which -d "Show path to PHP binary"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a versions -d "Show all available versions"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a doctor -d "Check phpenv installation"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a config -d "Manage configuration"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a extensions -d "Manage PHP extensions"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a ext -d "Manage PHP extensions"
|
||||
complete -c phpenv -f -n __fish_use_subcommand -a help -d "Show help"
|
||||
|
||||
# Helper functions for completions
|
||||
function __phpenv_complete_installed_versions
|
||||
phpenv list 2>/dev/null | sed 's/^[* ]*//'
|
||||
end
|
||||
|
||||
function __phpenv_complete_available_versions
|
||||
# Try to get dynamic versions first
|
||||
if command -q curl -a command -q jq; and functions -q __phpenv_parse_version_field
|
||||
echo latest
|
||||
echo nightly
|
||||
echo "5.x"
|
||||
echo "7.x"
|
||||
echo "8.x"
|
||||
__phpenv_parse_version_field latest "8.4"
|
||||
__phpenv_parse_version_field nightly "8.5"
|
||||
__phpenv_parse_version_field "5.x" "5.6"
|
||||
__phpenv_parse_version_field "7.x" "7.4"
|
||||
__phpenv_parse_version_field "8.x" "8.4"
|
||||
end
|
||||
|
||||
# Fallback to common versions
|
||||
printf "5.6\n7.0\n7.1\n7.2\n7.3\n7.4\n8.0\n8.1\n8.2\n8.3\n8.4\n8.5\n"
|
||||
end
|
||||
|
||||
function __phpenv_complete_config_keys
|
||||
printf "global-version\nauto-install\nauto-install-extensions\nauto-switch\ndefault-extensions\n"
|
||||
end
|
||||
|
||||
function __phpenv_complete_extensions
|
||||
printf "xdebug\nredis\nimagick\nmongodb\nmemcached\npcov\nast\ngrpc\n"
|
||||
printf "protobuf\nyaml\nzip\ncurl\ngd\nintl\nmbstring\nmysql\nopcache\npdo\nsockets\nxml\n"
|
||||
end
|
||||
|
||||
function __phpenv_complete_binaries
|
||||
printf "php\nphp-config\nphpize\ncomposer\npecl\npear\n"
|
||||
end
|
||||
|
||||
# Complete versions for install command
|
||||
complete -c phpenv -f -n "__fish_seen_subcommand_from install" \
|
||||
-a "(__phpenv_complete_available_versions)" -d "PHP version"
|
||||
|
||||
# Complete installed versions for uninstall, use commands
|
||||
complete -c phpenv -f -n "__fish_seen_subcommand_from uninstall use local global" \
|
||||
-a "(__phpenv_complete_installed_versions)" -d "Installed PHP version"
|
||||
|
||||
# Add system option for use command
|
||||
complete -c phpenv -f -n "__fish_seen_subcommand_from use" -a system -d "Use system PHP"
|
||||
|
||||
# Complete binaries for which command
|
||||
complete -c phpenv -f -n "__fish_seen_subcommand_from which" -a "(__phpenv_complete_binaries)" -d "PHP binary"
|
||||
|
||||
# Complete config subcommands
|
||||
complete -c phpenv -f -n "__fish_seen_subcommand_from config; and not __fish_seen_subcommand_from get set list" \
|
||||
-a get -d "Get configuration value"
|
||||
complete -c phpenv -f -n "__fish_seen_subcommand_from config; and not __fish_seen_subcommand_from get set list" \
|
||||
-a set -d "Set configuration value"
|
||||
complete -c phpenv -f -n "__fish_seen_subcommand_from config; and not __fish_seen_subcommand_from get set list" \
|
||||
-a list -d "List all configuration"
|
||||
|
||||
# Complete config keys
|
||||
complete -c phpenv -f -n "__fish_seen_subcommand_from config; and __fish_seen_subcommand_from get set" \
|
||||
-a "(__phpenv_complete_config_keys)" -d "Configuration key"
|
||||
|
||||
# Complete config values for boolean settings
|
||||
complete -c phpenv -f \
|
||||
-n "__fish_seen_subcommand_from config; and __fish_seen_subcommand_from set" \
|
||||
-n "contains -- (commandline -opc)[-1] auto-install auto-install-extensions auto-switch" \
|
||||
-a "true false" -d "Boolean value"
|
||||
|
||||
# Complete extensions subcommands
|
||||
complete -c phpenv -f \
|
||||
-n "__fish_seen_subcommand_from extensions ext" \
|
||||
-n "not __fish_seen_subcommand_from install uninstall remove list ls available" \
|
||||
-a install -d "Install PHP extension"
|
||||
complete -c phpenv -f \
|
||||
-n "__fish_seen_subcommand_from extensions ext" \
|
||||
-n "not __fish_seen_subcommand_from install uninstall remove list ls available" \
|
||||
-a uninstall -d "Uninstall PHP extension"
|
||||
complete -c phpenv -f \
|
||||
-n "__fish_seen_subcommand_from extensions ext" \
|
||||
-n "not __fish_seen_subcommand_from install uninstall remove list ls available" \
|
||||
-a remove -d "Remove PHP extension"
|
||||
complete -c phpenv -f \
|
||||
-n "__fish_seen_subcommand_from extensions ext" \
|
||||
-n "not __fish_seen_subcommand_from install uninstall remove list ls available" \
|
||||
-a list -d "List installed extensions"
|
||||
complete -c phpenv -f \
|
||||
-n "__fish_seen_subcommand_from extensions ext" \
|
||||
-n "not __fish_seen_subcommand_from install uninstall remove list ls available" \
|
||||
-a ls -d "List installed extensions"
|
||||
complete -c phpenv -f \
|
||||
-n "__fish_seen_subcommand_from extensions ext" \
|
||||
-n "not __fish_seen_subcommand_from install uninstall remove list ls available" \
|
||||
-a available -d "Show available extensions"
|
||||
|
||||
# Complete extension names
|
||||
complete -c phpenv -f \
|
||||
-n "__fish_seen_subcommand_from extensions ext; and __fish_seen_subcommand_from install" \
|
||||
-a "(__phpenv_complete_extensions)" -d "PHP extension"
|
||||
|
||||
# Complete help options
|
||||
complete -c phpenv -f -s h -l help -d "Show help"
|
||||
54
config/fish/completions/pinact.fish
Normal file
54
config/fish/completions/pinact.fish
Normal file
@@ -0,0 +1,54 @@
|
||||
# pinact fish shell completion
|
||||
|
||||
function __fish_pinact_no_subcommand --description 'Test if there has been any subcommand yet'
|
||||
for i in (commandline -opc)
|
||||
if contains -- $i init run migrate token version help-all help h completion
|
||||
return 1
|
||||
end
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
complete -c pinact -n __fish_pinact_no_subcommand -f -l log-level -r -d 'log level'
|
||||
complete -c pinact -n __fish_pinact_no_subcommand -f -l config -s c -r -d 'configuration file path'
|
||||
complete -c pinact -n __fish_pinact_no_subcommand -f -l help -s h -d 'show help'
|
||||
complete -c pinact -n __fish_pinact_no_subcommand -f -l version -s v -d 'print the version'
|
||||
complete -x -c pinact -n __fish_pinact_no_subcommand -a init -d 'Create .pinact.yaml if it doesn\'t exist'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from init' -f -l help -s h -d 'show help'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from init; and not __fish_seen_subcommand_from help h' -a help -d 'Shows a list of commands or help for one command'
|
||||
complete -x -c pinact -n __fish_pinact_no_subcommand -a run -d 'Pin GitHub Actions versions'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l verify -s v -d 'Verify if pairs of commit SHA and version are correct'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l check -d 'Exit with a non-zero status code if actions are not pinned. If this is true, files aren\'t updated'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l update -s u -d 'Update actions to latest versions'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l review -d 'Create reviews'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l fix -d 'Fix code. By default, this is true. If -check or -diff is true, this is false by default'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l diff -d 'Output diff. By default, this is false'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l repo-owner -r -d 'GitHub repository owner'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l repo-name -r -d 'GitHub repository name'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l sha -r -d 'Commit SHA to be reviewed'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l pr -r -d 'GitHub pull request number'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from run' -f -l help -s h -d 'show help'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from run; and not __fish_seen_subcommand_from help h' -a help -d 'Shows a list of commands or help for one command'
|
||||
complete -x -c pinact -n __fish_pinact_no_subcommand -a migrate -d 'Migrate .pinact.yaml'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from migrate' -f -l help -s h -d 'show help'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from migrate; and not __fish_seen_subcommand_from help h' -a help -d 'Shows a list of commands or help for one command'
|
||||
complete -x -c pinact -n __fish_pinact_no_subcommand -a token -d 'Manage GitHub Access token'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from token' -f -l help -s h -d 'show help'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from token; and not __fish_seen_subcommand_from set remove rm help h' -a set -d 'Set GitHub Access token'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from token; and __fish_seen_subcommand_from set' -f -l stdin -d 'Read GitHub Access token from stdin'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from token; and __fish_seen_subcommand_from set' -f -l help -s h -d 'show help'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from token; and __fish_seen_subcommand_from set; and not __fish_seen_subcommand_from help h' -a help -d 'Shows a list of commands or help for one command'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from token; and not __fish_seen_subcommand_from set remove rm help h' -a remove -d 'Remove GitHub Access token'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from token; and __fish_seen_subcommand_from remove rm' -f -l help -s h -d 'show help'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from token; and __fish_seen_subcommand_from remove rm; and not __fish_seen_subcommand_from help h' -a help -d 'Shows a list of commands or help for one command'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from token; and not __fish_seen_subcommand_from set remove rm help h' -a help -d 'Shows a list of commands or help for one command'
|
||||
complete -x -c pinact -n __fish_pinact_no_subcommand -a version -d 'Show version'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from version' -f -l json -s j -d 'Output version in JSON format'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from version' -f -l help -s h -d 'show help'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from version; and not __fish_seen_subcommand_from help h' -a help -d 'Shows a list of commands or help for one command'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from help-all' -f -l help -s h -d 'show help'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from help-all; and not __fish_seen_subcommand_from help h' -a help -d 'Shows a list of commands or help for one command'
|
||||
complete -x -c pinact -n __fish_pinact_no_subcommand -a help -d 'Shows a list of commands or help for one command'
|
||||
complete -x -c pinact -n __fish_pinact_no_subcommand -a completion -d 'Output shell completion script for bash, zsh, fish, or Powershell'
|
||||
complete -c pinact -n '__fish_seen_subcommand_from completion' -f -l help -s h -d 'show help'
|
||||
complete -x -c pinact -n '__fish_seen_subcommand_from completion; and not __fish_seen_subcommand_from help h' -a help -d 'Shows a list of commands or help for one command'
|
||||
234
config/fish/completions/sesh.fish
Normal file
234
config/fish/completions/sesh.fish
Normal file
@@ -0,0 +1,234 @@
|
||||
# fish completion for sesh -*- shell-script -*-
|
||||
|
||||
function __sesh_debug
|
||||
set -l file "$BASH_COMP_DEBUG_FILE"
|
||||
if test -n "$file"
|
||||
echo "$argv" >>$file
|
||||
end
|
||||
end
|
||||
|
||||
function __sesh_perform_completion
|
||||
__sesh_debug "Starting __sesh_perform_completion"
|
||||
|
||||
# Extract all args except the last one
|
||||
set -l args (commandline -opc)
|
||||
# Extract the last arg and escape it in case it is a space
|
||||
set -l lastArg (string escape -- (commandline -ct))
|
||||
|
||||
__sesh_debug "args: $args"
|
||||
__sesh_debug "last arg: $lastArg"
|
||||
|
||||
# Disable ActiveHelp which is not supported for fish shell
|
||||
set -l requestComp "SESH_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
|
||||
|
||||
__sesh_debug "Calling $requestComp"
|
||||
set -l results (eval $requestComp 2> /dev/null)
|
||||
|
||||
# Some programs may output extra empty lines after the directive.
|
||||
# Let's ignore them or else it will break completion.
|
||||
# Ref: https://github.com/spf13/cobra/issues/1279
|
||||
for line in $results[-1..1]
|
||||
if test (string trim -- $line) = ""
|
||||
# Found an empty line, remove it
|
||||
set results $results[1..-2]
|
||||
else
|
||||
# Found non-empty line, we have our proper output
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
set -l comps $results[1..-2]
|
||||
set -l directiveLine $results[-1]
|
||||
|
||||
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
|
||||
# completions must be prefixed with the flag
|
||||
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
|
||||
|
||||
__sesh_debug "Comps: $comps"
|
||||
__sesh_debug "DirectiveLine: $directiveLine"
|
||||
__sesh_debug "flagPrefix: $flagPrefix"
|
||||
|
||||
for comp in $comps
|
||||
printf "%s%s\n" "$flagPrefix" "$comp"
|
||||
end
|
||||
|
||||
printf "%s\n" "$directiveLine"
|
||||
end
|
||||
|
||||
# this function limits calls to __sesh_perform_completion, by caching the result behind $__sesh_perform_completion_once_result
|
||||
function __sesh_perform_completion_once
|
||||
__sesh_debug "Starting __sesh_perform_completion_once"
|
||||
|
||||
if test -n "$__sesh_perform_completion_once_result"
|
||||
__sesh_debug "Seems like a valid result already exists, skipping __sesh_perform_completion"
|
||||
return 0
|
||||
end
|
||||
|
||||
set --global __sesh_perform_completion_once_result (__sesh_perform_completion)
|
||||
if test -z "$__sesh_perform_completion_once_result"
|
||||
__sesh_debug "No completions, probably due to a failure"
|
||||
return 1
|
||||
end
|
||||
|
||||
__sesh_debug "Performed completions and set __sesh_perform_completion_once_result"
|
||||
return 0
|
||||
end
|
||||
|
||||
# this function is used to clear the $__sesh_perform_completion_once_result variable after completions are run
|
||||
function __sesh_clear_perform_completion_once_result
|
||||
__sesh_debug ""
|
||||
__sesh_debug "========= clearing previously set __sesh_perform_completion_once_result variable =========="
|
||||
set --erase __sesh_perform_completion_once_result
|
||||
__sesh_debug "Successfully erased the variable __sesh_perform_completion_once_result"
|
||||
end
|
||||
|
||||
function __sesh_requires_order_preservation
|
||||
__sesh_debug ""
|
||||
__sesh_debug "========= checking if order preservation is required =========="
|
||||
|
||||
__sesh_perform_completion_once
|
||||
if test -z "$__sesh_perform_completion_once_result"
|
||||
__sesh_debug "Error determining if order preservation is required"
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__sesh_perform_completion_once_result[-1])
|
||||
__sesh_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveKeepOrder 32
|
||||
set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
|
||||
__sesh_debug "Keeporder is: $keeporder"
|
||||
|
||||
if test $keeporder -ne 0
|
||||
__sesh_debug "This does require order preservation"
|
||||
return 0
|
||||
end
|
||||
|
||||
__sesh_debug "This doesn't require order preservation"
|
||||
return 1
|
||||
end
|
||||
|
||||
# This function does two things:
|
||||
# - Obtain the completions and store them in the global __sesh_comp_results
|
||||
# - Return false if file completion should be performed
|
||||
function __sesh_prepare_completions
|
||||
__sesh_debug ""
|
||||
__sesh_debug "========= starting completion logic =========="
|
||||
|
||||
# Start fresh
|
||||
set --erase __sesh_comp_results
|
||||
|
||||
__sesh_perform_completion_once
|
||||
__sesh_debug "Completion results: $__sesh_perform_completion_once_result"
|
||||
|
||||
if test -z "$__sesh_perform_completion_once_result"
|
||||
__sesh_debug "No completion, probably due to a failure"
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l directive (string sub --start 2 $__sesh_perform_completion_once_result[-1])
|
||||
set --global __sesh_comp_results $__sesh_perform_completion_once_result[1..-2]
|
||||
|
||||
__sesh_debug "Completions are: $__sesh_comp_results"
|
||||
__sesh_debug "Directive is: $directive"
|
||||
|
||||
set -l shellCompDirectiveError 1
|
||||
set -l shellCompDirectiveNoSpace 2
|
||||
set -l shellCompDirectiveNoFileComp 4
|
||||
set -l shellCompDirectiveFilterFileExt 8
|
||||
set -l shellCompDirectiveFilterDirs 16
|
||||
|
||||
if test -z "$directive"
|
||||
set directive 0
|
||||
end
|
||||
|
||||
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
|
||||
if test $compErr -eq 1
|
||||
__sesh_debug "Received error directive: aborting."
|
||||
# Might as well do file completion, in case it helps
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
|
||||
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
|
||||
if test $filefilter -eq 1; or test $dirfilter -eq 1
|
||||
__sesh_debug "File extension filtering or directory filtering not supported"
|
||||
# Do full file completion instead
|
||||
return 1
|
||||
end
|
||||
|
||||
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
|
||||
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
|
||||
|
||||
__sesh_debug "nospace: $nospace, nofiles: $nofiles"
|
||||
|
||||
# If we want to prevent a space, or if file completion is NOT disabled,
|
||||
# we need to count the number of valid completions.
|
||||
# To do so, we will filter on prefix as the completions we have received
|
||||
# may not already be filtered so as to allow fish to match on different
|
||||
# criteria than the prefix.
|
||||
if test $nospace -ne 0; or test $nofiles -eq 0
|
||||
set -l prefix (commandline -t | string escape --style=regex)
|
||||
__sesh_debug "prefix: $prefix"
|
||||
|
||||
set -l completions (string match -r -- "^$prefix.*" $__sesh_comp_results)
|
||||
set --global __sesh_comp_results $completions
|
||||
__sesh_debug "Filtered completions are: $__sesh_comp_results"
|
||||
|
||||
# Important not to quote the variable for count to work
|
||||
set -l numComps (count $__sesh_comp_results)
|
||||
__sesh_debug "numComps: $numComps"
|
||||
|
||||
if test $numComps -eq 1; and test $nospace -ne 0
|
||||
# We must first split on \t to get rid of the descriptions to be
|
||||
# able to check what the actual completion will be.
|
||||
# We don't need descriptions anyway since there is only a single
|
||||
# real completion which the shell will expand immediately.
|
||||
set -l split (string split --max 1 \t $__sesh_comp_results[1])
|
||||
|
||||
# Fish won't add a space if the completion ends with any
|
||||
# of the following characters: @=/:.,
|
||||
set -l lastChar (string sub -s -1 -- $split)
|
||||
if not string match -r -q "[@=/:.,]" -- "$lastChar"
|
||||
# In other cases, to support the "nospace" directive we trick the shell
|
||||
# by outputting an extra, longer completion.
|
||||
__sesh_debug "Adding second completion to perform nospace directive"
|
||||
set --global __sesh_comp_results $split[1] $split[1].
|
||||
__sesh_debug "Completions are now: $__sesh_comp_results"
|
||||
end
|
||||
end
|
||||
|
||||
if test $numComps -eq 0; and test $nofiles -eq 0
|
||||
# To be consistent with bash and zsh, we only trigger file
|
||||
# completion when there are no other completions
|
||||
__sesh_debug "Requesting file completion"
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
return 0
|
||||
end
|
||||
|
||||
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
|
||||
# so we can properly delete any completions provided by another script.
|
||||
# Only do this if the program can be found, or else fish may print some errors; besides,
|
||||
# the existing completions will only be loaded if the program can be found.
|
||||
if type -q sesh
|
||||
# The space after the program name is essential to trigger completion for the program
|
||||
# and not completion of the program name itself.
|
||||
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
|
||||
complete --do-complete "sesh " >/dev/null 2>&1
|
||||
end
|
||||
|
||||
# Remove any pre-existing completions for the program since we will be handling all of them.
|
||||
complete -c sesh -e
|
||||
|
||||
# this will get called after the two calls below and clear the $__sesh_perform_completion_once_result global
|
||||
complete -c sesh -n __sesh_clear_perform_completion_once_result
|
||||
# The call to __sesh_prepare_completions will setup __sesh_comp_results
|
||||
# which provides the program's completion choices.
|
||||
# If this doesn't require order preservation, we don't use the -k flag
|
||||
complete -c sesh -n 'not __sesh_requires_order_preservation && __sesh_prepare_completions' -f -a '$__sesh_comp_results'
|
||||
# otherwise we use the -k flag
|
||||
complete -k -c sesh -n '__sesh_requires_order_preservation && __sesh_prepare_completions' -f -a '$__sesh_comp_results'
|
||||
240
config/fish/completions/wezterm.fish
Normal file
240
config/fish/completions/wezterm.fish
Normal file
@@ -0,0 +1,240 @@
|
||||
complete -c wezterm -n __fish_use_subcommand -l config-file -d 'Specify the configuration file to use, overrides the normal configuration file resolution' -r -F
|
||||
complete -c wezterm -n __fish_use_subcommand -l config -d 'Override specific configuration values' -r
|
||||
complete -c wezterm -n __fish_use_subcommand -s n -l skip-config -d 'Skip loading wezterm.lua'
|
||||
complete -c wezterm -n __fish_use_subcommand -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n __fish_use_subcommand -s V -l version -d 'Print version'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a start -d 'Start the GUI, optionally running an alternative program [aliases: -e]'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a blocking-start -d 'Start the GUI in blocking mode. You shouldn\'t see this, but you may see it in shell completions because of this open clap issue: <https://github.com/clap-rs/clap/issues/1335>'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a ssh -d 'Establish an ssh session'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a serial -d 'Open a serial port'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a connect -d 'Connect to wezterm multiplexer'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a ls-fonts -d 'Display information about fonts'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a show-keys -d 'Show key assignments'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a cli -d 'Interact with experimental mux server'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a imgcat -d 'Output an image to the terminal'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a set-working-directory -d 'Advise the terminal of the current working directory by emitting an OSC 7 escape sequence'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a record -d 'Record a terminal session as an asciicast'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a replay -d 'Replay an asciicast terminal session'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a shell-completion -d 'Generate shell completion information'
|
||||
complete -c wezterm -n __fish_use_subcommand -f -a help -d 'Print this message or the help of the given subcommand(s)'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -l cwd -d 'Specify the current working directory for the initially spawned program' -r -f -a "(__fish_complete_directories)"
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -l class -d 'Override the default windowing system class. The default is "org.wezfurlong.wezterm". Under X11 and Windows this changes the window class. Under Wayland this changes the app_id. This changes the class for all windows spawned by this instance of wezterm, including error, update and ssh authentication dialogs' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -l workspace -d 'Override the default workspace with the provided name. The default is "default"' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -l position -d 'Override the position for the initial window launched by this process.' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -l domain -d 'Name of the multiplexer domain section from the configuration to which you\'d like to connect. If omitted, the default domain will be used' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -l no-auto-connect -d 'If true, do not connect to domains marked as connect_automatically in your wezterm configuration file'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -l always-new-process -d 'If enabled, don\'t try to ask an existing wezterm GUI instance to start the command. Instead, always start the GUI in this invocation of wezterm so that you can wait for the command to complete by waiting for this wezterm process to finish'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -l new-tab -d 'When spawning into an existing GUI instance, spawn a new tab into the active window rather than spawn a new window'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -s e -d 'Dummy argument that consumes "-e" and does nothing. This is meant as a compatibility layer for supporting the widely adopted standard of passing the command to execute to the terminal via a "-e" option. This works because we then treat the remaining cmdline as trailing options, that will automatically be parsed via the existing "prog" option. This option exists only as a fallback. It is recommended to pass the command as a normal trailing command instead if possible'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -l attach -d 'When used with --domain, if the domain already has running panes, wezterm will simply attach and will NOT spawn the specified PROG. If you omit --attach when using --domain, wezterm will attach AND then spawn PROG'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from start" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -l cwd -d 'Specify the current working directory for the initially spawned program' -r -f -a "(__fish_complete_directories)"
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -l class -d 'Override the default windowing system class. The default is "org.wezfurlong.wezterm". Under X11 and Windows this changes the window class. Under Wayland this changes the app_id. This changes the class for all windows spawned by this instance of wezterm, including error, update and ssh authentication dialogs' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -l workspace -d 'Override the default workspace with the provided name. The default is "default"' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -l position -d 'Override the position for the initial window launched by this process.' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -l domain -d 'Name of the multiplexer domain section from the configuration to which you\'d like to connect. If omitted, the default domain will be used' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -l no-auto-connect -d 'If true, do not connect to domains marked as connect_automatically in your wezterm configuration file'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -l always-new-process -d 'If enabled, don\'t try to ask an existing wezterm GUI instance to start the command. Instead, always start the GUI in this invocation of wezterm so that you can wait for the command to complete by waiting for this wezterm process to finish'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -l new-tab -d 'When spawning into an existing GUI instance, spawn a new tab into the active window rather than spawn a new window'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -s e -d 'Dummy argument that consumes "-e" and does nothing. This is meant as a compatibility layer for supporting the widely adopted standard of passing the command to execute to the terminal via a "-e" option. This works because we then treat the remaining cmdline as trailing options, that will automatically be parsed via the existing "prog" option. This option exists only as a fallback. It is recommended to pass the command as a normal trailing command instead if possible'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -l attach -d 'When used with --domain, if the domain already has running panes, wezterm will simply attach and will NOT spawn the specified PROG. If you omit --attach when using --domain, wezterm will attach AND then spawn PROG'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from blocking-start" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ssh" -s o -l ssh-option -d 'Override specific SSH configuration options. `wezterm ssh` is able to parse some (but not all!) options from your `~/.ssh/config` and `/etc/ssh/ssh_config` files. This command line switch allows you to override or otherwise specify ssh_config style options' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ssh" -l class -d 'Override the default windowing system class. The default is "org.wezfurlong.wezterm". Under X11 and Windows this changes the window class. Under Wayland this changes the app_id. This changes the class for all windows spawned by this instance of wezterm, including error, update and ssh authentication dialogs' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ssh" -l position -d 'Override the position for the initial window launched by this process.' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ssh" -s v -d 'Enable verbose ssh protocol tracing. The trace information is printed to the stderr stream of the process'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ssh" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from serial" -l baud -d 'Set the baud rate. The default is 9600 baud' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from serial" -l class -d 'Override the default windowing system class. The default is "org.wezfurlong.wezterm". Under X11 and Windows this changes the window class. Under Wayland this changes the app_id. This changes the class for all windows spawned by this instance of wezterm, including error, update and ssh authentication dialogs' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from serial" -l position -d 'Override the position for the initial window launched by this process.' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from serial" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from connect" -l class -d 'Override the default windowing system class. The default is "org.wezfurlong.wezterm". Under X11 and Windows this changes the window class. Under Wayland this changes the app_id. This changes the class for all windows spawned by this instance of wezterm, including error, update and ssh authentication dialogs' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from connect" -l workspace -d 'Override the default workspace with the provided name. The default is "default"' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from connect" -l position -d 'Override the position for the initial window launched by this process.' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from connect" -l new-tab -d 'When spawning into an existing GUI instance, spawn a new tab into the active window rather than spawn a new window'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from connect" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ls-fonts" -l text -d 'Explain which fonts are used to render the supplied text string' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ls-fonts" -l codepoints -d 'Explain which fonts are used to render the specified unicode code point sequence. Code points are comma separated hex values' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ls-fonts" -l list-system -d 'Whether to list all fonts available to the system'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ls-fonts" -l rasterize-ascii -d 'Show rasterized glyphs for the text in --text or --codepoints using ascii blocks'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from ls-fonts" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from show-keys" -l key-table -d 'In lua mode, show only the named key table' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from show-keys" -l lua -d 'Show the keys as lua config statements'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from show-keys" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -l class -d 'When connecting to a gui instance, if you started the gui with `--class SOMETHING`, you should also pass that same value here in order for the client to find the correct gui instance' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -l no-auto-start -d 'Don\'t automatically start the server'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -l prefer-mux -d 'Prefer connecting to a background mux server. The default is to prefer connecting to a running wezterm gui instance'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a list -d 'list windows, tabs and panes'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a list-clients -d 'list clients'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a proxy -d 'start rpc proxy pipe'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a tlscreds -d 'obtain tls credentials'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a move-pane-to-new-tab -d 'Move a pane into a new tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a split-pane -d 'split the current pane.
|
||||
Outputs the pane-id for the newly created pane on success'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a spawn -d 'Spawn a command into a new window or tab
|
||||
Outputs the pane-id for the newly created pane on success'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a send-text -d 'Send text to a pane as though it were pasted. If bracketed paste mode is enabled in the pane, then the text will be sent as a bracketed paste'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a get-text -d 'Retrieves the textual content of a pane and output it to stdout'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a activate-pane-direction -d 'Activate an adjacent pane in the specified direction'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a get-pane-direction -d 'Determine the adjacent pane in the specified direction'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a kill-pane -d 'Kill a pane'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a activate-pane -d 'Activate (focus) a pane'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a adjust-pane-size -d 'Adjust the size of a pane directionally'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a activate-tab -d 'Activate a tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a set-tab-title -d 'Change the title of a tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a set-window-title -d 'Change the title of a window'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a rename-workspace -d 'Rename a workspace'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a zoom-pane -d 'Zoom, unzoom, or toggle zoom state'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a help -d 'Print this message or the help of the given subcommand(s)'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from list" -l format -d 'Controls the output format. "table" and "json" are possible formats' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from list-clients" -l format -d 'Controls the output format. "table" and "json" are possible formats' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from list-clients" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from proxy" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from tlscreds" -l pem -d 'Output a PEM file encoded copy of the credentials'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from tlscreds" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from move-pane-to-new-tab" -l pane-id -d 'Specify the pane that should be moved. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from move-pane-to-new-tab" -l window-id -d 'Specify the window into which the new tab will be created. If omitted, the window associated with the current pane is used' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from move-pane-to-new-tab" -l workspace -d 'If creating a new window, override the default workspace name with the provided name. The default name is "default"' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from move-pane-to-new-tab" -l new-window -d 'Create tab in a new window, rather than the window currently containing the pane'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from move-pane-to-new-tab" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l pane-id -d 'Specify the pane that should be split. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l cells -d 'The number of cells that the new split should have. If omitted, 50% of the available space is used' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l percent -d 'Specify the number of cells that the new split should have, expressed as a percentage of the available space' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l cwd -d 'Specify the current working directory for the initially spawned program' -r -f -a "(__fish_complete_directories)"
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l move-pane-id -d 'Instead of spawning a new command, move the specified pane into the newly created split' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l horizontal -d 'Equivalent to `--right`. If neither this nor any other direction is specified, the default is equivalent to `--bottom`'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l left -d 'Split horizontally, with the new pane on the left'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l right -d 'Split horizontally, with the new pane on the right'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l top -d 'Split vertically, with the new pane on the top'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l bottom -d 'Split vertically, with the new pane on the bottom'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -l top-level -d 'Rather than splitting the active pane, split the entire window'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from split-pane" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from spawn" -l pane-id -d 'Specify the current pane. The default is to use the current pane based on the environment variable WEZTERM_PANE. The pane is used to determine the current domain and window' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from spawn" -l domain-name -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from spawn" -l window-id -d 'Specify the window into which to spawn a tab. If omitted, the window associated with the current pane is used. Cannot be used with `--workspace` or `--new-window`' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from spawn" -l cwd -d 'Specify the current working directory for the initially spawned program' -r -f -a "(__fish_complete_directories)"
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from spawn" -l workspace -d 'When creating a new window, override the default workspace name with the provided name. The default name is "default". Requires `--new-window`' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from spawn" -l new-window -d 'Spawn into a new window, rather than a new tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from spawn" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from send-text" -l pane-id -d 'Specify the target pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from send-text" -l no-paste -d 'Send the text directly, rather than as a bracketed paste'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from send-text" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from get-text" -l pane-id -d 'Specify the target pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from get-text" -l start-line -d 'The starting line number. 0 is the first line of terminal screen. Negative numbers proceed backwards into the scrollback. The default value is unspecified is 0, the first line of the terminal screen' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from get-text" -l end-line -d 'The ending line number. 0 is the first line of terminal screen. Negative numbers proceed backwards into the scrollback. The default value if unspecified is the bottom of the the terminal screen' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from get-text" -l escapes -d 'Include escape sequences that color and style the text. If omitted, unattributed text will be returned'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from get-text" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-pane-direction" -l pane-id -d 'Specify the current pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-pane-direction" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from get-pane-direction" -l pane-id -d 'Specify the current pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from get-pane-direction" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from kill-pane" -l pane-id -d 'Specify the target pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from kill-pane" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-pane" -l pane-id -d 'Specify the target pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-pane" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from adjust-pane-size" -l pane-id -d 'Specify the target pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from adjust-pane-size" -l amount -d 'Specify the number of cells to resize by, defaults to 1' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from adjust-pane-size" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-tab" -l tab-id -d 'Specify the target tab by its id' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-tab" -l tab-index -d 'Specify the target tab by its index within the window that holds the current pane. Indices are 0-based, with 0 being the left-most tab. Negative numbers can be used to reference the right-most tab, so -1 is the right-most tab, -2 is the penultimate tab and so on' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-tab" -l tab-relative -d 'Specify the target tab by its relative offset. -1 selects the tab to the left. -2 two tabs to the left. 1 is one tab to the right and so on' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-tab" -l pane-id -d 'Specify the current pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-tab" -l no-wrap -d 'When used with tab-relative, prevents wrapping around and will instead clamp to the left-most when moving left or right-most when moving right'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from activate-tab" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from set-tab-title" -l tab-id -d 'Specify the target tab by its id' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from set-tab-title" -l pane-id -d 'Specify the current pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from set-tab-title" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from set-window-title" -l window-id -d 'Specify the target window by its id' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from set-window-title" -l pane-id -d 'Specify the current pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from set-window-title" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from rename-workspace" -l workspace -d 'Specify the workspace to rename' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from rename-workspace" -l pane-id -d 'Specify the current pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from rename-workspace" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from zoom-pane" -l pane-id -d 'Specify the target pane. The default is to use the current pane based on the environment variable WEZTERM_PANE' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from zoom-pane" -l zoom -d 'Zooms the pane if it wasn\'t already zoomed'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from zoom-pane" -l unzoom -d 'Unzooms the pane if it was zoomed'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from zoom-pane" -l toggle -d 'Toggles the zoom state of the pane'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from zoom-pane" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a list -d 'list windows, tabs and panes'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a list-clients -d 'list clients'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a proxy -d 'start rpc proxy pipe'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a tlscreds -d 'obtain tls credentials'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a move-pane-to-new-tab -d 'Move a pane into a new tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a split-pane -d 'split the current pane.
|
||||
Outputs the pane-id for the newly created pane on success'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a spawn -d 'Spawn a command into a new window or tab
|
||||
Outputs the pane-id for the newly created pane on success'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a send-text -d 'Send text to a pane as though it were pasted. If bracketed paste mode is enabled in the pane, then the text will be sent as a bracketed paste'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a get-text -d 'Retrieves the textual content of a pane and output it to stdout'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a activate-pane-direction -d 'Activate an adjacent pane in the specified direction'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a get-pane-direction -d 'Determine the adjacent pane in the specified direction'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a kill-pane -d 'Kill a pane'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a activate-pane -d 'Activate (focus) a pane'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a adjust-pane-size -d 'Adjust the size of a pane directionally'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a activate-tab -d 'Activate a tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a set-tab-title -d 'Change the title of a tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a set-window-title -d 'Change the title of a window'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a rename-workspace -d 'Rename a workspace'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a zoom-pane -d 'Zoom, unzoom, or toggle zoom state'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from cli; and __fish_seen_subcommand_from help; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane; and not __fish_seen_subcommand_from help" -f -a help -d 'Print this message or the help of the given subcommand(s)'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l width -d 'Specify the display width; defaults to "auto" which automatically selects an appropriate size. You may also use an integer value `N` to specify the number of cells, or `Npx` to specify the number of pixels, or `N%` to size relative to the terminal width' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l height -d 'Specify the display height; defaults to "auto" which automatically selects an appropriate size. You may also use an integer value `N` to specify the number of cells, or `Npx` to specify the number of pixels, or `N%` to size relative to the terminal height' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l position -d 'Set the cursor position prior to displaying the image. The default is to use the current cursor position. Coordinates are expressed in cells with 0,0 being the top left cell position' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l tmux-passthru -d 'How to manage passing the escape through to tmux' -r -f -a "{disable '',enable '',detect ''}"
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l max-pixels -d 'Set the maximum number of pixels per image frame. Images will be scaled down so that they do not exceed this size, unless `--no-resample` is also used. The default value matches the limit set by wezterm. Note that resampling the image here will reduce any animated images to a single frame' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l resample-format -d 'Specify the image format to use to encode resampled/resized images. The default is to match the input format, but you can choose an alternative format' -r -f -a "{png '',jpeg '',input ''}"
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l resample-filter -d 'Specify the filtering technique used when resizing/resampling images. The default is a reasonable middle ground of speed and quality' -r -f -a "{nearest '',triangle '',catmull-rom '',gaussian '',lanczos3 ''}"
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l resize -d 'Pre-process the image to resize it to the specified dimensions, expressed as eg: 800x600 (width x height). The resize is independent of other parameters that control the image placement and dimensions in the terminal; this is provided as a convenience preprocessing step' -r
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l no-preserve-aspect-ratio -d 'Do not respect the aspect ratio. The default is to respect the aspect ratio'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l no-move-cursor -d 'Do not move the cursor after displaying the image. Note that when used like this from the shell, there is a very high chance that shell prompt will overwrite the image; you may wish to also use `--hold` in that case'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l hold -d 'Wait for enter to be pressed after displaying the image'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l no-resample -d 'Do not resample images whose frames are larger than the max-pixels value. Note that this will typically result in the image refusing to display in wezterm'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -l show-resample-timing -d 'When resampling or resizing, display some diagnostics around the timing/performance of that operation'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from imgcat" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from set-working-directory" -l tmux-passthru -d 'How to manage passing the escape through to tmux' -r -f -a "{disable '',enable '',detect ''}"
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from set-working-directory" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from record" -l cwd -d 'Start in the specified directory, instead of the default_cwd defined by your wezterm configuration' -r -F
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from record" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from replay" -l explain -d 'Explain what is being sent/received'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from replay" -l explain-only -d 'Don\'t replay, just show the explanation'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from replay" -l cat -d 'Just emit raw escape sequences all at once, with no timing information'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from replay" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from shell-completion" -l shell -d 'Which shell to generate for' -r -f -a "{bash '',elvish '',fish '',power-shell '',zsh '',fig ''}"
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from shell-completion" -s h -l help -d 'Print help'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a start -d 'Start the GUI, optionally running an alternative program [aliases: -e]'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a blocking-start -d 'Start the GUI in blocking mode. You shouldn\'t see this, but you may see it in shell completions because of this open clap issue: <https://github.com/clap-rs/clap/issues/1335>'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a ssh -d 'Establish an ssh session'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a serial -d 'Open a serial port'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a connect -d 'Connect to wezterm multiplexer'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a ls-fonts -d 'Display information about fonts'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a show-keys -d 'Show key assignments'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a cli -d 'Interact with experimental mux server'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a imgcat -d 'Output an image to the terminal'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a set-working-directory -d 'Advise the terminal of the current working directory by emitting an OSC 7 escape sequence'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a record -d 'Record a terminal session as an asciicast'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a replay -d 'Replay an asciicast terminal session'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a shell-completion -d 'Generate shell completion information'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from start; and not __fish_seen_subcommand_from blocking-start; and not __fish_seen_subcommand_from ssh; and not __fish_seen_subcommand_from serial; and not __fish_seen_subcommand_from connect; and not __fish_seen_subcommand_from ls-fonts; and not __fish_seen_subcommand_from show-keys; and not __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from imgcat; and not __fish_seen_subcommand_from set-working-directory; and not __fish_seen_subcommand_from record; and not __fish_seen_subcommand_from replay; and not __fish_seen_subcommand_from shell-completion; and not __fish_seen_subcommand_from help" -f -a help -d 'Print this message or the help of the given subcommand(s)'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a list -d 'list windows, tabs and panes'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a list-clients -d 'list clients'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a proxy -d 'start rpc proxy pipe'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a tlscreds -d 'obtain tls credentials'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a move-pane-to-new-tab -d 'Move a pane into a new tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a split-pane -d 'split the current pane.
|
||||
Outputs the pane-id for the newly created pane on success'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a spawn -d 'Spawn a command into a new window or tab
|
||||
Outputs the pane-id for the newly created pane on success'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a send-text -d 'Send text to a pane as though it were pasted. If bracketed paste mode is enabled in the pane, then the text will be sent as a bracketed paste'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a get-text -d 'Retrieves the textual content of a pane and output it to stdout'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a activate-pane-direction -d 'Activate an adjacent pane in the specified direction'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a get-pane-direction -d 'Determine the adjacent pane in the specified direction'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a kill-pane -d 'Kill a pane'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a activate-pane -d 'Activate (focus) a pane'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a adjust-pane-size -d 'Adjust the size of a pane directionally'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a activate-tab -d 'Activate a tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a set-tab-title -d 'Change the title of a tab'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a set-window-title -d 'Change the title of a window'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a rename-workspace -d 'Rename a workspace'
|
||||
complete -c wezterm -n "__fish_seen_subcommand_from help; and __fish_seen_subcommand_from cli; and not __fish_seen_subcommand_from list; and not __fish_seen_subcommand_from list-clients; and not __fish_seen_subcommand_from proxy; and not __fish_seen_subcommand_from tlscreds; and not __fish_seen_subcommand_from move-pane-to-new-tab; and not __fish_seen_subcommand_from split-pane; and not __fish_seen_subcommand_from spawn; and not __fish_seen_subcommand_from send-text; and not __fish_seen_subcommand_from get-text; and not __fish_seen_subcommand_from activate-pane-direction; and not __fish_seen_subcommand_from get-pane-direction; and not __fish_seen_subcommand_from kill-pane; and not __fish_seen_subcommand_from activate-pane; and not __fish_seen_subcommand_from adjust-pane-size; and not __fish_seen_subcommand_from activate-tab; and not __fish_seen_subcommand_from set-tab-title; and not __fish_seen_subcommand_from set-window-title; and not __fish_seen_subcommand_from rename-workspace; and not __fish_seen_subcommand_from zoom-pane" -f -a zoom-pane -d 'Zoom, unzoom, or toggle zoom state'
|
||||
24
config/fish/conf.d/everforest-dark-hard.fish
Normal file
24
config/fish/conf.d/everforest-dark-hard.fish
Normal file
@@ -0,0 +1,24 @@
|
||||
# Everforest color scheme for fish shell
|
||||
# Generated from template - do not edit manually
|
||||
|
||||
# Set fish colors
|
||||
set -U fish_color_normal #d3c6aa
|
||||
set -U fish_color_command #7fbbb3
|
||||
set -U fish_color_keyword #d699b6
|
||||
set -U fish_color_quote #dbbc7f
|
||||
set -U fish_color_redirection #83c092
|
||||
set -U fish_color_end #e69875
|
||||
set -U fish_color_error #e67e80
|
||||
set -U fish_color_param #d3c6aa
|
||||
set -U fish_color_comment #7a8478
|
||||
set -U fish_color_selection --background=#323c41
|
||||
set -U fish_color_search_match --background=#323c41
|
||||
set -U fish_color_operator #a7c080
|
||||
set -U fish_color_escape #d699b6
|
||||
set -U fish_color_autosuggestion #859289
|
||||
|
||||
# Set fish pager colors
|
||||
set -U fish_pager_color_progress #9da9a0
|
||||
set -U fish_pager_color_prefix #7fbbb3
|
||||
set -U fish_pager_color_completion #d3c6aa
|
||||
set -U fish_pager_color_description #859289
|
||||
24
config/fish/conf.d/everforest-dark-medium.fish
Normal file
24
config/fish/conf.d/everforest-dark-medium.fish
Normal file
@@ -0,0 +1,24 @@
|
||||
# Everforest color scheme for fish shell
|
||||
# Generated from template - do not edit manually
|
||||
|
||||
# Set fish colors
|
||||
set -U fish_color_normal #d3c6aa
|
||||
set -U fish_color_command #7fbbb3
|
||||
set -U fish_color_keyword #d699b6
|
||||
set -U fish_color_quote #dbbc7f
|
||||
set -U fish_color_redirection #83c092
|
||||
set -U fish_color_end #e69875
|
||||
set -U fish_color_error #e67e80
|
||||
set -U fish_color_param #d3c6aa
|
||||
set -U fish_color_comment #7a8478
|
||||
set -U fish_color_selection --background=#374247
|
||||
set -U fish_color_search_match --background=#374247
|
||||
set -U fish_color_operator #a7c080
|
||||
set -U fish_color_escape #d699b6
|
||||
set -U fish_color_autosuggestion #859289
|
||||
|
||||
# Set fish pager colors
|
||||
set -U fish_pager_color_progress #9da9a0
|
||||
set -U fish_pager_color_prefix #7fbbb3
|
||||
set -U fish_pager_color_completion #d3c6aa
|
||||
set -U fish_pager_color_description #859289
|
||||
24
config/fish/conf.d/everforest-dark-soft.fish
Normal file
24
config/fish/conf.d/everforest-dark-soft.fish
Normal file
@@ -0,0 +1,24 @@
|
||||
# Everforest color scheme for fish shell
|
||||
# Generated from template - do not edit manually
|
||||
|
||||
# Set fish colors
|
||||
set -U fish_color_normal #d3c6aa
|
||||
set -U fish_color_command #7fbbb3
|
||||
set -U fish_color_keyword #d699b6
|
||||
set -U fish_color_quote #dbbc7f
|
||||
set -U fish_color_redirection #83c092
|
||||
set -U fish_color_end #e69875
|
||||
set -U fish_color_error #e67e80
|
||||
set -U fish_color_param #d3c6aa
|
||||
set -U fish_color_comment #7a8478
|
||||
set -U fish_color_selection --background=#3a464c
|
||||
set -U fish_color_search_match --background=#3a464c
|
||||
set -U fish_color_operator #a7c080
|
||||
set -U fish_color_escape #d699b6
|
||||
set -U fish_color_autosuggestion #859289
|
||||
|
||||
# Set fish pager colors
|
||||
set -U fish_pager_color_progress #9da9a0
|
||||
set -U fish_pager_color_prefix #7fbbb3
|
||||
set -U fish_pager_color_completion #d3c6aa
|
||||
set -U fish_pager_color_description #859289
|
||||
24
config/fish/conf.d/everforest-light-hard.fish
Normal file
24
config/fish/conf.d/everforest-light-hard.fish
Normal file
@@ -0,0 +1,24 @@
|
||||
# Everforest color scheme for fish shell
|
||||
# Generated from template - do not edit manually
|
||||
|
||||
# Set fish colors
|
||||
set -U fish_color_normal #5c6a72
|
||||
set -U fish_color_command #7fbbb3
|
||||
set -U fish_color_keyword #d699b6
|
||||
set -U fish_color_quote #dbbc7f
|
||||
set -U fish_color_redirection #83c092
|
||||
set -U fish_color_end #e69875
|
||||
set -U fish_color_error #e67e80
|
||||
set -U fish_color_param #5c6a72
|
||||
set -U fish_color_comment #a6b0a0
|
||||
set -U fish_color_selection --background=#f4f0d9
|
||||
set -U fish_color_search_match --background=#f4f0d9
|
||||
set -U fish_color_operator #a7c080
|
||||
set -U fish_color_escape #d699b6
|
||||
set -U fish_color_autosuggestion #b3c0b0
|
||||
|
||||
# Set fish pager colors
|
||||
set -U fish_pager_color_progress #c0cdb8
|
||||
set -U fish_pager_color_prefix #7fbbb3
|
||||
set -U fish_pager_color_completion #5c6a72
|
||||
set -U fish_pager_color_description #b3c0b0
|
||||
24
config/fish/conf.d/everforest-light-medium.fish
Normal file
24
config/fish/conf.d/everforest-light-medium.fish
Normal file
@@ -0,0 +1,24 @@
|
||||
# Everforest color scheme for fish shell
|
||||
# Generated from template - do not edit manually
|
||||
|
||||
# Set fish colors
|
||||
set -U fish_color_normal #5c6a72
|
||||
set -U fish_color_command #7fbbb3
|
||||
set -U fish_color_keyword #d699b6
|
||||
set -U fish_color_quote #dbbc7f
|
||||
set -U fish_color_redirection #83c092
|
||||
set -U fish_color_end #e69875
|
||||
set -U fish_color_error #e67e80
|
||||
set -U fish_color_param #5c6a72
|
||||
set -U fish_color_comment #a6b0a0
|
||||
set -U fish_color_selection --background=#ede6cf
|
||||
set -U fish_color_search_match --background=#ede6cf
|
||||
set -U fish_color_operator #a7c080
|
||||
set -U fish_color_escape #d699b6
|
||||
set -U fish_color_autosuggestion #b3c0b0
|
||||
|
||||
# Set fish pager colors
|
||||
set -U fish_pager_color_progress #c0cdb8
|
||||
set -U fish_pager_color_prefix #7fbbb3
|
||||
set -U fish_pager_color_completion #5c6a72
|
||||
set -U fish_pager_color_description #b3c0b0
|
||||
24
config/fish/conf.d/everforest-light-soft.fish
Normal file
24
config/fish/conf.d/everforest-light-soft.fish
Normal file
@@ -0,0 +1,24 @@
|
||||
# Everforest color scheme for fish shell
|
||||
# Generated from template - do not edit manually
|
||||
|
||||
# Set fish colors
|
||||
set -U fish_color_normal #5c6a72
|
||||
set -U fish_color_command #7fbbb3
|
||||
set -U fish_color_keyword #d699b6
|
||||
set -U fish_color_quote #dbbc7f
|
||||
set -U fish_color_redirection #83c092
|
||||
set -U fish_color_end #e69875
|
||||
set -U fish_color_error #e67e80
|
||||
set -U fish_color_param #5c6a72
|
||||
set -U fish_color_comment #a6b0a0
|
||||
set -U fish_color_selection --background=#e9e1cc
|
||||
set -U fish_color_search_match --background=#e9e1cc
|
||||
set -U fish_color_operator #a7c080
|
||||
set -U fish_color_escape #d699b6
|
||||
set -U fish_color_autosuggestion #b3c0b0
|
||||
|
||||
# Set fish pager colors
|
||||
set -U fish_pager_color_progress #c0cdb8
|
||||
set -U fish_pager_color_prefix #7fbbb3
|
||||
set -U fish_pager_color_completion #5c6a72
|
||||
set -U fish_pager_color_description #b3c0b0
|
||||
27
config/fish/conf.d/fzf.fish
Normal file
27
config/fish/conf.d/fzf.fish
Normal file
@@ -0,0 +1,27 @@
|
||||
# fzf.fish is only meant to be used in interactive mode. If not in interactive mode and not in CI, skip the config to speed up shell startup
|
||||
if not status is-interactive && test "$CI" != true
|
||||
exit
|
||||
end
|
||||
|
||||
# Because of scoping rules, to capture the shell variables exactly as they are, we must read
|
||||
# them before even executing _fzf_search_variables. We use psub to store the
|
||||
# variables' info in temporary files and pass in the filenames as arguments.
|
||||
# This variable is global so that it can be referenced by fzf_configure_bindings and in tests
|
||||
set --global _fzf_search_vars_command '_fzf_search_variables (set --show | psub) (set --names | psub)'
|
||||
|
||||
# Install the default bindings, which are mnemonic and minimally conflict with fish's preset bindings
|
||||
fzf_configure_bindings
|
||||
|
||||
# Doesn't erase autoloaded _fzf_* functions because they are not easily accessible once key bindings are erased
|
||||
function _fzf_uninstall --on-event fzf_uninstall
|
||||
_fzf_uninstall_bindings
|
||||
|
||||
set --erase _fzf_search_vars_command
|
||||
functions --erase _fzf_uninstall _fzf_migration_message _fzf_uninstall_bindings fzf_configure_bindings
|
||||
complete --erase fzf_configure_bindings
|
||||
|
||||
set_color cyan
|
||||
echo "fzf.fish uninstalled."
|
||||
echo "You may need to manually remove fzf_configure_bindings from your config.fish if you were using custom key bindings."
|
||||
set_color normal
|
||||
end
|
||||
37
config/fish/conf.d/phpenv.fish
Normal file
37
config/fish/conf.d/phpenv.fish
Normal file
@@ -0,0 +1,37 @@
|
||||
# phpenv configuration file
|
||||
# Place in ~/.config/fish/conf.d/phpenv.fish
|
||||
|
||||
# Set default configuration using session variables for most settings
|
||||
# Only PHPENV_GLOBAL_VERSION needs to persist across shells
|
||||
if not set -q PHPENV_AUTO_INSTALL
|
||||
set -g PHPENV_AUTO_INSTALL false
|
||||
end
|
||||
|
||||
if not set -q PHPENV_AUTO_INSTALL_EXTENSIONS
|
||||
set -g PHPENV_AUTO_INSTALL_EXTENSIONS false
|
||||
end
|
||||
|
||||
if not set -q PHPENV_AUTO_SWITCH
|
||||
set -g PHPENV_AUTO_SWITCH true
|
||||
end
|
||||
|
||||
if not set -q PHPENV_DEFAULT_EXTENSIONS
|
||||
set -g PHPENV_DEFAULT_EXTENSIONS opcache
|
||||
end
|
||||
|
||||
# Initialize PATH on shell startup if global version is set (less aggressive)
|
||||
if test -n "$PHPENV_GLOBAL_VERSION"; and not set -q PHPENV_INITIALIZED
|
||||
if functions -q __phpenv_is_version_installed __phpenv_set_php_path
|
||||
if __phpenv_is_version_installed "$PHPENV_GLOBAL_VERSION" 2>/dev/null
|
||||
# Only set PATH if no project-specific version is detected
|
||||
if not __phpenv_find_version_file .php-version >/dev/null 2>&1
|
||||
if not __phpenv_find_version_file .tool-version >/dev/null 2>&1
|
||||
if not test -f composer.json
|
||||
__phpenv_set_php_path "$PHPENV_GLOBAL_VERSION" 2>/dev/null
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
set -g PHPENV_INITIALIZED true
|
||||
end
|
||||
@@ -3,50 +3,50 @@ set --global sponge_version 1.1.0
|
||||
|
||||
# Allow to repeat previous command by default
|
||||
if not set --query --universal sponge_delay
|
||||
set --universal sponge_delay 2
|
||||
set --universal sponge_delay 2
|
||||
end
|
||||
|
||||
# Purge entries both after `sponge_delay` entries and on exit by default
|
||||
if not set --query --universal sponge_purge_only_on_exit
|
||||
set --universal sponge_purge_only_on_exit false
|
||||
set --universal sponge_purge_only_on_exit false
|
||||
end
|
||||
|
||||
# Add default filters
|
||||
if not set --query --universal sponge_filters
|
||||
set --universal sponge_filters sponge_filter_failed sponge_filter_matched
|
||||
set --universal sponge_filters sponge_filter_failed sponge_filter_matched
|
||||
end
|
||||
|
||||
# Don't filter out commands that already have been in the history by default
|
||||
if not set --query --universal sponge_allow_previously_successful
|
||||
set --universal sponge_allow_previously_successful true
|
||||
set --universal sponge_allow_previously_successful true
|
||||
end
|
||||
|
||||
# Consider `0` the only successful exit code by default
|
||||
if not set --query --universal sponge_successful_exit_codes
|
||||
set --universal sponge_successful_exit_codes 0
|
||||
set --universal sponge_successful_exit_codes 0
|
||||
end
|
||||
|
||||
# No active regex patterns by default
|
||||
if not set --query --universal sponge_regex_patterns
|
||||
set --universal sponge_regex_patterns
|
||||
set --universal sponge_regex_patterns
|
||||
end
|
||||
|
||||
# Attach event handlers
|
||||
functions --query \
|
||||
_sponge_on_prompt \
|
||||
_sponge_on_preexec \
|
||||
_sponge_on_postexec \
|
||||
_sponge_on_exit
|
||||
_sponge_on_prompt \
|
||||
_sponge_on_preexec \
|
||||
_sponge_on_postexec \
|
||||
_sponge_on_exit
|
||||
|
||||
# Initialize empty state for the first run
|
||||
function _sponge_install --on-event sponge_install
|
||||
set --global _sponge_current_command ''
|
||||
set --global _sponge_current_command_exit_code 0
|
||||
set --global _sponge_current_command_previously_in_history false
|
||||
set --global _sponge_current_command ''
|
||||
set --global _sponge_current_command_exit_code 0
|
||||
set --global _sponge_current_command_previously_in_history false
|
||||
end
|
||||
|
||||
# Clean up variables
|
||||
function _sponge_uninstall --on-event sponge_uninstall
|
||||
_sponge_clear_state
|
||||
set --erase sponge_version
|
||||
_sponge_clear_state
|
||||
set --erase sponge_version
|
||||
end
|
||||
|
||||
@@ -24,7 +24,10 @@ if status is-interactive
|
||||
type -q pyenv; and source (pyenv virtualenv-init -|psub)
|
||||
type -q goenv; and source (goenv init -|psub)
|
||||
# type -q fnm; and fnm env --use-on-cd --shell fish | source
|
||||
type -q load_nvm; and load_nvm > /dev/stderr
|
||||
type -q load_nvm; and load_nvm >/dev/stderr
|
||||
|
||||
# Initialize other tools if available
|
||||
type -q zoxide; and zoxide init fish | source
|
||||
|
||||
# Start tmux if not already running and not in SSH
|
||||
open-tmux # defined in functions/open-tmux.fish
|
||||
@@ -32,5 +35,13 @@ end
|
||||
|
||||
# Added by LM Studio CLI (lms)
|
||||
set -gx PATH $PATH $HOME/.lmstudio/bin
|
||||
# End of LM Studio CLI section
|
||||
|
||||
# vim: ft=fish ts=4 sw=4 et:
|
||||
|
||||
# opencode
|
||||
fish_add_path $HOME/.opencode/bin
|
||||
|
||||
# Added by OrbStack: command-line tools and integration
|
||||
# This won't be added again if you remove it.
|
||||
source ~/.orbstack/shell/init2.fish 2>/dev/null || :
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# XDG Base Directory Specification
|
||||
set -q XDG_CONFIG_HOME; or set -x XDG_CONFIG_HOME "$HOME/.config"
|
||||
set -q XDG_DATA_HOME; or set -x XDG_DATA_HOME "$HOME/.local/share"
|
||||
@@ -96,7 +94,8 @@ set -q FNM_RESOLVE_ENGINES; or set -x FNM_RESOLVE_ENGINES true
|
||||
|
||||
# fzf configuration
|
||||
set -q FZF_BASE; or set -x FZF_BASE "$XDG_CONFIG_HOME/fzf"
|
||||
set -q FZF_DEFAULT_OPTS; or set -x FZF_DEFAULT_OPTS '--height 40% --tmux bottom,40% --layout reverse --border top'
|
||||
set -q FZF_DEFAULT_OPTS; or set -x FZF_DEFAULT_OPTS \
|
||||
'--height 40% --tmux bottom,40% --layout reverse --border top'
|
||||
|
||||
# GnuPG configuration
|
||||
set -q GNUPGHOME; or set -x GNUPGHOME "$XDG_DATA_HOME/gnupg"
|
||||
@@ -160,6 +159,10 @@ set -q TMS_CONFIG_FILE; or set -x TMS_CONFIG_FILE "$XDG_CONFIG_HOME/tms/config.t
|
||||
set -q WAKATIME_HOME; or set -x WAKATIME_HOME "$XDG_STATE_HOME/wakatime"
|
||||
x-dc "$WAKATIME_HOME"
|
||||
|
||||
# Zoxide configuration
|
||||
set -q _ZO_DATA_DIR; or set -x _ZO_DATA_DIR "$XDG_DATA_HOME/zoxide"
|
||||
set -q _ZO_EXCLUDE_DIRS; or set -x _ZO_EXCLUDE_DIRS "$XDG_DATA_HOME"
|
||||
|
||||
# Miscellaneous configuration
|
||||
set -q CHEAT_USE_FZF; or set -x CHEAT_USE_FZF true
|
||||
set -q SQLITE_HISTORY; or set -x SQLITE_HISTORY "$XDG_CACHE_HOME/sqlite/sqlite_history"
|
||||
@@ -182,6 +185,8 @@ set -gx tide_prompt_transient_enabled true
|
||||
set -gx tide_prompt_add_newline_before true
|
||||
set -gx tide_prompt_min_cols 34
|
||||
set -gx tide_prompt_pad_items false
|
||||
set -gx tide_left_prompt_items context pwd git node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir zig newline character
|
||||
set -gx tide_left_prompt_items context pwd git node python rustc java php \
|
||||
pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell \
|
||||
crystal elixir zig newline character
|
||||
set -gx tide_right_prompt_items status jobs direnv
|
||||
set -gx tide_context_hostname_parts 1
|
||||
|
||||
@@ -8,3 +8,5 @@ edc/bass
|
||||
meaningful-ooo/sponge
|
||||
nickeb96/puffer-fish
|
||||
jgusta/paths
|
||||
patrickf1/fzf.fish
|
||||
ivuorinen/phpenv.fish
|
||||
|
||||
@@ -26,7 +26,6 @@ Options:
|
||||
return 1
|
||||
end
|
||||
|
||||
|
||||
if set --query _flag_exact
|
||||
set --function apps (__macos_app_find --exact $argv)
|
||||
or return 1
|
||||
|
||||
@@ -139,7 +139,6 @@ Options:
|
||||
return 0
|
||||
end
|
||||
|
||||
|
||||
__macos_mac_touchid_sudo::check_supported
|
||||
or return
|
||||
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
function __ssh_agent_is_started -d "check if ssh agent is already started"
|
||||
if test -n "$SSH_CONNECTION"
|
||||
# This is an SSH session
|
||||
ssh-add -l > /dev/null 2>&1
|
||||
if test $status -eq 0 -o $status -eq 1
|
||||
# An SSH agent was forwarded
|
||||
return 0
|
||||
end
|
||||
end
|
||||
if test -n "$SSH_CONNECTION"
|
||||
# This is an SSH session
|
||||
ssh-add -l >/dev/null 2>&1
|
||||
if test $status -eq 0 -o $status -eq 1
|
||||
# An SSH agent was forwarded
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
||||
if begin; test -f "$SSH_ENV"; and test -z "$SSH_AGENT_PID"; end
|
||||
source $SSH_ENV > /dev/null
|
||||
end
|
||||
if begin
|
||||
test -f "$SSH_ENV"; and test -z "$SSH_AGENT_PID"
|
||||
end
|
||||
source $SSH_ENV >/dev/null
|
||||
end
|
||||
|
||||
if test -z "$SSH_AGENT_PID"
|
||||
return 1
|
||||
end
|
||||
if test -z "$SSH_AGENT_PID"
|
||||
return 1
|
||||
end
|
||||
|
||||
ssh-add -l > /dev/null 2>&1
|
||||
if test $status -eq 2
|
||||
return 1
|
||||
end
|
||||
ssh-add -l >/dev/null 2>&1
|
||||
if test $status -eq 2
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
function __ssh_agent_start -d "start a new ssh agent"
|
||||
ssh-agent -c | sed 's/^echo/#echo/' > $SSH_ENV
|
||||
chmod 600 $SSH_ENV
|
||||
source $SSH_ENV > /dev/null
|
||||
ssh-agent -c | sed 's/^echo/#echo/' >$SSH_ENV
|
||||
chmod 600 $SSH_ENV
|
||||
source $SSH_ENV >/dev/null
|
||||
end
|
||||
|
||||
43
config/fish/functions/_fzf_configure_bindings_help.fish
Normal file
43
config/fish/functions/_fzf_configure_bindings_help.fish
Normal file
@@ -0,0 +1,43 @@
|
||||
function _fzf_configure_bindings_help --description "Prints the help message for fzf_configure_bindings."
|
||||
echo "\
|
||||
USAGE:
|
||||
fzf_configure_bindings [--COMMAND=[KEY_SEQUENCE]...]
|
||||
|
||||
DESCRIPTION
|
||||
fzf_configure_bindings installs key bindings for fzf.fish's commands and erases any bindings it
|
||||
previously installed. It installs bindings for both default and insert modes. fzf.fish executes
|
||||
it without options on fish startup to install the out-of-the-box key bindings.
|
||||
|
||||
By default, commands are bound to a mnemonic key sequence, shown below. Each command's binding
|
||||
can be configured using a namesake corresponding option:
|
||||
COMMAND | DEFAULT KEY SEQUENCE | CORRESPONDING OPTION
|
||||
Search Directory | Ctrl+Alt+F (F for file) | --directory
|
||||
Search Git Log | Ctrl+Alt+L (L for log) | --git_log
|
||||
Search Git Status | Ctrl+Alt+S (S for status) | --git_status
|
||||
Search History | Ctrl+R (R for reverse) | --history
|
||||
Search Processes | Ctrl+Alt+P (P for process) | --processes
|
||||
Search Variables | Ctrl+V (V for variable) | --variables
|
||||
Override a command's binding by specifying its corresponding option with the desired key
|
||||
sequence. Disable a command's binding by specifying its corresponding option with no value.
|
||||
|
||||
Because fzf_configure_bindings erases bindings it previously installed, it can be cleanly
|
||||
executed multiple times. Once the desired fzf_configure_bindings command has been found, add it
|
||||
to your config.fish in order to persist the customized bindings.
|
||||
|
||||
In terms of validation, fzf_configure_bindings fails if passed unknown options. It expects an
|
||||
equals sign between an option's name and value. However, it does not validate key sequences.
|
||||
|
||||
Pass -h or --help to print this help message and exit.
|
||||
|
||||
EXAMPLES
|
||||
Default bindings but bind Search Directory to Ctrl+F and Search Variables to Ctrl+Alt+V
|
||||
\$ fzf_configure_bindings --directory=\cf --variables=\e\cv
|
||||
Default bindings but disable Search History
|
||||
\$ fzf_configure_bindings --history=
|
||||
An agglomeration of different options
|
||||
\$ fzf_configure_bindings --git_status=\cg --history=\ch --variables= --processes=
|
||||
|
||||
SEE Also
|
||||
To learn more about fish key bindings, see bind(1) and fish_key_reader(1).
|
||||
"
|
||||
end
|
||||
13
config/fish/functions/_fzf_extract_var_info.fish
Normal file
13
config/fish/functions/_fzf_extract_var_info.fish
Normal file
@@ -0,0 +1,13 @@
|
||||
# helper function for _fzf_search_variables
|
||||
function _fzf_extract_var_info --argument-names variable_name set_show_output --description "Extract and reformat lines pertaining to \$variable_name from \$set_show_output."
|
||||
# Extract only the lines about the variable, all of which begin with either
|
||||
# $variable_name: ...or... $variable_name[
|
||||
string match --regex "^\\\$$variable_name(?::|\[).*" <$set_show_output |
|
||||
# Strip the variable name prefix, including ": " for scope info lines
|
||||
string replace --regex "^\\\$$variable_name(?:: )?" '' |
|
||||
# Distill the lines of values, replacing...
|
||||
# [1]: |value|
|
||||
# ...with...
|
||||
# [1] value
|
||||
string replace --regex ": \|(.*)\|" ' $1'
|
||||
end
|
||||
49
config/fish/functions/_fzf_preview_changed_file.fish
Normal file
49
config/fish/functions/_fzf_preview_changed_file.fish
Normal file
@@ -0,0 +1,49 @@
|
||||
# helper for _fzf_search_git_status
|
||||
# arg should be a line from git status --short, e.g.
|
||||
# MM functions/_fzf_preview_changed_file.fish
|
||||
# D README.md
|
||||
# R LICENSE -> "New License"
|
||||
function _fzf_preview_changed_file --argument-names path_status --description "Show the git diff of the given file."
|
||||
# remove quotes because they'll be interpreted literally by git diff
|
||||
# no need to requote when referencing $path because fish does not perform word splitting
|
||||
# https://fishshell.com/docs/current/fish_for_bash_users.html
|
||||
set -f path (string unescape (string sub --start 4 $path_status))
|
||||
# first letter of short format shows index, second letter shows working tree
|
||||
# https://git-scm.com/docs/git-status/2.35.0#_short_format
|
||||
set -f index_status (string sub --length 1 $path_status)
|
||||
set -f working_tree_status (string sub --start 2 --length 1 $path_status)
|
||||
|
||||
set -f diff_opts --color=always
|
||||
|
||||
if test $index_status = '?'
|
||||
_fzf_report_diff_type Untracked
|
||||
_fzf_preview_file $path
|
||||
else if contains {$index_status}$working_tree_status DD AU UD UA DU AA UU
|
||||
# Unmerged statuses taken directly from git status help's short format table
|
||||
# Unmerged statuses are mutually exclusive with other statuses, so if we see
|
||||
# these, then safe to assume the path is unmerged
|
||||
_fzf_report_diff_type Unmerged
|
||||
git diff $diff_opts -- $path
|
||||
else
|
||||
if test $index_status != ' '
|
||||
_fzf_report_diff_type Staged
|
||||
|
||||
# renames are only detected in the index, never working tree, so only need to test for it here
|
||||
# https://stackoverflow.com/questions/73954214
|
||||
if test $index_status = R
|
||||
# diff the post-rename path with the original path, otherwise the diff will show the entire file as being added
|
||||
set -f orig_and_new_path (string split --max 1 -- ' -> ' $path)
|
||||
git diff --staged $diff_opts -- $orig_and_new_path[1] $orig_and_new_path[2]
|
||||
# path currently has the form of "original -> current", so we need to correct it before it's used below
|
||||
set path $orig_and_new_path[2]
|
||||
else
|
||||
git diff --staged $diff_opts -- $path
|
||||
end
|
||||
end
|
||||
|
||||
if test $working_tree_status != ' '
|
||||
_fzf_report_diff_type Unstaged
|
||||
git diff $diff_opts -- $path
|
||||
end
|
||||
end
|
||||
end
|
||||
43
config/fish/functions/_fzf_preview_file.fish
Normal file
43
config/fish/functions/_fzf_preview_file.fish
Normal file
@@ -0,0 +1,43 @@
|
||||
# helper function for _fzf_search_directory and _fzf_search_git_status
|
||||
function _fzf_preview_file --description "Print a preview for the given file based on its file type."
|
||||
# because there's no way to guarantee that _fzf_search_directory passes the path to _fzf_preview_file
|
||||
# as one argument, we collect all the arguments into one single variable and treat that as the path
|
||||
set -f file_path $argv
|
||||
|
||||
if test -L "$file_path" # symlink
|
||||
# notify user and recurse on the target of the symlink, which can be any of these file types
|
||||
set -l target_path (realpath "$file_path")
|
||||
|
||||
set_color yellow
|
||||
echo "'$file_path' is a symlink to '$target_path'."
|
||||
set_color normal
|
||||
|
||||
_fzf_preview_file "$target_path"
|
||||
else if test -f "$file_path" # regular file
|
||||
if set --query fzf_preview_file_cmd
|
||||
# need to escape quotes to make sure eval receives file_path as a single arg
|
||||
eval "$fzf_preview_file_cmd '$file_path'"
|
||||
else
|
||||
bat --style=numbers --color=always "$file_path"
|
||||
end
|
||||
else if test -d "$file_path" # directory
|
||||
if set --query fzf_preview_dir_cmd
|
||||
# see above
|
||||
eval "$fzf_preview_dir_cmd '$file_path'"
|
||||
else
|
||||
# -A list hidden files as well, except for . and ..
|
||||
# -F helps classify files by appending symbols after the file name
|
||||
command ls -A -F "$file_path"
|
||||
end
|
||||
else if test -c "$file_path"
|
||||
_fzf_report_file_type "$file_path" "character device file"
|
||||
else if test -b "$file_path"
|
||||
_fzf_report_file_type "$file_path" "block device file"
|
||||
else if test -S "$file_path"
|
||||
_fzf_report_file_type "$file_path" socket
|
||||
else if test -p "$file_path"
|
||||
_fzf_report_file_type "$file_path" "named pipe"
|
||||
else
|
||||
echo "$file_path doesn't exist." >&2
|
||||
end
|
||||
end
|
||||
18
config/fish/functions/_fzf_report_diff_type.fish
Normal file
18
config/fish/functions/_fzf_report_diff_type.fish
Normal file
@@ -0,0 +1,18 @@
|
||||
# helper for _fzf_preview_changed_file
|
||||
# prints out something like
|
||||
# ╭────────╮
|
||||
# │ Staged │
|
||||
# ╰────────╯
|
||||
function _fzf_report_diff_type --argument-names diff_type --description "Print a distinct colored header meant to preface a git patch."
|
||||
# number of "-" to draw is the length of the string to box + 2 for padding
|
||||
set -f repeat_count (math 2 + (string length $diff_type))
|
||||
set -f line (string repeat --count $repeat_count ─)
|
||||
set -f top_border ╭$line╮
|
||||
set -f btm_border ╰$line╯
|
||||
|
||||
set_color yellow
|
||||
echo $top_border
|
||||
echo "│ $diff_type │"
|
||||
echo $btm_border
|
||||
set_color normal
|
||||
end
|
||||
6
config/fish/functions/_fzf_report_file_type.fish
Normal file
6
config/fish/functions/_fzf_report_file_type.fish
Normal file
@@ -0,0 +1,6 @@
|
||||
# helper function for _fzf_preview_file
|
||||
function _fzf_report_file_type --argument-names file_path file_type --description "Explain the file type for a file."
|
||||
set_color red
|
||||
echo "Cannot preview '$file_path': it is a $file_type."
|
||||
set_color normal
|
||||
end
|
||||
32
config/fish/functions/_fzf_search_directory.fish
Normal file
32
config/fish/functions/_fzf_search_directory.fish
Normal file
@@ -0,0 +1,32 @@
|
||||
function _fzf_search_directory --description "Search the current directory. Replace the current token with the selected file paths."
|
||||
# Directly use fd binary to avoid output buffering delay caused by a fd alias, if any.
|
||||
# Debian-based distros install fd as fdfind and the fd package is something else, so
|
||||
# check for fdfind first. Fall back to "fd" for a clear error message.
|
||||
set -f fd_cmd (command -v fdfind || command -v fd || echo "fd")
|
||||
set -f --append fd_cmd --color=always $fzf_fd_opts
|
||||
|
||||
set -f fzf_arguments --multi --ansi $fzf_directory_opts
|
||||
set -f token (commandline --current-token)
|
||||
# expand any variables or leading tilde (~) in the token
|
||||
set -f expanded_token (eval echo -- $token)
|
||||
# unescape token because it's already quoted so backslashes will mess up the path
|
||||
set -f unescaped_exp_token (string unescape -- $expanded_token)
|
||||
|
||||
# If the current token is a directory and has a trailing slash,
|
||||
# then use it as fd's base directory.
|
||||
if string match --quiet -- "*/" $unescaped_exp_token && test -d "$unescaped_exp_token"
|
||||
set --append fd_cmd --base-directory=$unescaped_exp_token
|
||||
# use the directory name as fzf's prompt to indicate the search is limited to that directory
|
||||
set --prepend fzf_arguments --prompt="Directory $unescaped_exp_token> " --preview="_fzf_preview_file $expanded_token{}"
|
||||
set -f file_paths_selected $unescaped_exp_token($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments)
|
||||
else
|
||||
set --prepend fzf_arguments --prompt="Directory> " --query="$unescaped_exp_token" --preview='_fzf_preview_file {}'
|
||||
set -f file_paths_selected ($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments)
|
||||
end
|
||||
|
||||
if test $status -eq 0
|
||||
commandline --current-token --replace -- (string escape -- $file_paths_selected | string join ' ')
|
||||
end
|
||||
|
||||
commandline --function repaint
|
||||
end
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user